1{ 2 "testCases": [ 3 { 4 "documentation": "Vanilla outposts without ARN region + access point ARN@us-west-2", 5 "expect": { 6 "endpoint": { 7 "headers": { 8 "x-amz-account-id": [ 9 "123456789012" 10 ], 11 "x-amz-outpost-id": [ 12 "op-01234567890123456" 13 ] 14 }, 15 "properties": { 16 "authSchemes": [ 17 { 18 "name": "sigv4", 19 "signingName": "s3-outposts", 20 "signingRegion": "us-west-2", 21 "disableDoubleEncoding": true 22 } 23 ] 24 }, 25 "url": "https://s3-outposts.us-west-2.amazonaws.com" 26 } 27 }, 28 "operationInputs": [ 29 { 30 "builtInParams": { 31 "AWS::Region": "us-west-2" 32 }, 33 "operationName": "GetAccessPoint", 34 "operationParams": { 35 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 36 "AccountId": "123456789012" 37 } 38 }, 39 { 40 "builtInParams": { 41 "AWS::Region": "us-west-2" 42 }, 43 "operationName": "DeleteAccessPoint", 44 "operationParams": { 45 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 46 "AccountId": "123456789012" 47 } 48 } 49 ], 50 "params": { 51 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 52 "AccountId": "123456789012", 53 "Region": "us-west-2", 54 "RequiresAccountId": true, 55 "UseDualStack": false, 56 "UseFIPS": false 57 } 58 }, 59 { 60 "documentation": "Vanilla outposts with ARN region + access point ARN@us-west-2", 61 "expect": { 62 "endpoint": { 63 "headers": { 64 "x-amz-account-id": [ 65 "123456789012" 66 ], 67 "x-amz-outpost-id": [ 68 "op-01234567890123456" 69 ] 70 }, 71 "properties": { 72 "authSchemes": [ 73 { 74 "name": "sigv4", 75 "signingName": "s3-outposts", 76 "signingRegion": "us-east-1", 77 "disableDoubleEncoding": true 78 } 79 ] 80 }, 81 "url": "https://s3-outposts.us-east-1.amazonaws.com" 82 } 83 }, 84 "operationInputs": [ 85 { 86 "builtInParams": { 87 "AWS::Region": "us-west-2" 88 }, 89 "operationName": "GetAccessPoint", 90 "operationParams": { 91 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 92 "AccountId": "123456789012" 93 } 94 }, 95 { 96 "builtInParams": { 97 "AWS::Region": "us-west-2" 98 }, 99 "operationName": "DeleteAccessPoint", 100 "operationParams": { 101 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 102 "AccountId": "123456789012" 103 } 104 } 105 ], 106 "params": { 107 "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 108 "AccountId": "123456789012", 109 "Region": "us-west-2", 110 "RequiresAccountId": true, 111 "UseDualStack": false, 112 "UseFIPS": false 113 } 114 }, 115 { 116 "documentation": "accept an access point ARN@us-west-2", 117 "expect": { 118 "endpoint": { 119 "headers": { 120 "x-amz-account-id": [ 121 "123456789012" 122 ], 123 "x-amz-outpost-id": [ 124 "op-01234567890123456" 125 ] 126 }, 127 "properties": { 128 "authSchemes": [ 129 { 130 "name": "sigv4", 131 "signingName": "s3-outposts", 132 "signingRegion": "us-west-2", 133 "disableDoubleEncoding": true 134 } 135 ] 136 }, 137 "url": "https://s3-outposts.us-west-2.amazonaws.com" 138 } 139 }, 140 "operationInputs": [ 141 { 142 "builtInParams": { 143 "AWS::Region": "us-west-2" 144 }, 145 "operationName": "GetAccessPoint", 146 "operationParams": { 147 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 148 "AccountId": "123456789012" 149 } 150 }, 151 { 152 "builtInParams": { 153 "AWS::Region": "us-west-2" 154 }, 155 "operationName": "DeleteAccessPoint", 156 "operationParams": { 157 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 158 "AccountId": "123456789012" 159 } 160 } 161 ], 162 "params": { 163 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 164 "AccountId": "123456789012", 165 "Region": "us-west-2", 166 "RequiresAccountId": true, 167 "UseDualStack": false, 168 "UseFIPS": false 169 } 170 }, 171 { 172 "documentation": "vanilla outposts china@cn-north-1", 173 "expect": { 174 "endpoint": { 175 "headers": { 176 "x-amz-account-id": [ 177 "123456789012" 178 ], 179 "x-amz-outpost-id": [ 180 "op-01234567890123456" 181 ] 182 }, 183 "properties": { 184 "authSchemes": [ 185 { 186 "name": "sigv4", 187 "signingName": "s3-outposts", 188 "signingRegion": "cn-north-1", 189 "disableDoubleEncoding": true 190 } 191 ] 192 }, 193 "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn" 194 } 195 }, 196 "operationInputs": [ 197 { 198 "builtInParams": { 199 "AWS::Region": "cn-north-1" 200 }, 201 "operationName": "GetAccessPoint", 202 "operationParams": { 203 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 204 "AccountId": "123456789012" 205 } 206 }, 207 { 208 "builtInParams": { 209 "AWS::Region": "cn-north-1" 210 }, 211 "operationName": "DeleteAccessPoint", 212 "operationParams": { 213 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 214 "AccountId": "123456789012" 215 } 216 } 217 ], 218 "params": { 219 "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 220 "AccountId": "123456789012", 221 "Region": "cn-north-1", 222 "RequiresAccountId": true, 223 "UseDualStack": false, 224 "UseFIPS": false 225 } 226 }, 227 { 228 "documentation": "gov region@us-west-2", 229 "expect": { 230 "endpoint": { 231 "headers": { 232 "x-amz-account-id": [ 233 "123456789012" 234 ], 235 "x-amz-outpost-id": [ 236 "op-01234567890123456" 237 ] 238 }, 239 "properties": { 240 "authSchemes": [ 241 { 242 "name": "sigv4", 243 "signingName": "s3-outposts", 244 "signingRegion": "us-west-2", 245 "disableDoubleEncoding": true 246 } 247 ] 248 }, 249 "url": "https://s3-outposts.us-west-2.amazonaws.com" 250 } 251 }, 252 "operationInputs": [ 253 { 254 "builtInParams": { 255 "AWS::Region": "us-west-2" 256 }, 257 "operationName": "GetAccessPoint", 258 "operationParams": { 259 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 260 "AccountId": "123456789012" 261 } 262 }, 263 { 264 "builtInParams": { 265 "AWS::Region": "us-west-2" 266 }, 267 "operationName": "DeleteAccessPoint", 268 "operationParams": { 269 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 270 "AccountId": "123456789012" 271 } 272 } 273 ], 274 "params": { 275 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 276 "AccountId": "123456789012", 277 "Region": "us-west-2", 278 "RequiresAccountId": true, 279 "UseDualStack": false, 280 "UseFIPS": false 281 } 282 }, 283 { 284 "documentation": "gov cloud with fips@us-west-2", 285 "expect": { 286 "endpoint": { 287 "headers": { 288 "x-amz-account-id": [ 289 "123456789012" 290 ], 291 "x-amz-outpost-id": [ 292 "op-01234567890123456" 293 ] 294 }, 295 "properties": { 296 "authSchemes": [ 297 { 298 "name": "sigv4", 299 "signingName": "s3-outposts", 300 "signingRegion": "us-west-2", 301 "disableDoubleEncoding": true 302 } 303 ] 304 }, 305 "url": "https://s3-outposts-fips.us-west-2.amazonaws.com" 306 } 307 }, 308 "operationInputs": [ 309 { 310 "builtInParams": { 311 "AWS::Region": "us-west-2", 312 "AWS::UseFIPS": true 313 }, 314 "operationName": "GetAccessPoint", 315 "operationParams": { 316 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 317 "AccountId": "123456789012" 318 } 319 }, 320 { 321 "builtInParams": { 322 "AWS::Region": "us-west-2", 323 "AWS::UseFIPS": true 324 }, 325 "operationName": "DeleteAccessPoint", 326 "operationParams": { 327 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 328 "AccountId": "123456789012" 329 } 330 } 331 ], 332 "params": { 333 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 334 "AccountId": "123456789012", 335 "Region": "us-west-2", 336 "RequiresAccountId": true, 337 "UseDualStack": false, 338 "UseFIPS": true 339 } 340 }, 341 { 342 "documentation": "govcloud with fips + arn region@us-gov-west-1", 343 "expect": { 344 "endpoint": { 345 "headers": { 346 "x-amz-account-id": [ 347 "123456789012" 348 ], 349 "x-amz-outpost-id": [ 350 "op-01234567890123456" 351 ] 352 }, 353 "properties": { 354 "authSchemes": [ 355 { 356 "name": "sigv4", 357 "signingName": "s3-outposts", 358 "signingRegion": "us-gov-east-1", 359 "disableDoubleEncoding": true 360 } 361 ] 362 }, 363 "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com" 364 } 365 }, 366 "operationInputs": [ 367 { 368 "builtInParams": { 369 "AWS::Region": "us-gov-west-1", 370 "AWS::UseFIPS": true 371 }, 372 "operationName": "GetAccessPoint", 373 "operationParams": { 374 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 375 "AccountId": "123456789012" 376 } 377 }, 378 { 379 "builtInParams": { 380 "AWS::Region": "us-gov-west-1", 381 "AWS::UseFIPS": true 382 }, 383 "operationName": "DeleteAccessPoint", 384 "operationParams": { 385 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 386 "AccountId": "123456789012" 387 } 388 } 389 ], 390 "params": { 391 "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 392 "AccountId": "123456789012", 393 "Region": "us-gov-west-1", 394 "RequiresAccountId": true, 395 "UseDualStack": false, 396 "UseFIPS": true 397 } 398 }, 399 { 400 "documentation": "gov region@cn-north-1", 401 "expect": { 402 "endpoint": { 403 "headers": { 404 "x-amz-account-id": [ 405 "123456789012" 406 ], 407 "x-amz-outpost-id": [ 408 "op-01234567890123456" 409 ] 410 }, 411 "properties": { 412 "authSchemes": [ 413 { 414 "name": "sigv4", 415 "signingName": "s3-outposts", 416 "signingRegion": "cn-north-1", 417 "disableDoubleEncoding": true 418 } 419 ] 420 }, 421 "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn" 422 } 423 }, 424 "operationInputs": [ 425 { 426 "builtInParams": { 427 "AWS::Region": "cn-north-1" 428 }, 429 "operationName": "GetAccessPoint", 430 "operationParams": { 431 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 432 "AccountId": "123456789012" 433 } 434 }, 435 { 436 "builtInParams": { 437 "AWS::Region": "cn-north-1" 438 }, 439 "operationName": "DeleteAccessPoint", 440 "operationParams": { 441 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 442 "AccountId": "123456789012" 443 } 444 } 445 ], 446 "params": { 447 "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 448 "AccountId": "123456789012", 449 "Region": "cn-north-1", 450 "RequiresAccountId": true, 451 "UseDualStack": false, 452 "UseFIPS": false 453 } 454 }, 455 { 456 "documentation": "gov cloud with fips@cn-north-1", 457 "expect": { 458 "endpoint": { 459 "headers": { 460 "x-amz-account-id": [ 461 "123456789012" 462 ], 463 "x-amz-outpost-id": [ 464 "op-01234567890123456" 465 ] 466 }, 467 "properties": { 468 "authSchemes": [ 469 { 470 "name": "sigv4", 471 "signingName": "s3-outposts", 472 "signingRegion": "cn-north-1", 473 "disableDoubleEncoding": true 474 } 475 ] 476 }, 477 "url": "https://s3-outposts-fips.cn-north-1.amazonaws.com.cn" 478 } 479 }, 480 "operationInputs": [ 481 { 482 "builtInParams": { 483 "AWS::Region": "cn-north-1", 484 "AWS::UseFIPS": true 485 }, 486 "operationName": "GetAccessPoint", 487 "operationParams": { 488 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 489 "AccountId": "123456789012" 490 } 491 }, 492 { 493 "builtInParams": { 494 "AWS::Region": "cn-north-1", 495 "AWS::UseFIPS": true 496 }, 497 "operationName": "DeleteAccessPoint", 498 "operationParams": { 499 "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 500 "AccountId": "123456789012" 501 } 502 } 503 ], 504 "params": { 505 "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 506 "AccountId": "123456789012", 507 "Region": "cn-north-1", 508 "RequiresAccountId": true, 509 "UseDualStack": false, 510 "UseFIPS": true 511 } 512 }, 513 { 514 "documentation": "govcloud with fips + arn region@us-gov-west-1", 515 "expect": { 516 "endpoint": { 517 "headers": { 518 "x-amz-account-id": [ 519 "123456789012" 520 ], 521 "x-amz-outpost-id": [ 522 "op-01234567890123456" 523 ] 524 }, 525 "properties": { 526 "authSchemes": [ 527 { 528 "name": "sigv4", 529 "signingName": "s3-outposts", 530 "signingRegion": "us-gov-east-1", 531 "disableDoubleEncoding": true 532 } 533 ] 534 }, 535 "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com" 536 } 537 }, 538 "operationInputs": [ 539 { 540 "builtInParams": { 541 "AWS::Region": "us-gov-west-1", 542 "AWS::UseFIPS": true 543 }, 544 "operationName": "GetAccessPoint", 545 "operationParams": { 546 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 547 "AccountId": "123456789012" 548 } 549 }, 550 { 551 "builtInParams": { 552 "AWS::Region": "us-gov-west-1", 553 "AWS::UseFIPS": true 554 }, 555 "operationName": "DeleteAccessPoint", 556 "operationParams": { 557 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 558 "AccountId": "123456789012" 559 } 560 } 561 ], 562 "params": { 563 "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 564 "AccountId": "123456789012", 565 "Region": "us-gov-west-1", 566 "RequiresAccountId": true, 567 "UseDualStack": false, 568 "UseFIPS": true 569 } 570 }, 571 { 572 "documentation": "gov region@af-south-1", 573 "expect": { 574 "endpoint": { 575 "headers": { 576 "x-amz-account-id": [ 577 "123456789012" 578 ], 579 "x-amz-outpost-id": [ 580 "op-01234567890123456" 581 ] 582 }, 583 "properties": { 584 "authSchemes": [ 585 { 586 "name": "sigv4", 587 "signingName": "s3-outposts", 588 "signingRegion": "af-south-1", 589 "disableDoubleEncoding": true 590 } 591 ] 592 }, 593 "url": "https://s3-outposts.af-south-1.amazonaws.com" 594 } 595 }, 596 "operationInputs": [ 597 { 598 "builtInParams": { 599 "AWS::Region": "af-south-1" 600 }, 601 "operationName": "GetAccessPoint", 602 "operationParams": { 603 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 604 "AccountId": "123456789012" 605 } 606 }, 607 { 608 "builtInParams": { 609 "AWS::Region": "af-south-1" 610 }, 611 "operationName": "DeleteAccessPoint", 612 "operationParams": { 613 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 614 "AccountId": "123456789012" 615 } 616 } 617 ], 618 "params": { 619 "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 620 "AccountId": "123456789012", 621 "Region": "af-south-1", 622 "RequiresAccountId": true, 623 "UseDualStack": false, 624 "UseFIPS": false 625 } 626 }, 627 { 628 "documentation": "gov cloud with fips@af-south-1", 629 "expect": { 630 "endpoint": { 631 "headers": { 632 "x-amz-account-id": [ 633 "123456789012" 634 ], 635 "x-amz-outpost-id": [ 636 "op-01234567890123456" 637 ] 638 }, 639 "properties": { 640 "authSchemes": [ 641 { 642 "name": "sigv4", 643 "signingName": "s3-outposts", 644 "signingRegion": "af-south-1", 645 "disableDoubleEncoding": true 646 } 647 ] 648 }, 649 "url": "https://s3-outposts-fips.af-south-1.amazonaws.com" 650 } 651 }, 652 "operationInputs": [ 653 { 654 "builtInParams": { 655 "AWS::Region": "af-south-1", 656 "AWS::UseFIPS": true 657 }, 658 "operationName": "GetAccessPoint", 659 "operationParams": { 660 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 661 "AccountId": "123456789012" 662 } 663 }, 664 { 665 "builtInParams": { 666 "AWS::Region": "af-south-1", 667 "AWS::UseFIPS": true 668 }, 669 "operationName": "DeleteAccessPoint", 670 "operationParams": { 671 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 672 "AccountId": "123456789012" 673 } 674 } 675 ], 676 "params": { 677 "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 678 "AccountId": "123456789012", 679 "Region": "af-south-1", 680 "RequiresAccountId": true, 681 "UseDualStack": false, 682 "UseFIPS": true 683 } 684 }, 685 { 686 "documentation": "govcloud with fips + arn region@us-gov-west-1", 687 "expect": { 688 "endpoint": { 689 "headers": { 690 "x-amz-account-id": [ 691 "123456789012" 692 ], 693 "x-amz-outpost-id": [ 694 "op-01234567890123456" 695 ] 696 }, 697 "properties": { 698 "authSchemes": [ 699 { 700 "name": "sigv4", 701 "signingName": "s3-outposts", 702 "signingRegion": "us-gov-east-1", 703 "disableDoubleEncoding": true 704 } 705 ] 706 }, 707 "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com" 708 } 709 }, 710 "operationInputs": [ 711 { 712 "builtInParams": { 713 "AWS::Region": "us-gov-west-1", 714 "AWS::UseFIPS": true 715 }, 716 "operationName": "GetAccessPoint", 717 "operationParams": { 718 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 719 "AccountId": "123456789012" 720 } 721 }, 722 { 723 "builtInParams": { 724 "AWS::Region": "us-gov-west-1", 725 "AWS::UseFIPS": true 726 }, 727 "operationName": "DeleteAccessPoint", 728 "operationParams": { 729 "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 730 "AccountId": "123456789012" 731 } 732 } 733 ], 734 "params": { 735 "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 736 "AccountId": "123456789012", 737 "Region": "us-gov-west-1", 738 "RequiresAccountId": true, 739 "UseDualStack": false, 740 "UseFIPS": true 741 } 742 }, 743 { 744 "documentation": "CreateBucket + OutpostId = outposts endpoint@us-east-2", 745 "expect": { 746 "endpoint": { 747 "properties": { 748 "authSchemes": [ 749 { 750 "name": "sigv4", 751 "signingName": "s3-outposts", 752 "signingRegion": "us-east-2", 753 "disableDoubleEncoding": true 754 } 755 ] 756 }, 757 "url": "https://s3-outposts.us-east-2.amazonaws.com" 758 } 759 }, 760 "operationInputs": [ 761 { 762 "builtInParams": { 763 "AWS::Region": "us-east-2" 764 }, 765 "operationName": "CreateBucket", 766 "operationParams": { 767 "Bucket": "blah", 768 "OutpostId": "123" 769 } 770 } 771 ], 772 "params": { 773 "Bucket": "blah", 774 "OutpostId": "123", 775 "Region": "us-east-2", 776 "RequiresAccountId": false, 777 "UseDualStack": false, 778 "UseFIPS": false 779 } 780 }, 781 { 782 "documentation": "CreateBucket + OutpostId with fips = outposts endpoint@us-east-2", 783 "expect": { 784 "endpoint": { 785 "properties": { 786 "authSchemes": [ 787 { 788 "name": "sigv4", 789 "signingName": "s3-outposts", 790 "signingRegion": "us-east-2", 791 "disableDoubleEncoding": true 792 } 793 ] 794 }, 795 "url": "https://s3-outposts-fips.us-east-2.amazonaws.com" 796 } 797 }, 798 "operationInputs": [ 799 { 800 "builtInParams": { 801 "AWS::Region": "us-east-2", 802 "AWS::UseFIPS": true 803 }, 804 "operationName": "CreateBucket", 805 "operationParams": { 806 "Bucket": "blah", 807 "OutpostId": "123" 808 } 809 } 810 ], 811 "params": { 812 "Bucket": "blah", 813 "OutpostId": "123", 814 "Region": "us-east-2", 815 "RequiresAccountId": false, 816 "UseDualStack": false, 817 "UseFIPS": true 818 } 819 }, 820 { 821 "documentation": "CreateBucket without OutpostId = regular endpoint@us-east-2", 822 "expect": { 823 "endpoint": { 824 "properties": { 825 "authSchemes": [ 826 { 827 "name": "sigv4", 828 "signingName": "s3", 829 "signingRegion": "us-east-2", 830 "disableDoubleEncoding": true 831 } 832 ] 833 }, 834 "url": "https://s3-control.us-east-2.amazonaws.com" 835 } 836 }, 837 "operationInputs": [ 838 { 839 "builtInParams": { 840 "AWS::Region": "us-east-2" 841 }, 842 "operationName": "CreateBucket", 843 "operationParams": { 844 "Bucket": "blah" 845 } 846 } 847 ], 848 "params": { 849 "Bucket": "blah", 850 "Region": "us-east-2", 851 "RequiresAccountId": false, 852 "UseDualStack": false, 853 "UseFIPS": false 854 } 855 }, 856 { 857 "documentation": "ListRegionalBuckets + OutpostId = outposts endpoint@us-east-2", 858 "expect": { 859 "endpoint": { 860 "properties": { 861 "authSchemes": [ 862 { 863 "name": "sigv4", 864 "signingName": "s3-outposts", 865 "signingRegion": "us-east-2", 866 "disableDoubleEncoding": true 867 } 868 ] 869 }, 870 "url": "https://s3-outposts.us-east-2.amazonaws.com" 871 } 872 }, 873 "operationInputs": [ 874 { 875 "builtInParams": { 876 "AWS::Region": "us-east-2" 877 }, 878 "operationName": "ListRegionalBuckets", 879 "operationParams": { 880 "AccountId": "123456789012", 881 "OutpostId": "op-123" 882 } 883 } 884 ], 885 "params": { 886 "AccountId": "123456789012", 887 "OutpostId": "op-123", 888 "Region": "us-east-2", 889 "RequiresAccountId": true, 890 "UseDualStack": false, 891 "UseFIPS": false 892 } 893 }, 894 { 895 "documentation": "ListRegionalBuckets without OutpostId = regular endpoint@us-east-2", 896 "expect": { 897 "endpoint": { 898 "properties": { 899 "authSchemes": [ 900 { 901 "name": "sigv4", 902 "signingName": "s3", 903 "signingRegion": "us-east-2", 904 "disableDoubleEncoding": true 905 } 906 ] 907 }, 908 "url": "https://123456789012.s3-control.us-east-2.amazonaws.com" 909 } 910 }, 911 "operationInputs": [ 912 { 913 "builtInParams": { 914 "AWS::Region": "us-east-2" 915 }, 916 "operationName": "ListRegionalBuckets", 917 "operationParams": { 918 "AccountId": "123456789012" 919 } 920 } 921 ], 922 "params": { 923 "AccountId": "123456789012", 924 "Region": "us-east-2", 925 "RequiresAccountId": true, 926 "UseDualStack": false, 927 "UseFIPS": false 928 } 929 }, 930 { 931 "documentation": "ListRegionalBucket + OutpostId with fips = outposts endpoint@us-east-2", 932 "expect": { 933 "endpoint": { 934 "properties": { 935 "authSchemes": [ 936 { 937 "name": "sigv4", 938 "signingName": "s3-outposts", 939 "signingRegion": "us-east-2", 940 "disableDoubleEncoding": true 941 } 942 ] 943 }, 944 "url": "https://s3-outposts-fips.us-east-2.amazonaws.com" 945 } 946 }, 947 "operationInputs": [ 948 { 949 "builtInParams": { 950 "AWS::Region": "us-east-2", 951 "AWS::UseFIPS": true 952 }, 953 "operationName": "ListRegionalBuckets", 954 "operationParams": { 955 "AccountId": "123456789012", 956 "OutpostId": "op-123" 957 } 958 } 959 ], 960 "params": { 961 "AccountId": "123456789012", 962 "OutpostId": "op-123", 963 "Region": "us-east-2", 964 "RequiresAccountId": true, 965 "UseDualStack": false, 966 "UseFIPS": true 967 } 968 }, 969 { 970 "documentation": "outpost access points support dualstack@us-west-2", 971 "expect": { 972 "endpoint": { 973 "headers": { 974 "x-amz-account-id": [ 975 "123456789012" 976 ], 977 "x-amz-outpost-id": [ 978 "op-01234567890123456" 979 ] 980 }, 981 "properties": { 982 "authSchemes": [ 983 { 984 "name": "sigv4", 985 "signingName": "s3-outposts", 986 "signingRegion": "us-west-2", 987 "disableDoubleEncoding": true 988 } 989 ] 990 }, 991 "url": "https://s3-outposts.us-west-2.api.aws" 992 } 993 }, 994 "operationInputs": [ 995 { 996 "builtInParams": { 997 "AWS::Region": "us-west-2", 998 "AWS::UseDualStack": true 999 }, 1000 "operationName": "GetAccessPoint", 1001 "operationParams": { 1002 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1003 "AccountId": "123456789012" 1004 } 1005 }, 1006 { 1007 "builtInParams": { 1008 "AWS::Region": "us-west-2", 1009 "AWS::UseDualStack": true 1010 }, 1011 "operationName": "DeleteAccessPoint", 1012 "operationParams": { 1013 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1014 "AccountId": "123456789012" 1015 } 1016 } 1017 ], 1018 "params": { 1019 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1020 "AccountId": "123456789012", 1021 "Region": "us-west-2", 1022 "RequiresAccountId": true, 1023 "UseDualStack": true, 1024 "UseFIPS": false 1025 } 1026 }, 1027 { 1028 "documentation": "outpost access points support dualstack@af-south-1", 1029 "expect": { 1030 "endpoint": { 1031 "headers": { 1032 "x-amz-account-id": [ 1033 "123456789012" 1034 ], 1035 "x-amz-outpost-id": [ 1036 "op-01234567890123456" 1037 ] 1038 }, 1039 "properties": { 1040 "authSchemes": [ 1041 { 1042 "name": "sigv4", 1043 "signingName": "s3-outposts", 1044 "signingRegion": "af-south-1", 1045 "disableDoubleEncoding": true 1046 } 1047 ] 1048 }, 1049 "url": "https://s3-outposts.af-south-1.api.aws" 1050 } 1051 }, 1052 "operationInputs": [ 1053 { 1054 "builtInParams": { 1055 "AWS::Region": "af-south-1", 1056 "AWS::UseDualStack": true 1057 }, 1058 "operationName": "GetAccessPoint", 1059 "operationParams": { 1060 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1061 "AccountId": "123456789012" 1062 } 1063 }, 1064 { 1065 "builtInParams": { 1066 "AWS::Region": "af-south-1", 1067 "AWS::UseDualStack": true 1068 }, 1069 "operationName": "DeleteAccessPoint", 1070 "operationParams": { 1071 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1072 "AccountId": "123456789012" 1073 } 1074 } 1075 ], 1076 "params": { 1077 "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1078 "AccountId": "123456789012", 1079 "Region": "af-south-1", 1080 "RequiresAccountId": true, 1081 "UseDualStack": true, 1082 "UseFIPS": false 1083 } 1084 }, 1085 { 1086 "documentation": "outpost access points support fips + dualstack@af-south-1", 1087 "expect": { 1088 "endpoint": { 1089 "headers": { 1090 "x-amz-account-id": [ 1091 "123456789012" 1092 ], 1093 "x-amz-outpost-id": [ 1094 "op-01234567890123456" 1095 ] 1096 }, 1097 "properties": { 1098 "authSchemes": [ 1099 { 1100 "name": "sigv4", 1101 "signingName": "s3-outposts", 1102 "signingRegion": "af-south-1", 1103 "disableDoubleEncoding": true 1104 } 1105 ] 1106 }, 1107 "url": "https://s3-outposts-fips.af-south-1.api.aws" 1108 } 1109 }, 1110 "operationInputs": [ 1111 { 1112 "builtInParams": { 1113 "AWS::Region": "af-south-1", 1114 "AWS::UseFIPS": true, 1115 "AWS::UseDualStack": true 1116 }, 1117 "operationName": "GetAccessPoint", 1118 "operationParams": { 1119 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1120 "AccountId": "123456789012" 1121 } 1122 }, 1123 { 1124 "builtInParams": { 1125 "AWS::Region": "af-south-1", 1126 "AWS::UseFIPS": true, 1127 "AWS::UseDualStack": true 1128 }, 1129 "operationName": "DeleteAccessPoint", 1130 "operationParams": { 1131 "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1132 "AccountId": "123456789012" 1133 } 1134 } 1135 ], 1136 "params": { 1137 "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1138 "AccountId": "123456789012", 1139 "Region": "af-south-1", 1140 "RequiresAccountId": true, 1141 "UseDualStack": true, 1142 "UseFIPS": true 1143 } 1144 }, 1145 { 1146 "documentation": "invalid ARN: must be include outpost ID@us-west-2", 1147 "expect": { 1148 "error": "Invalid ARN: The Outpost Id was not set" 1149 }, 1150 "params": { 1151 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost", 1152 "AccountId": "123456789012", 1153 "Region": "us-west-2", 1154 "RequiresAccountId": true, 1155 "UseDualStack": false, 1156 "UseFIPS": false 1157 } 1158 }, 1159 { 1160 "documentation": "invalid ARN: must specify access point@us-west-2", 1161 "expect": { 1162 "error": "Invalid ARN: Expected a 4-component resource" 1163 }, 1164 "params": { 1165 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456", 1166 "Region": "us-west-2", 1167 "RequiresAccountId": true, 1168 "UseDualStack": false, 1169 "UseFIPS": false 1170 } 1171 }, 1172 { 1173 "documentation": "invalid ARN@us-west-2", 1174 "expect": { 1175 "error": "Invalid ARN: Expected a 4-component resource" 1176 }, 1177 "params": { 1178 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:myaccesspoint", 1179 "Region": "us-west-2", 1180 "RequiresAccountId": true, 1181 "UseDualStack": false, 1182 "UseFIPS": false 1183 } 1184 }, 1185 { 1186 "documentation": "when set, AccountId drives AP construction@us-west-2", 1187 "expect": { 1188 "endpoint": { 1189 "properties": { 1190 "authSchemes": [ 1191 { 1192 "name": "sigv4", 1193 "signingName": "s3", 1194 "signingRegion": "us-west-2", 1195 "disableDoubleEncoding": true 1196 } 1197 ] 1198 }, 1199 "url": "https://myid-1234.s3-control.us-west-2.amazonaws.com" 1200 } 1201 }, 1202 "params": { 1203 "AccessPointName": "myaccesspoint", 1204 "AccountId": "myid-1234", 1205 "Region": "us-west-2", 1206 "RequiresAccountId": true, 1207 "UseDualStack": false, 1208 "UseFIPS": false 1209 } 1210 }, 1211 { 1212 "documentation": "Account ID set inline and in ARN but they both match@us-west-2", 1213 "expect": { 1214 "endpoint": { 1215 "headers": { 1216 "x-amz-account-id": [ 1217 "123456789012" 1218 ], 1219 "x-amz-outpost-id": [ 1220 "op-01234567890123456" 1221 ] 1222 }, 1223 "properties": { 1224 "authSchemes": [ 1225 { 1226 "name": "sigv4", 1227 "signingName": "s3-outposts", 1228 "signingRegion": "us-west-2", 1229 "disableDoubleEncoding": true 1230 } 1231 ] 1232 }, 1233 "url": "https://s3-outposts.us-west-2.amazonaws.com" 1234 } 1235 }, 1236 "operationInputs": [ 1237 { 1238 "builtInParams": { 1239 "AWS::Region": "us-west-2", 1240 "AWS::S3Control::UseArnRegion": false 1241 }, 1242 "operationName": "GetAccessPoint", 1243 "operationParams": { 1244 "AccountId": "123456789012", 1245 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" 1246 } 1247 } 1248 ], 1249 "params": { 1250 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1251 "AccountId": "123456789012", 1252 "Region": "us-west-2", 1253 "RequiresAccountId": true, 1254 "UseArnRegion": false, 1255 "UseDualStack": false, 1256 "UseFIPS": false 1257 } 1258 }, 1259 { 1260 "documentation": "Account ID set inline and in ARN and they do not match@us-west-2", 1261 "expect": { 1262 "error": "Invalid ARN: the accountId specified in the ARN (`123456789012`) does not match the parameter (`999999999999`)" 1263 }, 1264 "operationInputs": [ 1265 { 1266 "builtInParams": { 1267 "AWS::Region": "us-west-2", 1268 "AWS::S3Control::UseArnRegion": false 1269 }, 1270 "operationName": "GetAccessPoint", 1271 "operationParams": { 1272 "AccountId": "999999999999", 1273 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint" 1274 } 1275 } 1276 ], 1277 "params": { 1278 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1279 "AccountId": "999999999999", 1280 "Region": "us-west-2", 1281 "RequiresAccountId": true, 1282 "UseArnRegion": false, 1283 "UseDualStack": false, 1284 "UseFIPS": false 1285 } 1286 }, 1287 { 1288 "documentation": "get access point prefixed with account id using endpoint url@us-west-2", 1289 "expect": { 1290 "endpoint": { 1291 "properties": { 1292 "authSchemes": [ 1293 { 1294 "name": "sigv4", 1295 "signingName": "s3", 1296 "signingRegion": "us-west-2", 1297 "disableDoubleEncoding": true 1298 } 1299 ] 1300 }, 1301 "url": "https://123456789012.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 1302 } 1303 }, 1304 "operationInputs": [ 1305 { 1306 "builtInParams": { 1307 "AWS::Region": "us-west-2", 1308 "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com" 1309 }, 1310 "operationName": "GetAccessPoint", 1311 "operationParams": { 1312 "AccountId": "123456789012", 1313 "Name": "apname" 1314 } 1315 } 1316 ], 1317 "params": { 1318 "AccessPointName": "apname", 1319 "AccountId": "123456789012", 1320 "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com", 1321 "Region": "us-west-2", 1322 "RequiresAccountId": true, 1323 "UseDualStack": false, 1324 "UseFIPS": false 1325 } 1326 }, 1327 { 1328 "documentation": "endpoint url with s3-outposts@us-west-2", 1329 "expect": { 1330 "endpoint": { 1331 "headers": { 1332 "x-amz-account-id": [ 1333 "123456789012" 1334 ], 1335 "x-amz-outpost-id": [ 1336 "op-01234567890123456" 1337 ] 1338 }, 1339 "properties": { 1340 "authSchemes": [ 1341 { 1342 "name": "sigv4", 1343 "signingName": "s3-outposts", 1344 "signingRegion": "us-west-2", 1345 "disableDoubleEncoding": true 1346 } 1347 ] 1348 }, 1349 "url": "https://beta.example.com" 1350 } 1351 }, 1352 "operationInputs": [ 1353 { 1354 "builtInParams": { 1355 "AWS::Region": "us-west-2", 1356 "SDK::Endpoint": "https://beta.example.com" 1357 }, 1358 "operationName": "GetAccessPoint", 1359 "operationParams": { 1360 "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1361 "AccountId": "123456789012" 1362 } 1363 } 1364 ], 1365 "params": { 1366 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1367 "AccountId": "123456789012", 1368 "Endpoint": "https://beta.example.com", 1369 "Region": "us-west-2", 1370 "RequiresAccountId": true, 1371 "UseDualStack": false, 1372 "UseFIPS": false 1373 } 1374 }, 1375 { 1376 "documentation": "access point name with a bucket arn@us-west-2", 1377 "expect": { 1378 "error": "Expected an outpost type `accesspoint`, found `bucket`" 1379 }, 1380 "params": { 1381 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1382 "Endpoint": "beta.example.com", 1383 "Region": "us-west-2", 1384 "RequiresAccountId": true, 1385 "UseDualStack": false, 1386 "UseFIPS": false 1387 } 1388 }, 1389 { 1390 "documentation": "bucket arn with access point name@us-west-2", 1391 "expect": { 1392 "error": "Invalid ARN: Expected an outpost type `bucket`, found `accesspoint`" 1393 }, 1394 "params": { 1395 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1396 "Endpoint": "beta.example.com", 1397 "Region": "us-west-2", 1398 "RequiresAccountId": true, 1399 "UseDualStack": false, 1400 "UseFIPS": false 1401 } 1402 }, 1403 { 1404 "documentation": "create bucket with outposts@us-west-2", 1405 "expect": { 1406 "endpoint": { 1407 "properties": { 1408 "authSchemes": [ 1409 { 1410 "name": "sigv4", 1411 "signingName": "s3-outposts", 1412 "signingRegion": "us-west-2", 1413 "disableDoubleEncoding": true 1414 } 1415 ] 1416 }, 1417 "url": "https://beta.example.com" 1418 } 1419 }, 1420 "params": { 1421 "Bucket": "bucketname", 1422 "Endpoint": "https://beta.example.com", 1423 "OutpostId": "op-123", 1424 "Region": "us-west-2", 1425 "RequiresAccountId": false, 1426 "UseDualStack": false, 1427 "UseFIPS": false 1428 } 1429 }, 1430 { 1431 "documentation": "get bucket with endpoint_url@us-west-2", 1432 "expect": { 1433 "endpoint": { 1434 "headers": { 1435 "x-amz-account-id": [ 1436 "123456789012" 1437 ], 1438 "x-amz-outpost-id": [ 1439 "op-01234567890123456" 1440 ] 1441 }, 1442 "properties": { 1443 "authSchemes": [ 1444 { 1445 "name": "sigv4", 1446 "signingName": "s3-outposts", 1447 "signingRegion": "us-west-2", 1448 "disableDoubleEncoding": true 1449 } 1450 ] 1451 }, 1452 "url": "https://beta.example.com" 1453 } 1454 }, 1455 "operationInputs": [ 1456 { 1457 "builtInParams": { 1458 "AWS::Region": "us-west-2", 1459 "SDK::Endpoint": "https://beta.example.com" 1460 }, 1461 "operationName": "GetBucket", 1462 "operationParams": { 1463 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1464 "AccountId": "123456789012" 1465 } 1466 } 1467 ], 1468 "params": { 1469 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1470 "Endpoint": "https://beta.example.com", 1471 "Region": "us-west-2", 1472 "RequiresAccountId": true, 1473 "UseDualStack": false, 1474 "UseFIPS": false 1475 } 1476 }, 1477 { 1478 "documentation": "ListRegionalBucket + OutpostId endpoint url@us-east-2", 1479 "expect": { 1480 "endpoint": { 1481 "properties": { 1482 "authSchemes": [ 1483 { 1484 "name": "sigv4", 1485 "signingName": "s3-outposts", 1486 "signingRegion": "us-east-2", 1487 "disableDoubleEncoding": true 1488 } 1489 ] 1490 }, 1491 "url": "https://beta.example.com" 1492 } 1493 }, 1494 "operationInputs": [ 1495 { 1496 "builtInParams": { 1497 "AWS::Region": "us-east-2", 1498 "SDK::Endpoint": "https://beta.example.com" 1499 }, 1500 "operationName": "ListRegionalBuckets", 1501 "operationParams": { 1502 "AccountId": "123456789012", 1503 "OutpostId": "op-123" 1504 } 1505 } 1506 ], 1507 "params": { 1508 "AccountId": "123456789012", 1509 "Endpoint": "https://beta.example.com", 1510 "OutpostId": "op-123", 1511 "Region": "us-east-2", 1512 "RequiresAccountId": true, 1513 "UseDualStack": false, 1514 "UseFIPS": false 1515 } 1516 }, 1517 { 1518 "documentation": "ListRegionalBucket + OutpostId + fips + endpoint url@us-east-2", 1519 "expect": { 1520 "endpoint": { 1521 "properties": { 1522 "authSchemes": [ 1523 { 1524 "name": "sigv4", 1525 "signingName": "s3-outposts", 1526 "signingRegion": "us-east-2", 1527 "disableDoubleEncoding": true 1528 } 1529 ] 1530 }, 1531 "url": "https://beta.example.com" 1532 } 1533 }, 1534 "operationInputs": [ 1535 { 1536 "builtInParams": { 1537 "AWS::Region": "us-east-2", 1538 "AWS::UseFIPS": true, 1539 "SDK::Endpoint": "https://beta.example.com" 1540 }, 1541 "operationName": "ListRegionalBuckets", 1542 "operationParams": { 1543 "AccountId": "123456789012", 1544 "OutpostId": "op-123" 1545 } 1546 } 1547 ], 1548 "params": { 1549 "AccountId": "123456789012", 1550 "Endpoint": "https://beta.example.com", 1551 "OutpostId": "op-123", 1552 "Region": "us-east-2", 1553 "RequiresAccountId": true, 1554 "UseDualStack": false, 1555 "UseFIPS": true 1556 } 1557 }, 1558 { 1559 "documentation": "ListRegionalBucket + OutpostId + fips + dualstack@us-east-2", 1560 "expect": { 1561 "endpoint": { 1562 "properties": { 1563 "authSchemes": [ 1564 { 1565 "name": "sigv4", 1566 "signingName": "s3-outposts", 1567 "signingRegion": "us-east-2", 1568 "disableDoubleEncoding": true 1569 } 1570 ] 1571 }, 1572 "url": "https://s3-outposts-fips.us-east-2.api.aws" 1573 } 1574 }, 1575 "operationInputs": [ 1576 { 1577 "builtInParams": { 1578 "AWS::Region": "us-east-2", 1579 "AWS::UseFIPS": true, 1580 "AWS::UseDualStack": true 1581 }, 1582 "operationName": "ListRegionalBuckets", 1583 "operationParams": { 1584 "AccountId": "123456789012", 1585 "OutpostId": "op-123" 1586 } 1587 } 1588 ], 1589 "params": { 1590 "AccountId": "123456789012", 1591 "OutpostId": "op-123", 1592 "Region": "us-east-2", 1593 "RequiresAccountId": true, 1594 "UseDualStack": true, 1595 "UseFIPS": true 1596 } 1597 }, 1598 { 1599 "documentation": "CreateBucket + OutpostId endpoint url@us-east-2", 1600 "expect": { 1601 "endpoint": { 1602 "properties": { 1603 "authSchemes": [ 1604 { 1605 "name": "sigv4", 1606 "signingName": "s3-outposts", 1607 "signingRegion": "us-east-2", 1608 "disableDoubleEncoding": true 1609 } 1610 ] 1611 }, 1612 "url": "https://beta.example.com" 1613 } 1614 }, 1615 "operationInputs": [ 1616 { 1617 "builtInParams": { 1618 "AWS::Region": "us-east-2", 1619 "AWS::UseFIPS": true, 1620 "SDK::Endpoint": "https://beta.example.com" 1621 }, 1622 "operationName": "CreateBucket", 1623 "operationParams": { 1624 "Bucket": "blah", 1625 "OutpostId": "123" 1626 } 1627 } 1628 ], 1629 "params": { 1630 "Bucket": "blah", 1631 "Endpoint": "https://beta.example.com", 1632 "OutpostId": "123", 1633 "Region": "us-east-2", 1634 "RequiresAccountId": false, 1635 "UseDualStack": false, 1636 "UseFIPS": true 1637 } 1638 }, 1639 { 1640 "documentation": "dualstack cannot be used with outposts when an endpoint URL is set@us-west-2.", 1641 "expect": { 1642 "error": "Invalid Configuration: DualStack and custom endpoint are not supported" 1643 }, 1644 "params": { 1645 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 1646 "Endpoint": "https://s3-outposts.us-west-2.api.aws", 1647 "Region": "us-west-2", 1648 "RequiresAccountId": true, 1649 "UseDualStack": true, 1650 "UseFIPS": false 1651 } 1652 }, 1653 { 1654 "documentation": "vanilla bucket arn requires account id@us-west-2", 1655 "expect": { 1656 "endpoint": { 1657 "headers": { 1658 "x-amz-account-id": [ 1659 "123456789012" 1660 ], 1661 "x-amz-outpost-id": [ 1662 "op-01234567890123456" 1663 ] 1664 }, 1665 "properties": { 1666 "authSchemes": [ 1667 { 1668 "name": "sigv4", 1669 "signingName": "s3-outposts", 1670 "signingRegion": "us-west-2", 1671 "disableDoubleEncoding": true 1672 } 1673 ] 1674 }, 1675 "url": "https://s3-outposts.us-west-2.amazonaws.com" 1676 } 1677 }, 1678 "operationInputs": [ 1679 { 1680 "builtInParams": { 1681 "AWS::Region": "us-west-2" 1682 }, 1683 "operationName": "CreateAccessPoint", 1684 "operationParams": { 1685 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1686 "Name": "apname", 1687 "AccountId": "123456789012" 1688 } 1689 } 1690 ], 1691 "params": { 1692 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1693 "Region": "us-west-2", 1694 "RequiresAccountId": true, 1695 "UseDualStack": false, 1696 "UseFIPS": false 1697 } 1698 }, 1699 { 1700 "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2", 1701 "expect": { 1702 "endpoint": { 1703 "headers": { 1704 "x-amz-account-id": [ 1705 "123456789012" 1706 ], 1707 "x-amz-outpost-id": [ 1708 "op-01234567890123456" 1709 ] 1710 }, 1711 "properties": { 1712 "authSchemes": [ 1713 { 1714 "name": "sigv4", 1715 "signingName": "s3-outposts", 1716 "signingRegion": "us-east-1", 1717 "disableDoubleEncoding": true 1718 } 1719 ] 1720 }, 1721 "url": "https://s3-outposts.us-east-1.amazonaws.com" 1722 } 1723 }, 1724 "operationInputs": [ 1725 { 1726 "builtInParams": { 1727 "AWS::Region": "us-west-2" 1728 }, 1729 "operationName": "GetBucket", 1730 "operationParams": { 1731 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1732 "AccountId": "123456789012" 1733 } 1734 } 1735 ], 1736 "params": { 1737 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1738 "Region": "us-west-2", 1739 "RequiresAccountId": true, 1740 "UseDualStack": false, 1741 "UseFIPS": false 1742 } 1743 }, 1744 { 1745 "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1", 1746 "expect": { 1747 "endpoint": { 1748 "headers": { 1749 "x-amz-account-id": [ 1750 "123456789012" 1751 ], 1752 "x-amz-outpost-id": [ 1753 "op-01234567890123456" 1754 ] 1755 }, 1756 "properties": { 1757 "authSchemes": [ 1758 { 1759 "name": "sigv4", 1760 "signingName": "s3-outposts", 1761 "signingRegion": "us-gov-east-1", 1762 "disableDoubleEncoding": true 1763 } 1764 ] 1765 }, 1766 "url": "https://s3-outposts.us-gov-east-1.amazonaws.com" 1767 } 1768 }, 1769 "operationInputs": [ 1770 { 1771 "builtInParams": { 1772 "AWS::Region": "us-gov-east-1" 1773 }, 1774 "operationName": "GetBucket", 1775 "operationParams": { 1776 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1777 "AccountId": "123456789012" 1778 } 1779 } 1780 ], 1781 "params": { 1782 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1783 "Region": "us-gov-east-1", 1784 "RequiresAccountId": true, 1785 "UseDualStack": false, 1786 "UseFIPS": false 1787 } 1788 }, 1789 { 1790 "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1", 1791 "expect": { 1792 "endpoint": { 1793 "headers": { 1794 "x-amz-account-id": [ 1795 "123456789012" 1796 ], 1797 "x-amz-outpost-id": [ 1798 "op-01234567890123456" 1799 ] 1800 }, 1801 "properties": { 1802 "authSchemes": [ 1803 { 1804 "name": "sigv4", 1805 "signingName": "s3-outposts", 1806 "signingRegion": "us-gov-west-1", 1807 "disableDoubleEncoding": true 1808 } 1809 ] 1810 }, 1811 "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com" 1812 } 1813 }, 1814 "operationInputs": [ 1815 { 1816 "builtInParams": { 1817 "AWS::Region": "us-gov-west-1", 1818 "AWS::UseFIPS": true 1819 }, 1820 "operationName": "GetBucket", 1821 "operationParams": { 1822 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1823 "AccountId": "123456789012" 1824 } 1825 } 1826 ], 1827 "params": { 1828 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1829 "Region": "us-gov-west-1", 1830 "RequiresAccountId": true, 1831 "UseDualStack": false, 1832 "UseFIPS": true 1833 } 1834 }, 1835 { 1836 "documentation": "bucket ARN in aws partition with FIPS@us-east-2", 1837 "expect": { 1838 "endpoint": { 1839 "headers": { 1840 "x-amz-account-id": [ 1841 "123456789012" 1842 ], 1843 "x-amz-outpost-id": [ 1844 "op-01234567890123456" 1845 ] 1846 }, 1847 "properties": { 1848 "authSchemes": [ 1849 { 1850 "name": "sigv4", 1851 "signingName": "s3-outposts", 1852 "signingRegion": "us-east-2", 1853 "disableDoubleEncoding": true 1854 } 1855 ] 1856 }, 1857 "url": "https://s3-outposts-fips.us-east-2.amazonaws.com" 1858 } 1859 }, 1860 "operationInputs": [ 1861 { 1862 "builtInParams": { 1863 "AWS::Region": "us-east-2", 1864 "AWS::UseFIPS": true 1865 }, 1866 "operationName": "GetBucket", 1867 "operationParams": { 1868 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1869 "AccountId": "123456789012" 1870 } 1871 } 1872 ], 1873 "params": { 1874 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1875 "Region": "us-east-2", 1876 "RequiresAccountId": true, 1877 "UseDualStack": false, 1878 "UseFIPS": true 1879 } 1880 }, 1881 { 1882 "documentation": "bucket ARN in aws partition with fips + dualstack@us-east-2", 1883 "expect": { 1884 "endpoint": { 1885 "headers": { 1886 "x-amz-account-id": [ 1887 "123456789012" 1888 ], 1889 "x-amz-outpost-id": [ 1890 "op-01234567890123456" 1891 ] 1892 }, 1893 "properties": { 1894 "authSchemes": [ 1895 { 1896 "name": "sigv4", 1897 "signingName": "s3-outposts", 1898 "signingRegion": "us-east-2", 1899 "disableDoubleEncoding": true 1900 } 1901 ] 1902 }, 1903 "url": "https://s3-outposts-fips.us-east-2.api.aws" 1904 } 1905 }, 1906 "operationInputs": [ 1907 { 1908 "builtInParams": { 1909 "AWS::Region": "us-east-2", 1910 "AWS::UseFIPS": true, 1911 "AWS::UseDualStack": true 1912 }, 1913 "operationName": "GetBucket", 1914 "operationParams": { 1915 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1916 "AccountId": "123456789012" 1917 } 1918 } 1919 ], 1920 "params": { 1921 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1922 "Region": "us-east-2", 1923 "RequiresAccountId": true, 1924 "UseDualStack": true, 1925 "UseFIPS": true 1926 } 1927 }, 1928 { 1929 "documentation": "vanilla bucket arn requires account id@cn-north-1", 1930 "expect": { 1931 "endpoint": { 1932 "headers": { 1933 "x-amz-account-id": [ 1934 "123456789012" 1935 ], 1936 "x-amz-outpost-id": [ 1937 "op-01234567890123456" 1938 ] 1939 }, 1940 "properties": { 1941 "authSchemes": [ 1942 { 1943 "name": "sigv4", 1944 "signingName": "s3-outposts", 1945 "signingRegion": "cn-north-1", 1946 "disableDoubleEncoding": true 1947 } 1948 ] 1949 }, 1950 "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn" 1951 } 1952 }, 1953 "operationInputs": [ 1954 { 1955 "builtInParams": { 1956 "AWS::Region": "cn-north-1" 1957 }, 1958 "operationName": "CreateAccessPoint", 1959 "operationParams": { 1960 "Bucket": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1961 "Name": "apname", 1962 "AccountId": "123456789012" 1963 } 1964 } 1965 ], 1966 "params": { 1967 "Bucket": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 1968 "Region": "cn-north-1", 1969 "RequiresAccountId": true, 1970 "UseDualStack": false, 1971 "UseFIPS": false 1972 } 1973 }, 1974 { 1975 "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2", 1976 "expect": { 1977 "endpoint": { 1978 "headers": { 1979 "x-amz-account-id": [ 1980 "123456789012" 1981 ], 1982 "x-amz-outpost-id": [ 1983 "op-01234567890123456" 1984 ] 1985 }, 1986 "properties": { 1987 "authSchemes": [ 1988 { 1989 "name": "sigv4", 1990 "signingName": "s3-outposts", 1991 "signingRegion": "us-east-1", 1992 "disableDoubleEncoding": true 1993 } 1994 ] 1995 }, 1996 "url": "https://s3-outposts.us-east-1.amazonaws.com" 1997 } 1998 }, 1999 "operationInputs": [ 2000 { 2001 "builtInParams": { 2002 "AWS::Region": "us-west-2" 2003 }, 2004 "operationName": "GetBucket", 2005 "operationParams": { 2006 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2007 "AccountId": "123456789012" 2008 } 2009 } 2010 ], 2011 "params": { 2012 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2013 "Region": "us-west-2", 2014 "RequiresAccountId": true, 2015 "UseDualStack": false, 2016 "UseFIPS": false 2017 } 2018 }, 2019 { 2020 "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1", 2021 "expect": { 2022 "endpoint": { 2023 "headers": { 2024 "x-amz-account-id": [ 2025 "123456789012" 2026 ], 2027 "x-amz-outpost-id": [ 2028 "op-01234567890123456" 2029 ] 2030 }, 2031 "properties": { 2032 "authSchemes": [ 2033 { 2034 "name": "sigv4", 2035 "signingName": "s3-outposts", 2036 "signingRegion": "us-gov-east-1", 2037 "disableDoubleEncoding": true 2038 } 2039 ] 2040 }, 2041 "url": "https://s3-outposts.us-gov-east-1.amazonaws.com" 2042 } 2043 }, 2044 "operationInputs": [ 2045 { 2046 "builtInParams": { 2047 "AWS::Region": "us-gov-east-1" 2048 }, 2049 "operationName": "GetBucket", 2050 "operationParams": { 2051 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2052 "AccountId": "123456789012" 2053 } 2054 } 2055 ], 2056 "params": { 2057 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2058 "Region": "us-gov-east-1", 2059 "RequiresAccountId": true, 2060 "UseDualStack": false, 2061 "UseFIPS": false 2062 } 2063 }, 2064 { 2065 "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1", 2066 "expect": { 2067 "endpoint": { 2068 "headers": { 2069 "x-amz-account-id": [ 2070 "123456789012" 2071 ], 2072 "x-amz-outpost-id": [ 2073 "op-01234567890123456" 2074 ] 2075 }, 2076 "properties": { 2077 "authSchemes": [ 2078 { 2079 "name": "sigv4", 2080 "signingName": "s3-outposts", 2081 "signingRegion": "us-gov-west-1", 2082 "disableDoubleEncoding": true 2083 } 2084 ] 2085 }, 2086 "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com" 2087 } 2088 }, 2089 "operationInputs": [ 2090 { 2091 "builtInParams": { 2092 "AWS::Region": "us-gov-west-1", 2093 "AWS::UseFIPS": true 2094 }, 2095 "operationName": "GetBucket", 2096 "operationParams": { 2097 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2098 "AccountId": "123456789012" 2099 } 2100 } 2101 ], 2102 "params": { 2103 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2104 "Region": "us-gov-west-1", 2105 "RequiresAccountId": true, 2106 "UseDualStack": false, 2107 "UseFIPS": true 2108 } 2109 }, 2110 { 2111 "documentation": "bucket ARN in aws partition with FIPS@us-east-2", 2112 "expect": { 2113 "endpoint": { 2114 "headers": { 2115 "x-amz-account-id": [ 2116 "123456789012" 2117 ], 2118 "x-amz-outpost-id": [ 2119 "op-01234567890123456" 2120 ] 2121 }, 2122 "properties": { 2123 "authSchemes": [ 2124 { 2125 "name": "sigv4", 2126 "signingName": "s3-outposts", 2127 "signingRegion": "us-east-2", 2128 "disableDoubleEncoding": true 2129 } 2130 ] 2131 }, 2132 "url": "https://s3-outposts-fips.us-east-2.amazonaws.com" 2133 } 2134 }, 2135 "operationInputs": [ 2136 { 2137 "builtInParams": { 2138 "AWS::Region": "us-east-2", 2139 "AWS::UseFIPS": true 2140 }, 2141 "operationName": "GetBucket", 2142 "operationParams": { 2143 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2144 "AccountId": "123456789012" 2145 } 2146 } 2147 ], 2148 "params": { 2149 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2150 "Region": "us-east-2", 2151 "RequiresAccountId": true, 2152 "UseDualStack": false, 2153 "UseFIPS": true 2154 } 2155 }, 2156 { 2157 "documentation": "Outposts support dualstack @us-west-2", 2158 "expect": { 2159 "endpoint": { 2160 "headers": { 2161 "x-amz-account-id": [ 2162 "123456789012" 2163 ], 2164 "x-amz-outpost-id": [ 2165 "op-01234567890123456" 2166 ] 2167 }, 2168 "properties": { 2169 "authSchemes": [ 2170 { 2171 "name": "sigv4", 2172 "signingName": "s3-outposts", 2173 "signingRegion": "us-west-2", 2174 "disableDoubleEncoding": true 2175 } 2176 ] 2177 }, 2178 "url": "https://s3-outposts.us-west-2.api.aws" 2179 } 2180 }, 2181 "operationInputs": [ 2182 { 2183 "builtInParams": { 2184 "AWS::Region": "us-west-2", 2185 "AWS::UseDualStack": true 2186 }, 2187 "operationName": "GetBucket", 2188 "operationParams": { 2189 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2190 "AccountId": "123456789012" 2191 } 2192 } 2193 ], 2194 "params": { 2195 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2196 "Region": "us-west-2", 2197 "RequiresAccountId": true, 2198 "UseDualStack": true, 2199 "UseFIPS": false 2200 } 2201 }, 2202 { 2203 "documentation": "vanilla bucket arn requires account id@af-south-1", 2204 "expect": { 2205 "endpoint": { 2206 "headers": { 2207 "x-amz-account-id": [ 2208 "123456789012" 2209 ], 2210 "x-amz-outpost-id": [ 2211 "op-01234567890123456" 2212 ] 2213 }, 2214 "properties": { 2215 "authSchemes": [ 2216 { 2217 "name": "sigv4", 2218 "signingName": "s3-outposts", 2219 "signingRegion": "af-south-1", 2220 "disableDoubleEncoding": true 2221 } 2222 ] 2223 }, 2224 "url": "https://s3-outposts.af-south-1.amazonaws.com" 2225 } 2226 }, 2227 "operationInputs": [ 2228 { 2229 "builtInParams": { 2230 "AWS::Region": "af-south-1" 2231 }, 2232 "operationName": "CreateAccessPoint", 2233 "operationParams": { 2234 "Bucket": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2235 "Name": "apname", 2236 "AccountId": "123456789012" 2237 } 2238 } 2239 ], 2240 "params": { 2241 "Bucket": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2242 "Region": "af-south-1", 2243 "RequiresAccountId": true, 2244 "UseDualStack": false, 2245 "UseFIPS": false 2246 } 2247 }, 2248 { 2249 "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2", 2250 "expect": { 2251 "endpoint": { 2252 "headers": { 2253 "x-amz-account-id": [ 2254 "123456789012" 2255 ], 2256 "x-amz-outpost-id": [ 2257 "op-01234567890123456" 2258 ] 2259 }, 2260 "properties": { 2261 "authSchemes": [ 2262 { 2263 "name": "sigv4", 2264 "signingName": "s3-outposts", 2265 "signingRegion": "us-east-1", 2266 "disableDoubleEncoding": true 2267 } 2268 ] 2269 }, 2270 "url": "https://s3-outposts.us-east-1.amazonaws.com" 2271 } 2272 }, 2273 "operationInputs": [ 2274 { 2275 "builtInParams": { 2276 "AWS::Region": "us-west-2" 2277 }, 2278 "operationName": "GetBucket", 2279 "operationParams": { 2280 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2281 "AccountId": "123456789012" 2282 } 2283 } 2284 ], 2285 "params": { 2286 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2287 "Region": "us-west-2", 2288 "RequiresAccountId": true, 2289 "UseDualStack": false, 2290 "UseFIPS": false 2291 } 2292 }, 2293 { 2294 "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1", 2295 "expect": { 2296 "endpoint": { 2297 "headers": { 2298 "x-amz-account-id": [ 2299 "123456789012" 2300 ], 2301 "x-amz-outpost-id": [ 2302 "op-01234567890123456" 2303 ] 2304 }, 2305 "properties": { 2306 "authSchemes": [ 2307 { 2308 "name": "sigv4", 2309 "signingName": "s3-outposts", 2310 "signingRegion": "us-gov-east-1", 2311 "disableDoubleEncoding": true 2312 } 2313 ] 2314 }, 2315 "url": "https://s3-outposts.us-gov-east-1.amazonaws.com" 2316 } 2317 }, 2318 "operationInputs": [ 2319 { 2320 "builtInParams": { 2321 "AWS::Region": "us-gov-east-1" 2322 }, 2323 "operationName": "GetBucket", 2324 "operationParams": { 2325 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2326 "AccountId": "123456789012" 2327 } 2328 } 2329 ], 2330 "params": { 2331 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2332 "Region": "us-gov-east-1", 2333 "RequiresAccountId": true, 2334 "UseDualStack": false, 2335 "UseFIPS": false 2336 } 2337 }, 2338 { 2339 "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1", 2340 "expect": { 2341 "endpoint": { 2342 "headers": { 2343 "x-amz-account-id": [ 2344 "123456789012" 2345 ], 2346 "x-amz-outpost-id": [ 2347 "op-01234567890123456" 2348 ] 2349 }, 2350 "properties": { 2351 "authSchemes": [ 2352 { 2353 "name": "sigv4", 2354 "signingName": "s3-outposts", 2355 "signingRegion": "us-gov-west-1", 2356 "disableDoubleEncoding": true 2357 } 2358 ] 2359 }, 2360 "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com" 2361 } 2362 }, 2363 "operationInputs": [ 2364 { 2365 "builtInParams": { 2366 "AWS::Region": "us-gov-west-1", 2367 "AWS::UseFIPS": true 2368 }, 2369 "operationName": "GetBucket", 2370 "operationParams": { 2371 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2372 "AccountId": "123456789012" 2373 } 2374 } 2375 ], 2376 "params": { 2377 "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2378 "Region": "us-gov-west-1", 2379 "RequiresAccountId": true, 2380 "UseDualStack": false, 2381 "UseFIPS": true 2382 } 2383 }, 2384 { 2385 "documentation": "bucket ARN in aws partition with FIPS@us-east-2", 2386 "expect": { 2387 "endpoint": { 2388 "headers": { 2389 "x-amz-account-id": [ 2390 "123456789012" 2391 ], 2392 "x-amz-outpost-id": [ 2393 "op-01234567890123456" 2394 ] 2395 }, 2396 "properties": { 2397 "authSchemes": [ 2398 { 2399 "name": "sigv4", 2400 "signingName": "s3-outposts", 2401 "signingRegion": "us-east-2", 2402 "disableDoubleEncoding": true 2403 } 2404 ] 2405 }, 2406 "url": "https://s3-outposts-fips.us-east-2.amazonaws.com" 2407 } 2408 }, 2409 "operationInputs": [ 2410 { 2411 "builtInParams": { 2412 "AWS::Region": "us-east-2", 2413 "AWS::UseFIPS": true 2414 }, 2415 "operationName": "GetBucket", 2416 "operationParams": { 2417 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2418 "AccountId": "123456789012" 2419 } 2420 } 2421 ], 2422 "params": { 2423 "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 2424 "Region": "us-east-2", 2425 "RequiresAccountId": true, 2426 "UseDualStack": false, 2427 "UseFIPS": true 2428 } 2429 }, 2430 { 2431 "documentation": "Invalid ARN: missing outpost id and bucket@us-west-2", 2432 "expect": { 2433 "error": "Invalid ARN: The Outpost Id was not set" 2434 }, 2435 "params": { 2436 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost", 2437 "Region": "us-west-2", 2438 "RequiresAccountId": true, 2439 "UseDualStack": false, 2440 "UseFIPS": false 2441 } 2442 }, 2443 { 2444 "documentation": "Invalid ARN: missing bucket@us-west-2", 2445 "expect": { 2446 "error": "Invalid ARN: Expected a 4-component resource" 2447 }, 2448 "params": { 2449 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456", 2450 "Region": "us-west-2", 2451 "RequiresAccountId": true, 2452 "UseDualStack": false, 2453 "UseFIPS": false 2454 } 2455 }, 2456 { 2457 "documentation": "Invalid ARN: missing outpost and bucket ids@us-west-2", 2458 "expect": { 2459 "error": "Invalid ARN: Expected a 4-component resource" 2460 }, 2461 "params": { 2462 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:bucket", 2463 "Region": "us-west-2", 2464 "RequiresAccountId": true, 2465 "UseDualStack": false, 2466 "UseFIPS": false 2467 } 2468 }, 2469 { 2470 "documentation": "Invalid ARN: missing bucket id@us-west-2", 2471 "expect": { 2472 "error": "Invalid ARN: expected a bucket name" 2473 }, 2474 "params": { 2475 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket", 2476 "Region": "us-west-2", 2477 "RequiresAccountId": true, 2478 "UseDualStack": false, 2479 "UseFIPS": false 2480 } 2481 }, 2482 { 2483 "documentation": "account id inserted into hostname@us-west-2", 2484 "expect": { 2485 "endpoint": { 2486 "properties": { 2487 "authSchemes": [ 2488 { 2489 "name": "sigv4", 2490 "signingName": "s3", 2491 "signingRegion": "us-west-2", 2492 "disableDoubleEncoding": true 2493 } 2494 ] 2495 }, 2496 "url": "https://1234567890.s3-control.us-west-2.amazonaws.com" 2497 } 2498 }, 2499 "params": { 2500 "AccountId": "1234567890", 2501 "Region": "us-west-2", 2502 "RequiresAccountId": true, 2503 "UseDualStack": false, 2504 "UseFIPS": false 2505 } 2506 }, 2507 { 2508 "documentation": "account id prefix with dualstack@us-east-1", 2509 "expect": { 2510 "endpoint": { 2511 "properties": { 2512 "authSchemes": [ 2513 { 2514 "name": "sigv4", 2515 "signingName": "s3", 2516 "signingRegion": "us-east-1", 2517 "disableDoubleEncoding": true 2518 } 2519 ] 2520 }, 2521 "url": "https://1234567890.s3-control.dualstack.us-east-1.amazonaws.com" 2522 } 2523 }, 2524 "params": { 2525 "AccountId": "1234567890", 2526 "Region": "us-east-1", 2527 "RequiresAccountId": true, 2528 "UseDualStack": true, 2529 "UseFIPS": false 2530 } 2531 }, 2532 { 2533 "documentation": "account id prefix with fips@us-east-1", 2534 "expect": { 2535 "endpoint": { 2536 "properties": { 2537 "authSchemes": [ 2538 { 2539 "name": "sigv4", 2540 "signingName": "s3", 2541 "signingRegion": "us-east-1", 2542 "disableDoubleEncoding": true 2543 } 2544 ] 2545 }, 2546 "url": "https://1234567890.s3-control-fips.us-east-1.amazonaws.com" 2547 } 2548 }, 2549 "params": { 2550 "AccountId": "1234567890", 2551 "Region": "us-east-1", 2552 "RequiresAccountId": true, 2553 "UseDualStack": false, 2554 "UseFIPS": true 2555 } 2556 }, 2557 { 2558 "documentation": "custom account id prefix with fips@us-east-1", 2559 "expect": { 2560 "endpoint": { 2561 "properties": { 2562 "authSchemes": [ 2563 { 2564 "name": "sigv4", 2565 "signingName": "s3", 2566 "signingRegion": "us-east-1", 2567 "disableDoubleEncoding": true 2568 } 2569 ] 2570 }, 2571 "url": "https://123456789012.s3-control-fips.us-east-1.amazonaws.com" 2572 } 2573 }, 2574 "params": { 2575 "AccountId": "123456789012", 2576 "Region": "us-east-1", 2577 "RequiresAccountId": true, 2578 "UseDualStack": false, 2579 "UseFIPS": true 2580 } 2581 }, 2582 { 2583 "documentation": "standard url @ us-east-1", 2584 "expect": { 2585 "endpoint": { 2586 "properties": { 2587 "authSchemes": [ 2588 { 2589 "name": "sigv4", 2590 "signingName": "s3", 2591 "signingRegion": "us-east-1", 2592 "disableDoubleEncoding": true 2593 } 2594 ] 2595 }, 2596 "url": "https://s3-control.us-east-1.amazonaws.com" 2597 } 2598 }, 2599 "params": { 2600 "Region": "us-east-1" 2601 } 2602 }, 2603 { 2604 "documentation": "fips url @ us-east-1", 2605 "expect": { 2606 "endpoint": { 2607 "properties": { 2608 "authSchemes": [ 2609 { 2610 "name": "sigv4", 2611 "signingName": "s3", 2612 "signingRegion": "us-east-1", 2613 "disableDoubleEncoding": true 2614 } 2615 ] 2616 }, 2617 "url": "https://s3-control-fips.us-east-1.amazonaws.com" 2618 } 2619 }, 2620 "params": { 2621 "Region": "us-east-1", 2622 "UseFIPS": true 2623 } 2624 }, 2625 { 2626 "documentation": "dualstack url @ us-east-1", 2627 "expect": { 2628 "endpoint": { 2629 "properties": { 2630 "authSchemes": [ 2631 { 2632 "name": "sigv4", 2633 "signingName": "s3", 2634 "signingRegion": "us-east-1", 2635 "disableDoubleEncoding": true 2636 } 2637 ] 2638 }, 2639 "url": "https://s3-control.dualstack.us-east-1.amazonaws.com" 2640 } 2641 }, 2642 "params": { 2643 "Region": "us-east-1", 2644 "UseDualStack": true 2645 } 2646 }, 2647 { 2648 "documentation": "fips,dualstack url @ us-east-1", 2649 "expect": { 2650 "endpoint": { 2651 "properties": { 2652 "authSchemes": [ 2653 { 2654 "name": "sigv4", 2655 "signingName": "s3", 2656 "signingRegion": "us-east-1", 2657 "disableDoubleEncoding": true 2658 } 2659 ] 2660 }, 2661 "url": "https://s3-control-fips.dualstack.us-east-1.amazonaws.com" 2662 } 2663 }, 2664 "params": { 2665 "Region": "us-east-1", 2666 "UseDualStack": true, 2667 "UseFIPS": true 2668 } 2669 }, 2670 { 2671 "documentation": "standard url @ cn-north-1", 2672 "expect": { 2673 "endpoint": { 2674 "properties": { 2675 "authSchemes": [ 2676 { 2677 "name": "sigv4", 2678 "signingName": "s3", 2679 "signingRegion": "cn-north-1", 2680 "disableDoubleEncoding": true 2681 } 2682 ] 2683 }, 2684 "url": "https://s3-control.cn-north-1.amazonaws.com.cn" 2685 } 2686 }, 2687 "params": { 2688 "Region": "cn-north-1" 2689 } 2690 }, 2691 { 2692 "documentation": "fips @ cn-north-1", 2693 "expect": { 2694 "error": "Partition does not support FIPS" 2695 }, 2696 "params": { 2697 "Region": "cn-north-1", 2698 "UseDualStack": true, 2699 "UseFIPS": true 2700 } 2701 }, 2702 { 2703 "documentation": "custom account id prefix @us-east-1", 2704 "expect": { 2705 "endpoint": { 2706 "properties": { 2707 "authSchemes": [ 2708 { 2709 "name": "sigv4", 2710 "signingName": "s3", 2711 "signingRegion": "us-east-1", 2712 "disableDoubleEncoding": true 2713 } 2714 ] 2715 }, 2716 "url": "https://123456789012.s3-control.us-east-1.amazonaws.com" 2717 } 2718 }, 2719 "operationInputs": [ 2720 { 2721 "builtInParams": { 2722 "AWS::Region": "us-east-1" 2723 }, 2724 "operationName": "ListRegionalBuckets", 2725 "operationParams": { 2726 "AccountId": "123456789012" 2727 } 2728 } 2729 ], 2730 "params": { 2731 "AccountId": "123456789012", 2732 "Region": "us-east-1", 2733 "RequiresAccountId": true, 2734 "UseDualStack": false, 2735 "UseFIPS": false 2736 } 2737 }, 2738 { 2739 "documentation": "invalid account id prefix @us-east-1", 2740 "expect": { 2741 "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`." 2742 }, 2743 "operationInputs": [ 2744 { 2745 "builtInParams": { 2746 "AWS::Region": "us-east-1" 2747 }, 2748 "operationName": "ListRegionalBuckets", 2749 "operationParams": { 2750 "AccountId": "/?invalid¬-host*label" 2751 } 2752 } 2753 ], 2754 "params": { 2755 "AccountId": "/?invalid¬-host*label", 2756 "Region": "us-east-1", 2757 "RequiresAccountId": true, 2758 "UseDualStack": false, 2759 "UseFIPS": false 2760 } 2761 }, 2762 { 2763 "documentation": "custom account id prefix with fips@us-east-1", 2764 "expect": { 2765 "endpoint": { 2766 "properties": { 2767 "authSchemes": [ 2768 { 2769 "name": "sigv4", 2770 "signingName": "s3", 2771 "signingRegion": "us-east-1", 2772 "disableDoubleEncoding": true 2773 } 2774 ] 2775 }, 2776 "url": "https://123456789012.s3-control-fips.us-east-1.amazonaws.com" 2777 } 2778 }, 2779 "operationInputs": [ 2780 { 2781 "builtInParams": { 2782 "AWS::Region": "us-east-1", 2783 "AWS::UseFIPS": true 2784 }, 2785 "operationName": "ListRegionalBuckets", 2786 "operationParams": { 2787 "AccountId": "123456789012" 2788 } 2789 } 2790 ], 2791 "params": { 2792 "AccountId": "123456789012", 2793 "Region": "us-east-1", 2794 "RequiresAccountId": true, 2795 "UseDualStack": false, 2796 "UseFIPS": true 2797 } 2798 }, 2799 { 2800 "documentation": "custom account id prefix with dualstack,fips@us-east-1", 2801 "expect": { 2802 "endpoint": { 2803 "properties": { 2804 "authSchemes": [ 2805 { 2806 "name": "sigv4", 2807 "signingName": "s3", 2808 "signingRegion": "us-east-1", 2809 "disableDoubleEncoding": true 2810 } 2811 ] 2812 }, 2813 "url": "https://123456789012.s3-control-fips.dualstack.us-east-1.amazonaws.com" 2814 } 2815 }, 2816 "operationInputs": [ 2817 { 2818 "builtInParams": { 2819 "AWS::Region": "us-east-1", 2820 "AWS::UseFIPS": true, 2821 "AWS::UseDualStack": true 2822 }, 2823 "operationName": "ListRegionalBuckets", 2824 "operationParams": { 2825 "AccountId": "123456789012" 2826 } 2827 } 2828 ], 2829 "params": { 2830 "AccountId": "123456789012", 2831 "Region": "us-east-1", 2832 "RequiresAccountId": true, 2833 "UseDualStack": true, 2834 "UseFIPS": true 2835 } 2836 }, 2837 { 2838 "documentation": "custom account id with custom endpoint", 2839 "expect": { 2840 "endpoint": { 2841 "properties": { 2842 "authSchemes": [ 2843 { 2844 "name": "sigv4", 2845 "signingName": "s3", 2846 "signingRegion": "us-east-1", 2847 "disableDoubleEncoding": true 2848 } 2849 ] 2850 }, 2851 "url": "https://123456789012.example.com" 2852 } 2853 }, 2854 "operationInputs": [ 2855 { 2856 "builtInParams": { 2857 "AWS::Region": "us-east-1", 2858 "SDK::Endpoint": "https://example.com" 2859 }, 2860 "operationName": "ListRegionalBuckets", 2861 "operationParams": { 2862 "AccountId": "123456789012" 2863 } 2864 } 2865 ], 2866 "params": { 2867 "AccountId": "123456789012", 2868 "Region": "us-east-1", 2869 "RequiresAccountId": true, 2870 "Endpoint": "https://example.com" 2871 } 2872 }, 2873 { 2874 "documentation": "RequiresAccountId with AccountId unset", 2875 "expect": { 2876 "error": "AccountId is required but not set" 2877 }, 2878 "params": { 2879 "Region": "us-east-1", 2880 "RequiresAccountId": true 2881 } 2882 }, 2883 { 2884 "documentation": "RequiresAccountId with AccountId unset and custom endpoint", 2885 "expect": { 2886 "error": "AccountId is required but not set" 2887 }, 2888 "params": { 2889 "Region": "us-east-1", 2890 "Endpoint": "https://beta.example.com", 2891 "RequiresAccountId": true 2892 } 2893 }, 2894 { 2895 "documentation": "RequiresAccountId with invalid AccountId and custom endpoint", 2896 "expect": { 2897 "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`." 2898 }, 2899 "operationInputs": [ 2900 { 2901 "builtInParams": { 2902 "AWS::Region": "us-east-1", 2903 "SDK::Endpoint": "https://beta.example.com" 2904 }, 2905 "operationName": "ListRegionalBuckets", 2906 "operationParams": { 2907 "AccountId": "/?invalid¬-host*label" 2908 } 2909 } 2910 ], 2911 "params": { 2912 "Region": "us-east-1", 2913 "Endpoint": "https://beta.example.com", 2914 "AccountId": "/?invalid¬-host*label", 2915 "RequiresAccountId": true 2916 } 2917 }, 2918 { 2919 "documentation": "account id with custom endpoint, fips", 2920 "expect": { 2921 "endpoint": { 2922 "properties": { 2923 "authSchemes": [ 2924 { 2925 "name": "sigv4", 2926 "signingName": "s3", 2927 "signingRegion": "us-east-1", 2928 "disableDoubleEncoding": true 2929 } 2930 ] 2931 }, 2932 "url": "https://123456789012.example.com" 2933 } 2934 }, 2935 "operationInputs": [ 2936 { 2937 "builtInParams": { 2938 "AWS::Region": "us-east-1", 2939 "AWS::UseFIPS": true, 2940 "SDK::Endpoint": "https://example.com" 2941 }, 2942 "operationName": "ListRegionalBuckets", 2943 "operationParams": { 2944 "AccountId": "123456789012" 2945 } 2946 } 2947 ], 2948 "params": { 2949 "AccountId": "123456789012", 2950 "Region": "us-east-1", 2951 "RequiresAccountId": true, 2952 "Endpoint": "https://example.com", 2953 "UseFIPS": true 2954 } 2955 }, 2956 { 2957 "documentation": "custom endpoint, fips", 2958 "expect": { 2959 "endpoint": { 2960 "properties": { 2961 "authSchemes": [ 2962 { 2963 "name": "sigv4", 2964 "signingName": "s3", 2965 "signingRegion": "us-east-1", 2966 "disableDoubleEncoding": true 2967 } 2968 ] 2969 }, 2970 "url": "https://example.com" 2971 } 2972 }, 2973 "params": { 2974 "Region": "us-east-1", 2975 "Endpoint": "https://example.com", 2976 "UseFIPS": true 2977 } 2978 }, 2979 { 2980 "documentation": "custom endpoint, fips", 2981 "expect": { 2982 "endpoint": { 2983 "properties": { 2984 "authSchemes": [ 2985 { 2986 "name": "sigv4", 2987 "signingName": "s3", 2988 "signingRegion": "us-east-1", 2989 "disableDoubleEncoding": true 2990 } 2991 ] 2992 }, 2993 "url": "https://example.com" 2994 } 2995 }, 2996 "params": { 2997 "Region": "us-east-1", 2998 "Endpoint": "https://example.com", 2999 "UseFIPS": true 3000 } 3001 }, 3002 { 3003 "documentation": "custom endpoint, DualStack", 3004 "expect": { 3005 "error": "Invalid Configuration: DualStack and custom endpoint are not supported" 3006 }, 3007 "params": { 3008 "Region": "us-east-1", 3009 "Endpoint": "https://example.com", 3010 "UseFIPS": false, 3011 "UseDualStack": true 3012 } 3013 }, 3014 { 3015 "documentation": "region not set", 3016 "expect": { 3017 "error": "Region must be set" 3018 } 3019 }, 3020 { 3021 "documentation": "invalid partition", 3022 "expect": { 3023 "error": "Invalid region: region was not a valid DNS name." 3024 }, 3025 "params": { 3026 "Region": "invalid-region 42" 3027 } 3028 }, 3029 { 3030 "documentation": "ListRegionalBuckets + OutpostId without accountId set.", 3031 "expect": { 3032 "error": "AccountId is required but not set" 3033 }, 3034 "params": { 3035 "OutpostId": "op-123", 3036 "Region": "us-east-2", 3037 "RequiresAccountId": true, 3038 "UseDualStack": false, 3039 "UseFIPS": false 3040 } 3041 }, 3042 { 3043 "documentation": "ListRegionalBuckets + OutpostId with invalid accountId set.", 3044 "expect": { 3045 "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`." 3046 }, 3047 "operationInputs": [ 3048 { 3049 "builtInParams": { 3050 "AWS::Region": "us-east-2" 3051 }, 3052 "operationName": "ListRegionalBuckets", 3053 "operationParams": { 3054 "OutpostId": "op-123", 3055 "AccountId": "/?invalid¬-host*label" 3056 } 3057 } 3058 ], 3059 "params": { 3060 "AccountId": "/?invalid¬-host*label", 3061 "OutpostId": "op-123", 3062 "Region": "us-east-2", 3063 "RequiresAccountId": true, 3064 "UseDualStack": false, 3065 "UseFIPS": false 3066 } 3067 }, 3068 { 3069 "documentation": "accesspoint set but missing accountId", 3070 "expect": { 3071 "error": "AccountId is required but not set" 3072 }, 3073 "params": { 3074 "AccessPointName": "myaccesspoint", 3075 "Region": "us-west-2", 3076 "RequiresAccountId": true, 3077 "UseDualStack": false, 3078 "UseFIPS": false 3079 } 3080 }, 3081 { 3082 "documentation": "outpost accesspoint ARN with missing accountId", 3083 "expect": { 3084 "error": "Invalid ARN: missing account ID" 3085 }, 3086 "params": { 3087 "AccessPointName": "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:outpost:op1", 3088 "Region": "us-west-2", 3089 "RequiresAccountId": true, 3090 "UseDualStack": false, 3091 "UseFIPS": false 3092 } 3093 }, 3094 { 3095 "documentation": "bucket ARN with missing accountId", 3096 "expect": { 3097 "error": "Invalid ARN: missing account ID" 3098 }, 3099 "params": { 3100 "AccessPointName": "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:bucket:mybucket", 3101 "Region": "us-west-2", 3102 "RequiresAccountId": true, 3103 "UseDualStack": false, 3104 "UseFIPS": false 3105 } 3106 }, 3107 { 3108 "documentation": "endpoint url with accesspoint (non-arn)", 3109 "expect": { 3110 "endpoint": { 3111 "properties": { 3112 "authSchemes": [ 3113 { 3114 "name": "sigv4", 3115 "signingName": "s3", 3116 "signingRegion": "us-west-2", 3117 "disableDoubleEncoding": true 3118 } 3119 ] 3120 }, 3121 "url": "https://123456789012.beta.example.com" 3122 } 3123 }, 3124 "operationInputs": [ 3125 { 3126 "builtInParams": { 3127 "AWS::Region": "us-west-2", 3128 "SDK::Endpoint": "https://beta.example.com" 3129 }, 3130 "operationName": "GetAccessPoint", 3131 "operationParams": { 3132 "Name": "apname", 3133 "AccountId": "123456789012" 3134 } 3135 } 3136 ], 3137 "params": { 3138 "AccessPointName": "apname", 3139 "Endpoint": "https://beta.example.com", 3140 "AccountId": "123456789012", 3141 "Region": "us-west-2", 3142 "RequiresAccountId": true, 3143 "UseDualStack": false, 3144 "UseFIPS": false 3145 } 3146 }, 3147 { 3148 "documentation": "access point name with an accesspoint arn@us-west-2", 3149 "expect": { 3150 "endpoint": { 3151 "headers": { 3152 "x-amz-account-id": [ 3153 "123456789012" 3154 ], 3155 "x-amz-outpost-id": [ 3156 "op-01234567890123456" 3157 ] 3158 }, 3159 "properties": { 3160 "authSchemes": [ 3161 { 3162 "name": "sigv4", 3163 "signingName": "s3-outposts", 3164 "signingRegion": "us-west-2", 3165 "disableDoubleEncoding": true 3166 } 3167 ] 3168 }, 3169 "url": "https://beta.example.com" 3170 } 3171 }, 3172 "params": { 3173 "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3174 "Endpoint": "https://beta.example.com", 3175 "Region": "us-west-2", 3176 "RequiresAccountId": true, 3177 "UseDualStack": false, 3178 "UseFIPS": false 3179 } 3180 }, 3181 { 3182 "documentation": "DualStack + Custom endpoint is not supported(non-arn)", 3183 "expect": { 3184 "error": "Invalid Configuration: DualStack and custom endpoint are not supported" 3185 }, 3186 "operationInputs": [ 3187 { 3188 "builtInParams": { 3189 "AWS::Region": "us-west-2", 3190 "AWS::UseDualStack": true, 3191 "SDK::Endpoint": "https://beta.example.com" 3192 }, 3193 "operationName": "GetAccessPoint", 3194 "operationParams": { 3195 "Name": "apname", 3196 "AccountId": "123456789012" 3197 } 3198 } 3199 ], 3200 "params": { 3201 "AccessPointName": "apname", 3202 "Endpoint": "https://beta.example.com", 3203 "AccountId": "123456789012", 3204 "Region": "us-west-2", 3205 "RequiresAccountId": true, 3206 "UseDualStack": true, 3207 "UseFIPS": false 3208 } 3209 }, 3210 { 3211 "documentation": "get bucket with custom endpoint and dualstack is not supported@us-west-2", 3212 "expect": { 3213 "error": "Invalid Configuration: DualStack and custom endpoint are not supported" 3214 }, 3215 "operationInputs": [ 3216 { 3217 "builtInParams": { 3218 "AWS::Region": "us-west-2", 3219 "AWS::UseDualStack": true, 3220 "SDK::Endpoint": "https://s3-outposts.us-west-2.api.aws" 3221 }, 3222 "operationName": "GetBucket", 3223 "operationParams": { 3224 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3225 "AccountId": "123456789012" 3226 } 3227 } 3228 ], 3229 "params": { 3230 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3231 "Endpoint": "https://s3-outposts.us-west-2.api.aws", 3232 "Region": "us-west-2", 3233 "RequiresAccountId": true, 3234 "UseDualStack": true, 3235 "UseFIPS": false 3236 } 3237 }, 3238 { 3239 "documentation": "ListRegionalBuckets + OutpostId with fips in CN.", 3240 "expect": { 3241 "error": "Partition does not support FIPS" 3242 }, 3243 "operationInputs": [ 3244 { 3245 "builtInParams": { 3246 "AWS::Region": "cn-north-1", 3247 "AWS::UseFIPS": true 3248 }, 3249 "operationName": "ListRegionalBuckets", 3250 "operationParams": { 3251 "OutpostId": "op-123", 3252 "AccountId": "0123456789012" 3253 } 3254 } 3255 ], 3256 "params": { 3257 "AccountId": "0123456789012", 3258 "OutpostId": "op-123", 3259 "Region": "cn-north-1", 3260 "RequiresAccountId": true, 3261 "UseDualStack": false, 3262 "UseFIPS": true 3263 } 3264 }, 3265 { 3266 "documentation": "ListRegionalBuckets + invalid OutpostId.", 3267 "expect": { 3268 "error": "OutpostId must only contain a-z, A-Z, 0-9 and `-`." 3269 }, 3270 "operationInputs": [ 3271 { 3272 "builtInParams": { 3273 "AWS::Region": "us-west-1" 3274 }, 3275 "operationName": "ListRegionalBuckets", 3276 "operationParams": { 3277 "OutpostId": "?outpost/invalid+", 3278 "AccountId": "0123456789012" 3279 } 3280 } 3281 ], 3282 "params": { 3283 "AccountId": "0123456789012", 3284 "OutpostId": "?outpost/invalid+", 3285 "Region": "us-west-1", 3286 "RequiresAccountId": true, 3287 "UseDualStack": false, 3288 "UseFIPS": false 3289 } 3290 }, 3291 { 3292 "documentation": "bucket ARN with mismatched accountId", 3293 "expect": { 3294 "error": "Invalid ARN: the accountId specified in the ARN (`999999`) does not match the parameter (`0123456789012`)" 3295 }, 3296 "params": { 3297 "Bucket": "arn:aws:s3-outposts:us-west-2:999999:outpost:op-01234567890123456:bucket:mybucket", 3298 "AccountId": "0123456789012", 3299 "Region": "us-west-2", 3300 "RequiresAccountId": true, 3301 "UseDualStack": false, 3302 "UseFIPS": false 3303 } 3304 }, 3305 { 3306 "documentation": "OutpostId with invalid region", 3307 "expect": { 3308 "error": "Invalid region: region was not a valid DNS name." 3309 }, 3310 "params": { 3311 "OutpostId": "op-123", 3312 "Region": "invalid-region 42", 3313 "AccountId": "0123456", 3314 "RequiresAccountId": true, 3315 "UseDualStack": false, 3316 "UseFIPS": false 3317 } 3318 }, 3319 { 3320 "documentation": "OutpostId with RequireAccountId unset", 3321 "expect": { 3322 "endpoint": { 3323 "properties": { 3324 "authSchemes": [ 3325 { 3326 "name": "sigv4", 3327 "signingName": "s3-outposts", 3328 "signingRegion": "us-west-2", 3329 "disableDoubleEncoding": true 3330 } 3331 ] 3332 }, 3333 "url": "https://s3-outposts.us-west-2.amazonaws.com" 3334 } 3335 }, 3336 "params": { 3337 "OutpostId": "op-123", 3338 "Region": "us-west-2", 3339 "UseDualStack": false, 3340 "UseFIPS": false 3341 } 3342 }, 3343 { 3344 "documentation": "Outpost Accesspoint ARN with arn region and client region mismatch with UseArnRegion=false", 3345 "expect": { 3346 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 3347 }, 3348 "operationInputs": [ 3349 { 3350 "builtInParams": { 3351 "AWS::Region": "us-west-2", 3352 "AWS::S3Control::UseArnRegion": false 3353 }, 3354 "operationName": "GetAccessPoint", 3355 "operationParams": { 3356 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3357 "AccountId": "123456789012" 3358 } 3359 }, 3360 { 3361 "builtInParams": { 3362 "AWS::Region": "us-west-2", 3363 "AWS::S3Control::UseArnRegion": false 3364 }, 3365 "operationName": "DeleteAccessPoint", 3366 "operationParams": { 3367 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3368 "AccountId": "123456789012" 3369 } 3370 } 3371 ], 3372 "params": { 3373 "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3374 "AccountId": "123456789012", 3375 "Region": "us-west-2", 3376 "RequiresAccountId": true, 3377 "UseArnRegion": false, 3378 "UseDualStack": false, 3379 "UseFIPS": false 3380 } 3381 }, 3382 { 3383 "documentation": "Outpost Bucket ARN with arn region and client region mismatch with UseArnRegion=false", 3384 "expect": { 3385 "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`" 3386 }, 3387 "operationInputs": [ 3388 { 3389 "builtInParams": { 3390 "AWS::Region": "us-west-2", 3391 "SDK::Endpoint": "https://beta.example.com", 3392 "AWS::S3Control::UseArnRegion": false 3393 }, 3394 "operationName": "GetBucket", 3395 "operationParams": { 3396 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3397 "AccountId": "123456789012" 3398 } 3399 } 3400 ], 3401 "params": { 3402 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3403 "Endpoint": "https://beta.example.com", 3404 "Region": "us-west-2", 3405 "RequiresAccountId": true, 3406 "UseArnRegion": false, 3407 "UseDualStack": false, 3408 "UseFIPS": false 3409 } 3410 }, 3411 { 3412 "documentation": "Accesspoint ARN with region mismatch and UseArnRegion unset", 3413 "expect": { 3414 "endpoint": { 3415 "headers": { 3416 "x-amz-account-id": [ 3417 "123456789012" 3418 ], 3419 "x-amz-outpost-id": [ 3420 "op-01234567890123456" 3421 ] 3422 }, 3423 "properties": { 3424 "authSchemes": [ 3425 { 3426 "name": "sigv4", 3427 "signingName": "s3-outposts", 3428 "signingRegion": "us-east-1", 3429 "disableDoubleEncoding": true 3430 } 3431 ] 3432 }, 3433 "url": "https://s3-outposts.us-east-1.amazonaws.com" 3434 } 3435 }, 3436 "operationInputs": [ 3437 { 3438 "builtInParams": { 3439 "AWS::Region": "us-west-2" 3440 }, 3441 "operationName": "GetAccessPoint", 3442 "operationParams": { 3443 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3444 "AccountId": "123456789012" 3445 } 3446 }, 3447 { 3448 "builtInParams": { 3449 "AWS::Region": "us-west-2" 3450 }, 3451 "operationName": "DeleteAccessPoint", 3452 "operationParams": { 3453 "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3454 "AccountId": "123456789012" 3455 } 3456 } 3457 ], 3458 "params": { 3459 "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3460 "AccountId": "123456789012", 3461 "Region": "us-west-2", 3462 "RequiresAccountId": true, 3463 "UseDualStack": false, 3464 "UseFIPS": false 3465 } 3466 }, 3467 { 3468 "documentation": "Bucket ARN with region mismatch and UseArnRegion unset", 3469 "expect": { 3470 "endpoint": { 3471 "headers": { 3472 "x-amz-account-id": [ 3473 "123456789012" 3474 ], 3475 "x-amz-outpost-id": [ 3476 "op-01234567890123456" 3477 ] 3478 }, 3479 "properties": { 3480 "authSchemes": [ 3481 { 3482 "name": "sigv4", 3483 "signingName": "s3-outposts", 3484 "signingRegion": "us-east-1", 3485 "disableDoubleEncoding": true 3486 } 3487 ] 3488 }, 3489 "url": "https://s3-outposts.us-east-1.amazonaws.com" 3490 } 3491 }, 3492 "operationInputs": [ 3493 { 3494 "builtInParams": { 3495 "AWS::Region": "us-west-2" 3496 }, 3497 "operationName": "GetBucket", 3498 "operationParams": { 3499 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3500 "AccountId": "123456789012" 3501 } 3502 } 3503 ], 3504 "params": { 3505 "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3506 "Region": "us-west-2", 3507 "RequiresAccountId": true, 3508 "UseDualStack": false, 3509 "UseFIPS": false 3510 } 3511 }, 3512 { 3513 "documentation": "Outpost Bucket ARN with partition mismatch with UseArnRegion=true", 3514 "expect": { 3515 "error": "Client was configured for partition `aws` but ARN has `aws-cn`" 3516 }, 3517 "operationInputs": [ 3518 { 3519 "builtInParams": { 3520 "AWS::Region": "us-west-2", 3521 "AWS::S3Control::UseArnRegion": true 3522 }, 3523 "operationName": "GetBucket", 3524 "operationParams": { 3525 "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3526 "AccountId": "123456789012" 3527 } 3528 } 3529 ], 3530 "params": { 3531 "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3532 "Region": "us-west-2", 3533 "RequiresAccountId": true, 3534 "UseArnRegion": true, 3535 "UseDualStack": false, 3536 "UseFIPS": false 3537 } 3538 }, 3539 { 3540 "documentation": "Accesspoint ARN with partition mismatch and UseArnRegion=true", 3541 "expect": { 3542 "error": "Client was configured for partition `aws` but ARN has `aws-cn`" 3543 }, 3544 "operationInputs": [ 3545 { 3546 "builtInParams": { 3547 "AWS::Region": "us-west-2", 3548 "AWS::S3Control::UseArnRegion": true 3549 }, 3550 "operationName": "GetAccessPoint", 3551 "operationParams": { 3552 "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3553 "AccountId": "123456789012" 3554 } 3555 }, 3556 { 3557 "builtInParams": { 3558 "AWS::Region": "us-west-2", 3559 "AWS::S3Control::UseArnRegion": true 3560 }, 3561 "operationName": "DeleteAccessPoint", 3562 "operationParams": { 3563 "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3564 "AccountId": "123456789012" 3565 } 3566 } 3567 ], 3568 "params": { 3569 "AccessPointName": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3570 "AccountId": "123456789012", 3571 "Region": "us-west-2", 3572 "RequiresAccountId": true, 3573 "UseDualStack": false, 3574 "UseArnRegion": true, 3575 "UseFIPS": false 3576 } 3577 }, 3578 { 3579 "documentation": "Accesspoint ARN with region mismatch, UseArnRegion=false and custom endpoint", 3580 "expect": { 3581 "error": "Invalid configuration: region from ARN `cn-north-1` does not match client region `us-west-2` and UseArnRegion is `false`" 3582 }, 3583 "params": { 3584 "AccessPointName": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint", 3585 "Region": "us-west-2", 3586 "Endpoint": "https://example.com", 3587 "RequiresAccountId": true, 3588 "UseDualStack": false, 3589 "UseArnRegion": false, 3590 "UseFIPS": false 3591 } 3592 }, 3593 { 3594 "documentation": "outpost bucket arn@us-west-2", 3595 "expect": { 3596 "endpoint": { 3597 "headers": { 3598 "x-amz-account-id": [ 3599 "123456789012" 3600 ], 3601 "x-amz-outpost-id": [ 3602 "op-01234567890123456" 3603 ] 3604 }, 3605 "properties": { 3606 "authSchemes": [ 3607 { 3608 "name": "sigv4", 3609 "signingName": "s3-outposts", 3610 "signingRegion": "us-west-2", 3611 "disableDoubleEncoding": true 3612 } 3613 ] 3614 }, 3615 "url": "https://s3-outposts.us-west-2.amazonaws.com" 3616 } 3617 }, 3618 "operationInputs": [ 3619 { 3620 "builtInParams": { 3621 "AWS::Region": "us-west-2" 3622 }, 3623 "operationName": "GetBucketVersioning", 3624 "operationParams": { 3625 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3626 "AccountId": "123456789012" 3627 } 3628 }, 3629 { 3630 "builtInParams": { 3631 "AWS::Region": "us-west-2" 3632 }, 3633 "operationName": "PutBucketVersioning", 3634 "operationParams": { 3635 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3636 "AccountId": "123456789012", 3637 "VersioningConfiguration": { 3638 "Status": "Enabled" 3639 } 3640 } 3641 } 3642 ], 3643 "params": { 3644 "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket", 3645 "Region": "us-west-2", 3646 "RequiresAccountId": true, 3647 "UseDualStack": false, 3648 "UseFIPS": false 3649 } 3650 }, 3651 { 3652 "documentation": "S3 Snow Control with bucket", 3653 "expect": { 3654 "endpoint": { 3655 "properties": { 3656 "authSchemes": [ 3657 { 3658 "name": "sigv4", 3659 "signingName": "s3", 3660 "signingRegion": "snow", 3661 "disableDoubleEncoding": true 3662 } 3663 ] 3664 }, 3665 "url": "https://10.0.1.12:433" 3666 } 3667 }, 3668 "params": { 3669 "Region": "snow", 3670 "Bucket": "bucketName", 3671 "Endpoint": "https://10.0.1.12:433", 3672 "UseFIPS": false, 3673 "UseDualStack": false 3674 } 3675 }, 3676 { 3677 "documentation": "S3 Snow Control without bucket", 3678 "expect": { 3679 "endpoint": { 3680 "properties": { 3681 "authSchemes": [ 3682 { 3683 "name": "sigv4", 3684 "signingName": "s3", 3685 "signingRegion": "snow", 3686 "disableDoubleEncoding": true 3687 } 3688 ] 3689 }, 3690 "url": "https://10.0.1.12:433" 3691 } 3692 }, 3693 "params": { 3694 "Region": "snow", 3695 "Endpoint": "https://10.0.1.12:433", 3696 "UseFIPS": false, 3697 "UseDualStack": false 3698 } 3699 }, 3700 { 3701 "documentation": "S3 Snow Control with bucket and without port", 3702 "expect": { 3703 "endpoint": { 3704 "properties": { 3705 "authSchemes": [ 3706 { 3707 "name": "sigv4", 3708 "signingName": "s3", 3709 "signingRegion": "snow", 3710 "disableDoubleEncoding": true 3711 } 3712 ] 3713 }, 3714 "url": "https://10.0.1.12" 3715 } 3716 }, 3717 "params": { 3718 "Region": "snow", 3719 "Bucket": "bucketName", 3720 "Endpoint": "https://10.0.1.12", 3721 "UseFIPS": false, 3722 "UseDualStack": false 3723 } 3724 }, 3725 { 3726 "documentation": "S3 Snow Control with bucket and with DNS", 3727 "expect": { 3728 "endpoint": { 3729 "properties": { 3730 "authSchemes": [ 3731 { 3732 "name": "sigv4", 3733 "signingName": "s3", 3734 "signingRegion": "snow", 3735 "disableDoubleEncoding": true 3736 } 3737 ] 3738 }, 3739 "url": "http://s3snow.com" 3740 } 3741 }, 3742 "params": { 3743 "Region": "snow", 3744 "Bucket": "bucketName", 3745 "Endpoint": "http://s3snow.com", 3746 "UseFIPS": false, 3747 "UseDualStack": false 3748 } 3749 }, 3750 { 3751 "documentation": "S3 Snow Control with FIPS enabled", 3752 "expect": { 3753 "error": "S3 Snow does not support FIPS" 3754 }, 3755 "params": { 3756 "Region": "snow", 3757 "Bucket": "bucketName", 3758 "Endpoint": "https://10.0.1.12:433", 3759 "UseFIPS": true, 3760 "UseDualStack": false 3761 } 3762 }, 3763 { 3764 "documentation": "S3 Snow Control with Dualstack enabled", 3765 "expect": { 3766 "error": "S3 Snow does not support DualStack" 3767 }, 3768 "params": { 3769 "Region": "snow", 3770 "Bucket": "bucketName", 3771 "Endpoint": "https://10.0.1.12:433", 3772 "UseFIPS": false, 3773 "UseDualStack": true 3774 } 3775 } 3776 ], 3777 "version": "1.0" 3778}