github.com/aavshr/aws-sdk-go@v1.41.3/models/protocol_tests/input/rest-json.json (about) 1 [ 2 { 3 "description": "No parameters", 4 "metadata": { 5 "protocol": "rest-json", 6 "apiVersion": "2014-01-01" 7 }, 8 "shapes": {}, 9 "cases": [ 10 { 11 "given": { 12 "http": { 13 "method": "GET", 14 "requestUri": "/2014-01-01/jobs" 15 }, 16 "name": "OperationName" 17 }, 18 "serialized": { 19 "body": "", 20 "uri": "/2014-01-01/jobs", 21 "headers": {} 22 } 23 } 24 ] 25 }, 26 { 27 "description": "URI parameter only with no location name", 28 "metadata": { 29 "protocol": "rest-json", 30 "apiVersion": "2014-01-01" 31 }, 32 "shapes": { 33 "InputShape": { 34 "type": "structure", 35 "members": { 36 "PipelineId": { 37 "shape": "StringType", 38 "location": "uri" 39 } 40 } 41 }, 42 "StringType": { 43 "type": "string" 44 } 45 }, 46 "cases": [ 47 { 48 "given": { 49 "http": { 50 "method": "GET", 51 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 52 }, 53 "input": { 54 "shape": "InputShape" 55 }, 56 "name": "OperationName" 57 }, 58 "params": { 59 "PipelineId": "foo" 60 }, 61 "serialized": { 62 "body": "", 63 "uri": "/2014-01-01/jobsByPipeline/foo", 64 "headers": {} 65 } 66 } 67 ] 68 }, 69 { 70 "description": "URI parameter only with location name", 71 "metadata": { 72 "protocol": "rest-json", 73 "apiVersion": "2014-01-01" 74 }, 75 "shapes": { 76 "InputShape": { 77 "type": "structure", 78 "members": { 79 "Foo": { 80 "shape": "StringType", 81 "location": "uri", 82 "locationName": "PipelineId" 83 } 84 } 85 }, 86 "StringType": { 87 "type": "string" 88 } 89 }, 90 "cases": [ 91 { 92 "given": { 93 "http": { 94 "method": "GET", 95 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 96 }, 97 "input": { 98 "shape": "InputShape" 99 }, 100 "name": "OperationName" 101 }, 102 "params": { 103 "Foo": "bar" 104 }, 105 "serialized": { 106 "body": "", 107 "uri": "/2014-01-01/jobsByPipeline/bar", 108 "headers": {} 109 } 110 } 111 ] 112 }, 113 { 114 "description": "Querystring list of strings", 115 "metadata": { 116 "protocol": "rest-json", 117 "apiVersion": "2014-01-01" 118 }, 119 "shapes": { 120 "InputShape": { 121 "type": "structure", 122 "members": { 123 "Items": { 124 "shape": "StringList", 125 "location": "querystring", 126 "locationName": "item" 127 } 128 } 129 }, 130 "StringList": { 131 "type": "list", 132 "member": { 133 "shape": "String" 134 } 135 }, 136 "String": { 137 "type": "string" 138 } 139 }, 140 "cases": [ 141 { 142 "given": { 143 "http": { 144 "method": "GET", 145 "requestUri": "/path" 146 }, 147 "input": { 148 "shape": "InputShape" 149 }, 150 "name": "OperationName" 151 }, 152 "params": { 153 "Items": ["value1", "value2"] 154 }, 155 "serialized": { 156 "body": "", 157 "uri": "/path?item=value1&item=value2", 158 "headers": {} 159 } 160 } 161 ] 162 }, 163 { 164 "description": "String to string maps in querystring", 165 "metadata": { 166 "protocol": "rest-json", 167 "apiVersion": "2014-01-01" 168 }, 169 "shapes": { 170 "InputShape": { 171 "type": "structure", 172 "members": { 173 "PipelineId": { 174 "shape": "StringType", 175 "location": "uri" 176 }, 177 "QueryDoc": { 178 "shape": "MapStringStringType", 179 "location": "querystring" 180 } 181 } 182 }, 183 "MapStringStringType": { 184 "type": "map", 185 "key": { 186 "shape": "StringType" 187 }, 188 "value": { 189 "shape": "StringType" 190 } 191 }, 192 "StringType": { 193 "type": "string" 194 } 195 }, 196 "cases": [ 197 { 198 "given": { 199 "http": { 200 "method": "GET", 201 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 202 }, 203 "input": { 204 "shape": "InputShape" 205 }, 206 "name": "OperationName" 207 }, 208 "params": { 209 "PipelineId": "foo", 210 "QueryDoc": { 211 "bar": "baz", 212 "fizz": "buzz" 213 } 214 }, 215 "serialized": { 216 "body": "", 217 "uri": "/2014-01-01/jobsByPipeline/foo?bar=baz&fizz=buzz", 218 "headers": {} 219 } 220 } 221 ] 222 }, 223 { 224 "description": "String to string list maps in querystring", 225 "metadata": { 226 "protocol": "rest-json", 227 "apiVersion": "2014-01-01" 228 }, 229 "shapes": { 230 "InputShape": { 231 "type": "structure", 232 "members": { 233 "PipelineId": { 234 "shape": "StringType", 235 "location": "uri" 236 }, 237 "QueryDoc": { 238 "shape": "MapStringStringListType", 239 "location": "querystring" 240 } 241 } 242 }, 243 "MapStringStringListType": { 244 "type": "map", 245 "key": { 246 "shape": "StringType" 247 }, 248 "value": { 249 "shape": "StringListType" 250 } 251 }, 252 "StringListType": { 253 "type": "list", 254 "member": { 255 "shape": "StringType" 256 } 257 }, 258 "StringType": { 259 "type": "string" 260 } 261 }, 262 "cases": [ 263 { 264 "given": { 265 "http": { 266 "method": "GET", 267 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 268 }, 269 "input": { 270 "shape": "InputShape" 271 }, 272 "name": "OperationName" 273 }, 274 "params": { 275 "PipelineId": "id", 276 "QueryDoc": { 277 "foo": ["bar", "baz"], 278 "fizz": ["buzz", "pop"] 279 } 280 }, 281 "serialized": { 282 "body": "", 283 "uri": "/2014-01-01/jobsByPipeline/id?foo=bar&foo=baz&fizz=buzz&fizz=pop", 284 "headers": {} 285 } 286 } 287 ] 288 }, 289 { 290 "description": "Boolean in querystring", 291 "metadata": { 292 "protocol": "rest-json", 293 "apiVersion": "2014-01-01" 294 }, 295 "shapes": { 296 "InputShape": { 297 "type": "structure", 298 "members": { 299 "BoolQuery": { 300 "shape": "BoolType", 301 "location": "querystring", 302 "locationName": "bool-query" 303 } 304 } 305 }, 306 "BoolType": { 307 "type": "boolean" 308 } 309 }, 310 "cases": [ 311 { 312 "given": { 313 "http": { 314 "method": "GET", 315 "requestUri": "/path" 316 }, 317 "input": { 318 "shape": "InputShape" 319 }, 320 "name": "OperationName" 321 }, 322 "params": { 323 "BoolQuery": true 324 }, 325 "serialized": { 326 "body": "", 327 "uri": "/path?bool-query=true", 328 "headers": {} 329 } 330 }, 331 { 332 "given": { 333 "http": { 334 "method": "GET", 335 "requestUri": "/path" 336 }, 337 "input": { 338 "shape": "InputShape" 339 }, 340 "name": "OperationName" 341 }, 342 "params": { 343 "BoolQuery": false 344 }, 345 "serialized": { 346 "body": "", 347 "uri": "/path?bool-query=false", 348 "headers": {} 349 } 350 } 351 ] 352 }, 353 { 354 "description": "URI parameter and querystring params", 355 "metadata": { 356 "protocol": "rest-json", 357 "apiVersion": "2014-01-01" 358 }, 359 "shapes": { 360 "InputShape": { 361 "type": "structure", 362 "members": { 363 "PipelineId": { 364 "shape": "StringType", 365 "location": "uri", 366 "locationName": "PipelineId" 367 }, 368 "Ascending": { 369 "shape": "StringType", 370 "location": "querystring", 371 "locationName": "Ascending" 372 }, 373 "PageToken": { 374 "shape": "StringType", 375 "location": "querystring", 376 "locationName": "PageToken" 377 } 378 } 379 }, 380 "StringType": { 381 "type": "string" 382 } 383 }, 384 "cases": [ 385 { 386 "given": { 387 "http": { 388 "method": "GET", 389 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 390 }, 391 "input": { 392 "shape": "InputShape" 393 }, 394 "name": "OperationName" 395 }, 396 "params": { 397 "PipelineId": "foo", 398 "Ascending": "true", 399 "PageToken": "bar" 400 }, 401 "serialized": { 402 "body": "", 403 "uri": "/2014-01-01/jobsByPipeline/foo?Ascending=true&PageToken=bar", 404 "headers": {} 405 } 406 } 407 ] 408 }, 409 { 410 "description": "URI parameter, querystring params and JSON body", 411 "metadata": { 412 "protocol": "rest-json", 413 "apiVersion": "2014-01-01" 414 }, 415 "shapes": { 416 "InputShape": { 417 "type": "structure", 418 "members": { 419 "PipelineId": { 420 "shape": "StringType", 421 "location": "uri", 422 "locationName": "PipelineId" 423 }, 424 "Ascending": { 425 "shape": "StringType", 426 "location": "querystring", 427 "locationName": "Ascending" 428 }, 429 "PageToken": { 430 "shape": "StringType", 431 "location": "querystring", 432 "locationName": "PageToken" 433 }, 434 "Config": { 435 "shape": "StructType" 436 } 437 } 438 }, 439 "StringType": { 440 "type": "string" 441 }, 442 "StructType": { 443 "type": "structure", 444 "members": { 445 "A": { 446 "shape": "StringType" 447 }, 448 "B": { 449 "shape": "StringType" 450 } 451 } 452 } 453 }, 454 "cases": [ 455 { 456 "given": { 457 "http": { 458 "method": "POST", 459 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 460 }, 461 "input": { 462 "shape": "InputShape" 463 }, 464 "name": "OperationName" 465 }, 466 "params": { 467 "PipelineId": "foo", 468 "Ascending": "true", 469 "PageToken": "bar", 470 "Config": { 471 "A": "one", 472 "B": "two" 473 } 474 }, 475 "serialized": { 476 "body": "{\"Config\": {\"A\": \"one\", \"B\": \"two\"}}", 477 "uri": "/2014-01-01/jobsByPipeline/foo?Ascending=true&PageToken=bar", 478 "headers": {} 479 } 480 } 481 ] 482 }, 483 { 484 "description": "URI parameter, querystring params, headers and JSON body", 485 "metadata": { 486 "protocol": "rest-json", 487 "apiVersion": "2014-01-01" 488 }, 489 "shapes": { 490 "InputShape": { 491 "type": "structure", 492 "members": { 493 "PipelineId": { 494 "shape": "StringType", 495 "location": "uri", 496 "locationName": "PipelineId" 497 }, 498 "Ascending": { 499 "shape": "StringType", 500 "location": "querystring", 501 "locationName": "Ascending" 502 }, 503 "Checksum": { 504 "shape": "StringType", 505 "location": "header", 506 "locationName": "x-amz-checksum" 507 }, 508 "PageToken": { 509 "shape": "StringType", 510 "location": "querystring", 511 "locationName": "PageToken" 512 }, 513 "Config": { 514 "shape": "StructType" 515 } 516 } 517 }, 518 "StringType": { 519 "type": "string" 520 }, 521 "StructType": { 522 "type": "structure", 523 "members": { 524 "A": { 525 "shape": "StringType" 526 }, 527 "B": { 528 "shape": "StringType" 529 } 530 } 531 } 532 }, 533 "cases": [ 534 { 535 "given": { 536 "http": { 537 "method": "POST", 538 "requestUri": "/2014-01-01/jobsByPipeline/{PipelineId}" 539 }, 540 "input": { 541 "shape": "InputShape" 542 }, 543 "name": "OperationName" 544 }, 545 "params": { 546 "PipelineId": "foo", 547 "Ascending": "true", 548 "Checksum": "12345", 549 "PageToken": "bar", 550 "Config": { 551 "A": "one", 552 "B": "two" 553 } 554 }, 555 "serialized": { 556 "body": "{\"Config\": {\"A\": \"one\", \"B\": \"two\"}}", 557 "uri": "/2014-01-01/jobsByPipeline/foo?Ascending=true&PageToken=bar", 558 "headers": { 559 "x-amz-checksum": "12345" 560 } 561 } 562 } 563 ] 564 }, 565 { 566 "description": "Streaming payload", 567 "metadata": { 568 "protocol": "rest-json", 569 "apiVersion": "2014-01-01" 570 }, 571 "shapes": { 572 "InputShape": { 573 "type": "structure", 574 "members": { 575 "vaultName": { 576 "shape": "StringType", 577 "location": "uri", 578 "locationName": "vaultName" 579 }, 580 "checksum": { 581 "shape": "StringType", 582 "location": "header", 583 "locationName": "x-amz-sha256-tree-hash" 584 }, 585 "body": { 586 "shape": "Stream" 587 } 588 }, 589 "required": [ 590 "vaultName" 591 ], 592 "payload": "body" 593 }, 594 "StringType": { 595 "type": "string" 596 }, 597 "Stream": { 598 "type": "blob", 599 "streaming": true 600 } 601 }, 602 "cases": [ 603 { 604 "given": { 605 "http": { 606 "method": "POST", 607 "requestUri": "/2014-01-01/vaults/{vaultName}/archives" 608 }, 609 "input": { 610 "shape": "InputShape" 611 }, 612 "name": "OperationName" 613 }, 614 "params": { 615 "vaultName": "name", 616 "checksum": "foo", 617 "body": "contents" 618 }, 619 "serialized": { 620 "body": "contents", 621 "uri": "/2014-01-01/vaults/name/archives", 622 "headers": { 623 "x-amz-sha256-tree-hash": "foo" 624 } 625 } 626 } 627 ] 628 }, 629 { 630 "description": "Serialize blobs in body", 631 "metadata": { 632 "protocol": "rest-json", 633 "apiVersion": "2014-01-01" 634 }, 635 "shapes": { 636 "InputShape": { 637 "type": "structure", 638 "members": { 639 "Foo": { 640 "shape": "StringType", 641 "location": "uri", 642 "locationName": "Foo" 643 }, 644 "Bar": {"shape": "BlobType"} 645 }, 646 "required": [ 647 "Foo" 648 ] 649 }, 650 "StringType": { 651 "type": "string" 652 }, 653 "BlobType": { 654 "type": "blob" 655 } 656 }, 657 "cases": [ 658 { 659 "given": { 660 "http": { 661 "method": "POST", 662 "requestUri": "/2014-01-01/{Foo}" 663 }, 664 "input": { 665 "shape": "InputShape" 666 }, 667 "name": "OperationName" 668 }, 669 "params": { 670 "Foo": "foo_name", 671 "Bar": "Blob param" 672 }, 673 "serialized": { 674 "body": "{\"Bar\": \"QmxvYiBwYXJhbQ==\"}", 675 "uri": "/2014-01-01/foo_name" 676 } 677 } 678 ] 679 }, 680 { 681 "description": "Blob payload", 682 "metadata": { 683 "protocol": "rest-json", 684 "apiVersion": "2014-01-01" 685 }, 686 "shapes": { 687 "InputShape": { 688 "type": "structure", 689 "members": { 690 "foo": { 691 "shape": "FooShape" 692 } 693 } 694 }, 695 "FooShape": { 696 "type": "blob" 697 } 698 }, 699 "cases": [ 700 { 701 "given": { 702 "http": { 703 "method": "POST", 704 "requestUri": "/" 705 }, 706 "input": { 707 "shape": "InputShape", 708 "payload": "foo" 709 }, 710 "name": "OperationName" 711 }, 712 "params": { 713 "foo": "bar" 714 }, 715 "serialized": { 716 "method": "POST", 717 "body": "bar", 718 "uri": "/" 719 } 720 }, 721 { 722 "given": { 723 "http": { 724 "method": "POST", 725 "requestUri": "/" 726 }, 727 "input": { 728 "shape": "InputShape", 729 "payload": "foo" 730 }, 731 "name": "OperationName" 732 }, 733 "params": { 734 }, 735 "serialized": { 736 "method": "POST", 737 "body": "", 738 "uri": "/" 739 } 740 } 741 ] 742 }, 743 { 744 "description": "Structure payload", 745 "metadata": { 746 "protocol": "rest-json", 747 "apiVersion": "2014-01-01" 748 }, 749 "shapes": { 750 "InputShape": { 751 "type": "structure", 752 "members": { 753 "foo": { 754 "shape": "FooShape" 755 } 756 } 757 }, 758 "FooShape": { 759 "locationName": "foo", 760 "type": "structure", 761 "members": { 762 "baz": { 763 "shape": "BazShape" 764 } 765 } 766 }, 767 "BazShape": { 768 "type": "string" 769 } 770 }, 771 "cases": [ 772 { 773 "given": { 774 "http": { 775 "method": "POST", 776 "requestUri": "/" 777 }, 778 "input": { 779 "shape": "InputShape", 780 "payload": "foo" 781 }, 782 "name": "OperationName" 783 }, 784 "params": { 785 "foo": { 786 "baz": "bar" 787 } 788 }, 789 "serialized": { 790 "method": "POST", 791 "body": "{\"baz\": \"bar\"}", 792 "uri": "/" 793 } 794 }, 795 { 796 "given": { 797 "http": { 798 "method": "POST", 799 "requestUri": "/" 800 }, 801 "input": { 802 "shape": "InputShape", 803 "payload": "foo" 804 }, 805 "name": "OperationName" 806 }, 807 "params": {}, 808 "serialized": { 809 "method": "POST", 810 "body": "{}", 811 "uri": "/" 812 } 813 } 814 ] 815 }, 816 { 817 "description": "Omits null query params, but serializes empty strings", 818 "metadata": { 819 "protocol": "rest-json", 820 "apiVersion": "2014-01-01" 821 }, 822 "shapes": { 823 "InputShape": { 824 "type": "structure", 825 "members": { 826 "foo": { 827 "location":"querystring", 828 "locationName":"param-name", 829 "shape": "Foo" 830 } 831 } 832 }, 833 "Foo": { 834 "type": "string" 835 } 836 }, 837 "cases": [ 838 { 839 "given": { 840 "name": "OperationName", 841 "http": { 842 "method": "POST", 843 "requestUri": "/path" 844 }, 845 "input": { "shape": "InputShape" } 846 }, 847 "params": { "foo": null }, 848 "serialized": { 849 "method": "POST", 850 "body": "", 851 "uri": "/path" 852 } 853 }, 854 { 855 "given": { 856 "name": "OperationName", 857 "http": { 858 "method": "POST", 859 "requestUri": "/path?abc=mno" 860 }, 861 "input": { "shape": "InputShape" } 862 }, 863 "params": { "foo": "" }, 864 "serialized": { 865 "method": "POST", 866 "body": "", 867 "uri": "/path?abc=mno¶m-name=" 868 } 869 } 870 ] 871 }, 872 { 873 "description": "Recursive shapes", 874 "metadata": { 875 "protocol": "rest-json", 876 "apiVersion": "2014-01-01" 877 }, 878 "shapes": { 879 "InputShape": { 880 "type": "structure", 881 "members": { 882 "RecursiveStruct": { 883 "shape": "RecursiveStructType" 884 } 885 } 886 }, 887 "RecursiveStructType": { 888 "type": "structure", 889 "members": { 890 "NoRecurse": { 891 "shape": "StringType" 892 }, 893 "RecursiveStruct": { 894 "shape": "RecursiveStructType" 895 }, 896 "RecursiveList": { 897 "shape": "RecursiveListType" 898 }, 899 "RecursiveMap": { 900 "shape": "RecursiveMapType" 901 } 902 } 903 }, 904 "RecursiveListType": { 905 "type": "list", 906 "member": { 907 "shape": "RecursiveStructType" 908 } 909 }, 910 "RecursiveMapType": { 911 "type": "map", 912 "key": { 913 "shape": "StringType" 914 }, 915 "value": { 916 "shape": "RecursiveStructType" 917 } 918 }, 919 "StringType": { 920 "type": "string" 921 } 922 }, 923 "cases": [ 924 { 925 "given": { 926 "input": { 927 "shape": "InputShape" 928 }, 929 "http": { 930 "method": "POST", 931 "requestUri": "/path" 932 }, 933 "name": "OperationName" 934 }, 935 "params": { 936 "RecursiveStruct": { 937 "NoRecurse": "foo" 938 } 939 }, 940 "serialized": { 941 "uri": "/path" , 942 "headers": {}, 943 "body": "{\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}" 944 } 945 }, 946 { 947 "given": { 948 "input": { 949 "shape": "InputShape" 950 }, 951 "http": { 952 "method": "POST", 953 "requestUri": "/path" 954 }, 955 "name": "OperationName" 956 }, 957 "params": { 958 "RecursiveStruct": { 959 "RecursiveStruct": { 960 "NoRecurse": "foo" 961 } 962 } 963 }, 964 "serialized": { 965 "uri": "/path", 966 "headers": {}, 967 "body": "{\"RecursiveStruct\": {\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}}" 968 } 969 }, 970 { 971 "given": { 972 "input": { 973 "shape": "InputShape" 974 }, 975 "http": { 976 "method": "POST", 977 "requestUri": "/path" 978 }, 979 "name": "OperationName" 980 }, 981 "params": { 982 "RecursiveStruct": { 983 "RecursiveStruct": { 984 "RecursiveStruct": { 985 "RecursiveStruct": { 986 "NoRecurse": "foo" 987 } 988 } 989 } 990 } 991 }, 992 "serialized": { 993 "uri": "/path", 994 "headers": {}, 995 "body": "{\"RecursiveStruct\": {\"RecursiveStruct\": {\"RecursiveStruct\": {\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}}}}" 996 } 997 }, 998 { 999 "given": { 1000 "input": { 1001 "shape": "InputShape" 1002 }, 1003 "http": { 1004 "method": "POST", 1005 "requestUri": "/path" 1006 }, 1007 "name": "OperationName" 1008 }, 1009 "params": { 1010 "RecursiveStruct": { 1011 "RecursiveList": [ 1012 { 1013 "NoRecurse": "foo" 1014 }, 1015 { 1016 "NoRecurse": "bar" 1017 } 1018 ] 1019 } 1020 }, 1021 "serialized": { 1022 "uri": "/path", 1023 "headers": {}, 1024 "body": "{\"RecursiveStruct\": {\"RecursiveList\": [{\"NoRecurse\": \"foo\"}, {\"NoRecurse\": \"bar\"}]}}" 1025 } 1026 }, 1027 { 1028 "given": { 1029 "input": { 1030 "shape": "InputShape" 1031 }, 1032 "http": { 1033 "method": "POST", 1034 "requestUri": "/path" 1035 }, 1036 "name": "OperationName" 1037 }, 1038 "params": { 1039 "RecursiveStruct": { 1040 "RecursiveList": [ 1041 { 1042 "NoRecurse": "foo" 1043 }, 1044 { 1045 "RecursiveStruct": { 1046 "NoRecurse": "bar" 1047 } 1048 } 1049 ] 1050 } 1051 }, 1052 "serialized": { 1053 "uri": "/path", 1054 "headers": {}, 1055 "body": "{\"RecursiveStruct\": {\"RecursiveList\": [{\"NoRecurse\": \"foo\"}, {\"RecursiveStruct\": {\"NoRecurse\": \"bar\"}}]}}" 1056 } 1057 }, 1058 { 1059 "given": { 1060 "input": { 1061 "shape": "InputShape" 1062 }, 1063 "http": { 1064 "method": "POST", 1065 "requestUri": "/path" 1066 }, 1067 "name": "OperationName" 1068 }, 1069 "params": { 1070 "RecursiveStruct": { 1071 "RecursiveMap": { 1072 "foo": { 1073 "NoRecurse": "foo" 1074 }, 1075 "bar": { 1076 "NoRecurse": "bar" 1077 } 1078 } 1079 } 1080 }, 1081 "serialized": { 1082 "uri": "/path", 1083 "headers": {}, 1084 "body": "{\"RecursiveStruct\": {\"RecursiveMap\": {\"foo\": {\"NoRecurse\": \"foo\"}, \"bar\": {\"NoRecurse\": \"bar\"}}}}" 1085 } 1086 } 1087 ] 1088 }, 1089 { 1090 "description": "Timestamp values", 1091 "metadata": { 1092 "protocol": "rest-json", 1093 "apiVersion": "2014-01-01" 1094 }, 1095 "shapes": { 1096 "InputShape": { 1097 "type": "structure", 1098 "members": { 1099 "TimeArg": { 1100 "shape": "TimestampType" 1101 }, 1102 "TimeArgInHeader": { 1103 "shape": "TimestampType", 1104 "location": "header", 1105 "locationName": "x-amz-timearg" 1106 }, 1107 "TimeArgInQuery": { 1108 "shape": "TimestampType", 1109 "location": "querystring", 1110 "locationName": "TimeQuery" 1111 }, 1112 "TimeCustom": { 1113 "timestampFormat": "iso8601", 1114 "shape": "TimestampType" 1115 }, 1116 "TimeCustomInHeader": { 1117 "timestampFormat": "unixTimestamp", 1118 "shape": "TimestampType", 1119 "location": "header", 1120 "locationName": "x-amz-timecustom-header" 1121 }, 1122 "TimeCustomInQuery": { 1123 "timestampFormat": "unixTimestamp", 1124 "shape": "TimestampType", 1125 "location": "querystring", 1126 "locationName": "TimeCustomQuery" 1127 }, 1128 "TimeFormat": { 1129 "shape": "TimestampFormatRfcType" 1130 }, 1131 "TimeFormatInHeader": { 1132 "shape": "TimestampFormatUnixType", 1133 "location": "header", 1134 "locationName": "x-amz-timeformat-header" 1135 }, 1136 "TimeFormatInQuery": { 1137 "shape": "TimestampFormatUnixType", 1138 "location": "querystring", 1139 "locationName": "TimeFormatQuery" 1140 } 1141 } 1142 }, 1143 "TimestampFormatRfcType": { 1144 "timestampFormat": "rfc822", 1145 "type": "timestamp" 1146 }, 1147 "TimestampFormatUnixType": { 1148 "timestampFormat": "unixTimestamp", 1149 "type": "timestamp" 1150 }, 1151 "TimestampType": { 1152 "type": "timestamp" 1153 } 1154 }, 1155 "cases": [ 1156 { 1157 "given": { 1158 "input": { 1159 "shape": "InputShape" 1160 }, 1161 "http": { 1162 "method": "POST", 1163 "requestUri": "/path" 1164 }, 1165 "name": "OperationName" 1166 }, 1167 "params": { 1168 "TimeArg": 1422172800, 1169 "TimeArgInQuery": 1422172800, 1170 "TimeArgInHeader": 1422172800, 1171 "TimeCustom": 1422172800, 1172 "TimeCustomInQuery": 1422172800, 1173 "TimeCustomInHeader": 1422172800, 1174 "TimeFormat": 1422172800, 1175 "TimeFormatInQuery": 1422172800, 1176 "TimeFormatInHeader": 1422172800 1177 }, 1178 "serialized": { 1179 "uri": "/path?TimeQuery=2015-01-25T08%3A00%3A00Z&TimeCustomQuery=1422172800&TimeFormatQuery=1422172800", 1180 "headers": { 1181 "x-amz-timearg": "Sun, 25 Jan 2015 08:00:00 GMT", 1182 "x-amz-timecustom-header": "1422172800", 1183 "x-amz-timeformat-header": "1422172800" 1184 }, 1185 "body": "{\"TimeArg\": 1422172800, \"TimeCustom\": \"2015-01-25T08:00:00Z\", \"TimeFormat\": \"Sun, 25 Jan 2015 08:00:00 GMT\"}" 1186 } 1187 } 1188 ] 1189 }, 1190 { 1191 "description": "Named locations in JSON body", 1192 "metadata": { 1193 "protocol": "rest-json", 1194 "apiVersion": "2014-01-01" 1195 }, 1196 "shapes": { 1197 "InputShape": { 1198 "type": "structure", 1199 "members": { 1200 "TimeArg": { 1201 "shape": "TimestampType", 1202 "locationName": "timestamp_location" 1203 } 1204 } 1205 }, 1206 "TimestampType": { 1207 "type": "timestamp" 1208 } 1209 }, 1210 "cases": [ 1211 { 1212 "given": { 1213 "input": { 1214 "shape": "InputShape" 1215 }, 1216 "http": { 1217 "method": "POST", 1218 "requestUri": "/path" 1219 }, 1220 "name": "OperationName" 1221 }, 1222 "params": { 1223 "TimeArg": 1422172800 1224 }, 1225 "serialized": { 1226 "uri": "/path", 1227 "headers": {}, 1228 "body": "{\"timestamp_location\": 1422172800}" 1229 } 1230 } 1231 ] 1232 }, 1233 { 1234 "description": "String payload", 1235 "metadata": { 1236 "protocol": "rest-json", 1237 "apiVersion": "2014-01-01" 1238 }, 1239 "shapes": { 1240 "InputShape": { 1241 "type": "structure", 1242 "members": { 1243 "foo": { 1244 "shape": "FooShape" 1245 } 1246 } 1247 }, 1248 "FooShape": { 1249 "type": "string" 1250 } 1251 }, 1252 "cases": [ 1253 { 1254 "given": { 1255 "http": { 1256 "method": "POST", 1257 "requestUri": "/" 1258 }, 1259 "input": { 1260 "shape": "InputShape", 1261 "payload": "foo" 1262 }, 1263 "name": "OperationName" 1264 }, 1265 "params": { 1266 "foo": "bar" 1267 }, 1268 "serialized": { 1269 "method": "POST", 1270 "body": "bar", 1271 "uri": "/" 1272 } 1273 } 1274 ] 1275 }, 1276 { 1277 "description": "Idempotency token auto fill", 1278 "metadata": { 1279 "protocol": "rest-json", 1280 "apiVersion": "2014-01-01" 1281 }, 1282 "shapes": { 1283 "InputShape": { 1284 "type": "structure", 1285 "members": { 1286 "Token": { 1287 "shape": "StringType", 1288 "idempotencyToken": true 1289 } 1290 } 1291 }, 1292 "StringType": { 1293 "type": "string" 1294 } 1295 }, 1296 "cases": [ 1297 { 1298 "given": { 1299 "input": { 1300 "shape": "InputShape" 1301 }, 1302 "http": { 1303 "method": "POST", 1304 "requestUri": "/path" 1305 }, 1306 "name": "OperationName" 1307 }, 1308 "params": { 1309 "Token": "abc123" 1310 }, 1311 "serialized": { 1312 "uri": "/path", 1313 "headers": {}, 1314 "body": "{\"Token\": \"abc123\"}" 1315 } 1316 }, 1317 { 1318 "given": { 1319 "input": { 1320 "shape": "InputShape" 1321 }, 1322 "http": { 1323 "method": "POST", 1324 "requestUri": "/path" 1325 }, 1326 "name": "OperationName" 1327 }, 1328 "params": { 1329 }, 1330 "serialized": { 1331 "uri": "/path", 1332 "headers": {}, 1333 "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}" 1334 } 1335 } 1336 ] 1337 }, 1338 { 1339 "description": "JSON value trait", 1340 "metadata": { 1341 "protocol": "rest-json", 1342 "apiVersion": "2014-01-01" 1343 }, 1344 "shapes": { 1345 "InputShape": { 1346 "type": "structure", 1347 "payload": "Body", 1348 "members": { 1349 "HeaderField": { 1350 "shape": "StringType", 1351 "jsonvalue": true, 1352 "location": "header", 1353 "locationName": "X-Amz-Foo" 1354 }, 1355 "QueryField": { 1356 "shape": "StringType", 1357 "jsonvalue": true, 1358 "location": "querystring", 1359 "locationName": "Bar" 1360 }, 1361 "Body": { 1362 "shape": "BodyStructure" 1363 } 1364 } 1365 }, 1366 "StringType": { 1367 "type": "string" 1368 }, 1369 "ListType": { 1370 "type": "list", 1371 "member": { 1372 "shape": "StringType", 1373 "jsonvalue": true 1374 } 1375 }, 1376 "BodyStructure": { 1377 "type": "structure", 1378 "members": { 1379 "BodyField": { 1380 "shape": "StringType", 1381 "jsonvalue": true 1382 }, 1383 "BodyListField": { 1384 "shape": "ListType" 1385 } 1386 } 1387 } 1388 }, 1389 "cases": [ 1390 { 1391 "given": { 1392 "input": { 1393 "shape": "InputShape" 1394 }, 1395 "http": { 1396 "method": "POST" 1397 }, 1398 "name": "OperationName" 1399 }, 1400 "params": { 1401 "HeaderField": {"Foo":"Bar"}, 1402 "QueryField": {"Foo":"Bar"}, 1403 "Body": { 1404 "BodyField": {"Foo":"Bar"} 1405 } 1406 }, 1407 "serialized": { 1408 "uri": "/?Bar=%7B%22Foo%22%3A%22Bar%22%7D", 1409 "headers": {"X-Amz-Foo": "eyJGb28iOiJCYXIifQ=="}, 1410 "body": "{\"BodyField\":\"{\\\"Foo\\\":\\\"Bar\\\"}\"}" 1411 } 1412 }, 1413 { 1414 "given": { 1415 "input": { 1416 "shape": "InputShape" 1417 }, 1418 "http": { 1419 "method": "POST" 1420 }, 1421 "name": "OperationName" 1422 }, 1423 "params": { 1424 "Body": { 1425 "BodyListField": [{"Foo":"Bar"}] 1426 } 1427 }, 1428 "serialized": { 1429 "uri": "/", 1430 "headers": {}, 1431 "body": "{\"BodyListField\":[\"{\\\"Foo\\\":\\\"Bar\\\"}\"]}" 1432 } 1433 }, 1434 { 1435 "given": { 1436 "input": { 1437 "shape": "InputShape" 1438 }, 1439 "http": { 1440 "method": "POST" 1441 }, 1442 "name": "OperationName" 1443 }, 1444 "params": { 1445 }, 1446 "serialized": { 1447 "uri": "/", 1448 "headers": {}, 1449 "body": "" 1450 } 1451 } 1452 ] 1453 }, 1454 { 1455 "description": "Enum", 1456 "metadata": { 1457 "protocol": "rest-json", 1458 "apiVersion": "2014-01-01" 1459 }, 1460 "shapes": { 1461 "InputShape": { 1462 "type": "structure", 1463 "members": { 1464 "HeaderEnum": { 1465 "shape": "EnumType", 1466 "location": "header", 1467 "locationName": "x-amz-enum" 1468 }, 1469 "FooEnum": { 1470 "shape": "EnumType" 1471 }, 1472 "QueryFooEnum": { 1473 "shape": "EnumType", 1474 "location": "querystring", 1475 "locationName": "Enum" 1476 }, 1477 "ListEnums": { 1478 "shape": "EnumList" 1479 }, 1480 "QueryListEnums": { 1481 "shape": "EnumList", 1482 "location": "querystring", 1483 "locationName": "List" 1484 } 1485 } 1486 }, 1487 "EnumType":{ 1488 "type":"string", 1489 "enum":[ 1490 "foo", 1491 "bar", 1492 "0", 1493 "1" 1494 ] 1495 }, 1496 "EnumList":{ 1497 "type":"list", 1498 "member": {"shape": "EnumType"} 1499 } 1500 }, 1501 "cases": [ 1502 { 1503 "given": { 1504 "input": { 1505 "shape": "InputShape" 1506 }, 1507 "http": { 1508 "method": "POST", 1509 "requestUri": "/path" 1510 }, 1511 "name": "OperationName" 1512 }, 1513 "params": { 1514 "HeaderEnum": "baz", 1515 "FooEnum": "foo", 1516 "QueryFooEnum": "bar", 1517 "ListEnums": ["foo", "", "bar"], 1518 "QueryListEnums": ["0", "1", ""] 1519 }, 1520 "serialized": { 1521 "uri": "/path?Enum=bar&List=0&List=1&List=", 1522 "headers": {"x-amz-enum": "baz"}, 1523 "body": "{\"FooEnum\": \"foo\", \"ListEnums\": [\"foo\", \"\", \"bar\"]}" 1524 } 1525 }, 1526 { 1527 "given": { 1528 "input": { 1529 "shape": "InputShape" 1530 }, 1531 "http": { 1532 "method": "POST", 1533 "requestUri": "/path" 1534 }, 1535 "name": "OperationName" 1536 }, 1537 "params": { 1538 }, 1539 "serialized": { 1540 "uri": "/path", 1541 "headers": {} 1542 } 1543 } 1544 ] 1545 }, 1546 { 1547 "description": "Endpoint host trait", 1548 "metadata": { 1549 "protocol": "rest-json", 1550 "apiVersion": "2014-01-01" 1551 }, 1552 "clientEndpoint": "https://service.region.amazonaws.com", 1553 "shapes": { 1554 "StaticInputShape": { 1555 "type": "structure", 1556 "members": { 1557 "Name": { 1558 "shape": "StringType" 1559 } 1560 } 1561 }, 1562 "MemberRefInputShape": { 1563 "type": "structure", 1564 "members": { 1565 "Name": { 1566 "shape": "StringType", 1567 "hostLabel": true 1568 } 1569 } 1570 }, 1571 "StringType": { 1572 "type": "string" 1573 } 1574 }, 1575 "cases": [ 1576 { 1577 "given": { 1578 "name": "StaticOp", 1579 "input": { 1580 "shape": "StaticInputShape" 1581 }, 1582 "http": { 1583 "method": "POST", 1584 "requestUri": "/path" 1585 }, 1586 "endpoint":{ 1587 "hostPrefix": "data-" 1588 } 1589 }, 1590 "params": { 1591 "Name": "myname" 1592 }, 1593 "serialized": { 1594 "uri": "/path", 1595 "body": "{\"Name\": \"myname\"}", 1596 "host": "data-service.region.amazonaws.com" 1597 } 1598 }, 1599 { 1600 "given": { 1601 "name": "MemberRefOp", 1602 "input": { 1603 "shape": "MemberRefInputShape" 1604 }, 1605 "http": { 1606 "method": "POST", 1607 "requestUri": "/path" 1608 }, 1609 "endpoint":{ 1610 "hostPrefix": "foo-{Name}." 1611 } 1612 }, 1613 "params": { 1614 "Name": "myname" 1615 }, 1616 "serialized": { 1617 "uri": "/path", 1618 "body": "{\"Name\": \"myname\"}", 1619 "host": "foo-myname.service.region.amazonaws.com" 1620 } 1621 } 1622 ] 1623 }, 1624 { 1625 "description": "Union trait", 1626 "metadata": { 1627 "protocol": "rest-json", 1628 "apiVersion": "2014-01-01" 1629 }, 1630 "shapes": { 1631 "InputShape": { 1632 "type": "structure", 1633 "members": { 1634 "OneOf": {"shape": "MyUnion"} 1635 } 1636 }, 1637 "MyUnion": { 1638 "type": "structure", 1639 "union": true, 1640 "members": { 1641 "a": {"shape": "StringType"}, 1642 "b": {"shape": "StringType"}, 1643 "c": {"shape": "Struct"}, 1644 "d": {"shape": "Struct"}, 1645 "e": {"shape": "ComplexList"} 1646 } 1647 }, 1648 "StringType": { 1649 "type": "string" 1650 }, 1651 "Struct": { 1652 "type": "structure", 1653 "members": { 1654 "hello": {"shape": "StringType"} 1655 } 1656 }, 1657 "ComplexList": { 1658 "type": "list", 1659 "member": {"shape": "Struct"} 1660 } 1661 }, 1662 "cases": [ 1663 { 1664 "given": { 1665 "input": { 1666 "shape": "InputShape" 1667 }, 1668 "http": { 1669 "method": "POST" 1670 }, 1671 "name": "OperationName" 1672 }, 1673 "params": { 1674 "OneOf": {"a": "hi"} 1675 }, 1676 "serialized": { 1677 "uri": "/", 1678 "body": "{\"OneOf\": {\"a\": \"hi\"}}" 1679 } 1680 }, 1681 { 1682 "given": { 1683 "input": { 1684 "shape": "InputShape" 1685 }, 1686 "http": { 1687 "method": "POST" 1688 }, 1689 "name": "OperationName" 1690 }, 1691 "params": { 1692 "OneOf": {"b": "hi"} 1693 }, 1694 "serialized": { 1695 "uri": "/", 1696 "body": "{\"OneOf\": {\"b\": \"hi\"}}" 1697 } 1698 }, 1699 { 1700 "given": { 1701 "input": { 1702 "shape": "InputShape" 1703 }, 1704 "http": { 1705 "method": "POST" 1706 }, 1707 "name": "OperationName" 1708 }, 1709 "params": { 1710 "OneOf": { 1711 "c": { 1712 "hello": "hi" 1713 } 1714 } 1715 }, 1716 "serialized": { 1717 "uri": "/", 1718 "body": "{\"OneOf\": {\"c\": {\"hello\": \"hi\"}}}" 1719 } 1720 }, 1721 { 1722 "given": { 1723 "input": { 1724 "shape": "InputShape" 1725 }, 1726 "http": { 1727 "method": "POST" 1728 }, 1729 "name": "OperationName" 1730 }, 1731 "params": { 1732 "OneOf": { 1733 "d": { 1734 "hello": "hi" 1735 } 1736 } 1737 }, 1738 "serialized": { 1739 "uri": "/", 1740 "body": "{\"OneOf\": {\"d\": {\"hello\": \"hi\"}}}" 1741 } 1742 }, 1743 { 1744 "given": { 1745 "input": { 1746 "shape": "InputShape" 1747 }, 1748 "http": { 1749 "method": "POST" 1750 }, 1751 "name": "OperationName" 1752 }, 1753 "params": { 1754 "OneOf": { 1755 "e": [ 1756 {"hello": "hi"} 1757 ] 1758 } 1759 }, 1760 "serialized": { 1761 "uri": "/", 1762 "body": "{\"OneOf\": {\"e\": [{\"hello\": \"hi\"}]}}" 1763 } 1764 } 1765 ] 1766 }, 1767 { 1768 "description": "rest-json Content-Type and body", 1769 "metadata": { 1770 "protocol": "rest-json", 1771 "apiVersion": "2021-05-13" 1772 }, 1773 "clientEndpoint": "https://rest-test.amazonaws.com", 1774 "shapes":{ 1775 "Integer":{ 1776 "type":"integer" 1777 }, 1778 "String":{"type":"string"}, 1779 "Blob":{"type":"blob"}, 1780 "NoPayloadRequest":{ 1781 "type":"structure", 1782 "required":[], 1783 "members":{ 1784 "testId":{ 1785 "shape":"TestId", 1786 "documentation":"<p> The unique ID for a test. </p>", 1787 "location":"header", 1788 "locationName":"x-amz-test-id" 1789 } 1790 }, 1791 "documentation":"<p> The request structure for a no payload request. </p>" 1792 }, 1793 "TestId":{ 1794 "type":"string", 1795 "max":8, 1796 "min":3, 1797 "pattern":"t-[a-z0-9-]+" 1798 }, 1799 "TestConfig":{ 1800 "type":"structure", 1801 "required":[], 1802 "members":{ 1803 "timeout":{ 1804 "shape":"Integer", 1805 "documentation":"<p> Timeout in seconds </p>" 1806 } 1807 } 1808 }, 1809 "PayloadConfig":{ 1810 "type":"structure", 1811 "required":[], 1812 "members":{ 1813 "data":{ 1814 "shape":"Integer", 1815 "documentation":"<p> Numerical data </p>" 1816 } 1817 } 1818 }, 1819 "TestBodyRequest":{ 1820 "type":"structure", 1821 "required":[], 1822 "members":{ 1823 "testConfig":{ 1824 "shape":"TestConfig", 1825 "documentation":"<p> Content to post </p>" 1826 }, 1827 "testId":{ 1828 "shape":"TestId", 1829 "documentation":"<p> Optional test identifier </p>", 1830 "location":"header", 1831 "locationName":"x-amz-test-id" 1832 } 1833 }, 1834 "documentation":"<p> The request structure for a test body request. </p>" 1835 }, 1836 "TestPayloadRequest":{ 1837 "type":"structure", 1838 "required":[], 1839 "members":{ 1840 "payloadConfig":{ 1841 "shape":"PayloadConfig", 1842 "documentation":"<p> Payload to post </p>" 1843 }, 1844 "testId":{ 1845 "shape":"TestId", 1846 "documentation":"<p> Optional test identifier </p>", 1847 "location":"header", 1848 "locationName":"x-amz-test-id" 1849 } 1850 }, 1851 "documentation":"<p> The request structure for a payload request. </p>", 1852 "payload":"payloadConfig" 1853 }, 1854 "TestBlobPayloadRequest":{ 1855 "type":"structure", 1856 "required":[], 1857 "members":{ 1858 "data":{ 1859 "shape":"Blob", 1860 "documentation":"<p> Blob payload to post </p>" 1861 }, 1862 "contentType":{ 1863 "shape":"String", 1864 "documentation":"<p> Optional content-type header </p>", 1865 "location":"header", 1866 "locationName":"Content-Type" 1867 } 1868 }, 1869 "documentation":"<p> The request structure for a blob payload request. </p>", 1870 "payload":"data" 1871 } 1872 }, 1873 "cases": [ 1874 { 1875 "given": { 1876 "name": "TestBody", 1877 "input": { 1878 "shape": "TestBodyRequest" 1879 }, 1880 "http": { 1881 "method": "POST", 1882 "requestUri": "/body" 1883 } 1884 }, 1885 "params": { 1886 "testConfig": { 1887 "timeout": 10 1888 }, 1889 "testId": "t-12345" 1890 }, 1891 "serialized": { 1892 "uri": "/body", 1893 "body": "{\"testConfig\": {\"timeout\": 10}}", 1894 "headers": { 1895 "x-amz-test-id": "t-12345", 1896 "Content-Type": "application/json" 1897 }, 1898 "host": "rest-test.amazonaws.com" 1899 } 1900 }, 1901 { 1902 "given": { 1903 "name": "TestPayloadNoParams", 1904 "input": { 1905 "shape": "TestPayloadRequest" 1906 }, 1907 "http": { 1908 "method": "POST", 1909 "requestUri": "/payload" 1910 } 1911 }, 1912 "params": {}, 1913 "serialized": { 1914 "uri": "/payload", 1915 "body": "{}", 1916 "headers": { 1917 "Content-Type": "application/json" 1918 }, 1919 "host": "rest-test.amazonaws.com" 1920 } 1921 }, 1922 { 1923 "given": { 1924 "name": "TestPayload", 1925 "input": { 1926 "shape": "TestPayloadRequest" 1927 }, 1928 "http": { 1929 "method": "POST", 1930 "requestUri": "/payload" 1931 } 1932 }, 1933 "params": { 1934 "payloadConfig": { 1935 "data": 25 1936 }, 1937 "testId": "t-12345" 1938 }, 1939 "serialized": { 1940 "uri": "/payload", 1941 "body": "{\"data\": 25}", 1942 "headers": { 1943 "x-amz-test-id": "t-12345", 1944 "Content-Type": "application/json" 1945 }, 1946 "host": "rest-test.amazonaws.com" 1947 } 1948 }, 1949 { 1950 "given": { 1951 "name": "TestPayloadNoBody", 1952 "input": { 1953 "shape": "TestPayloadRequest" 1954 }, 1955 "http": { 1956 "method": "POST", 1957 "requestUri": "/payload" 1958 } 1959 }, 1960 "params": { 1961 "testId": "t-12345" 1962 }, 1963 "serialized": { 1964 "uri": "/payload", 1965 "body": "{}", 1966 "headers": { 1967 "x-amz-test-id": "t-12345", 1968 "Content-Type": "application/json" 1969 }, 1970 "host": "rest-test.amazonaws.com" 1971 } 1972 }, 1973 { 1974 "given": { 1975 "name": "TestBlobPayload", 1976 "input": { 1977 "shape": "TestBlobPayloadRequest" 1978 }, 1979 "http": { 1980 "method": "POST", 1981 "requestUri": "/blob-payload" 1982 } 1983 }, 1984 "params": { 1985 "data": "1234", 1986 "contentType": "image/jpg" 1987 }, 1988 "serialized": { 1989 "uri": "/blob-payload", 1990 "body": "1234", 1991 "headers": { 1992 "Content-Type": "image/jpg" 1993 }, 1994 "host": "rest-test.amazonaws.com" 1995 } 1996 }, 1997 { 1998 "given": { 1999 "name": "TestBlobPayloadNoParams", 2000 "input": { 2001 "shape": "TestBlobPayloadRequest" 2002 }, 2003 "http": { 2004 "method": "POST", 2005 "requestUri": "/blob-payload" 2006 } 2007 }, 2008 "params": {}, 2009 "serialized": { 2010 "uri": "/blob-payload", 2011 "body": "", 2012 "headers": { 2013 }, 2014 "forbidHeaders": [ 2015 "Content-Type" 2016 ], 2017 "host": "rest-test.amazonaws.com" 2018 } 2019 }, 2020 { 2021 "given": { 2022 "name": "NoPayload", 2023 "input": { 2024 "shape": "NoPayloadRequest" 2025 }, 2026 "http": { 2027 "method": "GET", 2028 "requestUri": "/no-payload" 2029 } 2030 }, 2031 "params": {}, 2032 "serialized": { 2033 "uri": "/no-payload", 2034 "body": "", 2035 "forbidHeaders": [ 2036 "Content-Type", 2037 "Content-Length" 2038 ], 2039 "host": "rest-test.amazonaws.com" 2040 } 2041 }, 2042 { 2043 "given": { 2044 "name": "NoPayloadWithHeader", 2045 "input": { 2046 "shape": "NoPayloadRequest" 2047 }, 2048 "http": { 2049 "method": "GET", 2050 "requestUri": "/no-payload" 2051 } 2052 }, 2053 "params": { 2054 "testId": "t-12345" 2055 }, 2056 "serialized": { 2057 "uri": "/no-payload", 2058 "body": "", 2059 "headers": { 2060 "x-amz-test-id": "t-12345" 2061 }, 2062 "forbidHeaders": [ 2063 "Content-Type", 2064 "Content-Length" 2065 ], 2066 "host": "rest-test.amazonaws.com" 2067 } 2068 } 2069 ] 2070 } 2071 ]