github.com/aavshr/aws-sdk-go@v1.41.3/models/protocol_tests/input/query.json (about) 1 [ 2 { 3 "description": "Scalar members", 4 "metadata": { 5 "protocol": "query", 6 "apiVersion": "2014-01-01" 7 }, 8 "shapes": { 9 "InputShape": { 10 "type": "structure", 11 "members": { 12 "Foo": { 13 "shape": "StringType" 14 }, 15 "Bar": { 16 "shape": "StringType" 17 }, 18 "Baz": { 19 "shape": "BooleanType" 20 } 21 } 22 }, 23 "StringType": { 24 "type": "string" 25 }, 26 "BooleanType": { 27 "type": "boolean" 28 } 29 }, 30 "cases": [ 31 { 32 "given": { 33 "input": { 34 "shape": "InputShape" 35 }, 36 "name": "OperationName" 37 }, 38 "params": { 39 "Foo": "val1", 40 "Bar": "val2" 41 }, 42 "serialized": { 43 "uri": "/", 44 "body": "Action=OperationName&Version=2014-01-01&Foo=val1&Bar=val2" 45 } 46 }, 47 { 48 "given": { 49 "input": { 50 "shape": "InputShape" 51 }, 52 "name": "OperationName" 53 }, 54 "params": { 55 "Baz": true 56 }, 57 "serialized": { 58 "uri": "/", 59 "body": "Action=OperationName&Version=2014-01-01&Baz=true" 60 } 61 }, 62 { 63 "given": { 64 "input": { 65 "shape": "InputShape" 66 }, 67 "name": "OperationName" 68 }, 69 "params": { 70 "Baz": false 71 }, 72 "serialized": { 73 "uri": "/", 74 "body": "Action=OperationName&Version=2014-01-01&Baz=false" 75 } 76 } 77 ] 78 }, 79 { 80 "description": "Nested structure members", 81 "metadata": { 82 "protocol": "query", 83 "apiVersion": "2014-01-01" 84 }, 85 "shapes": { 86 "InputShape": { 87 "type": "structure", 88 "members": { 89 "StructArg": { 90 "shape": "StructType" 91 } 92 } 93 }, 94 "StructType": { 95 "type": "structure", 96 "members": { 97 "ScalarArg": { 98 "shape": "StringType" 99 } 100 } 101 }, 102 "StringType": { 103 "type": "string" 104 } 105 }, 106 "cases": [ 107 { 108 "given": { 109 "input": { 110 "shape": "InputShape" 111 }, 112 "name": "OperationName" 113 }, 114 "params": { 115 "StructArg": { 116 "ScalarArg": "foo" 117 } 118 }, 119 "serialized": { 120 "uri": "/", 121 "body": "Action=OperationName&Version=2014-01-01&StructArg.ScalarArg=foo" 122 } 123 } 124 ] 125 }, 126 { 127 "description": "List types", 128 "metadata": { 129 "protocol": "query", 130 "apiVersion": "2014-01-01" 131 }, 132 "shapes": { 133 "InputShape": { 134 "type": "structure", 135 "members": { 136 "ListArg": { 137 "shape": "ListType" 138 } 139 } 140 }, 141 "ListType": { 142 "type": "list", 143 "member": { 144 "shape": "Strings" 145 } 146 }, 147 "Strings": { 148 "type": "string" 149 } 150 }, 151 "cases": [ 152 { 153 "given": { 154 "input": { 155 "shape": "InputShape" 156 }, 157 "name": "OperationName" 158 }, 159 "params": { 160 "ListArg": [ 161 "foo", 162 "bar", 163 "baz" 164 ] 165 }, 166 "serialized": { 167 "uri": "/", 168 "body": "Action=OperationName&Version=2014-01-01&ListArg.member.1=foo&ListArg.member.2=bar&ListArg.member.3=baz" 169 } 170 }, 171 { 172 "given": { 173 "input": { 174 "shape": "InputShape" 175 }, 176 "name": "OperationName" 177 }, 178 "params": { 179 "ListArg": [] 180 }, 181 "serialized": { 182 "uri": "/", 183 "body": "Action=OperationName&Version=2014-01-01&ListArg=" 184 } 185 } 186 ] 187 }, 188 { 189 "description": "Flattened list", 190 "metadata": { 191 "protocol": "query", 192 "apiVersion": "2014-01-01" 193 }, 194 "shapes": { 195 "InputShape": { 196 "type": "structure", 197 "members": { 198 "ScalarArg": { 199 "shape": "StringType" 200 }, 201 "ListArg": { 202 "shape": "ListType" 203 }, 204 "NamedListArg": { 205 "shape": "NamedListType" 206 } 207 } 208 }, 209 "ListType": { 210 "type": "list", 211 "member": { 212 "shape": "StringType" 213 }, 214 "flattened": true 215 }, 216 "NamedListType": { 217 "type": "list", 218 "member": { 219 "shape": "StringType", 220 "locationName": "Foo" 221 }, 222 "flattened": true 223 }, 224 "StringType": { 225 "type": "string" 226 } 227 }, 228 "cases": [ 229 { 230 "given": { 231 "input": { 232 "shape": "InputShape" 233 }, 234 "name": "OperationName" 235 }, 236 "params": { 237 "ScalarArg": "foo", 238 "ListArg": [ 239 "a", 240 "b", 241 "c" 242 ] 243 }, 244 "serialized": { 245 "uri": "/", 246 "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArg.1=a&ListArg.2=b&ListArg.3=c" 247 } 248 }, 249 { 250 "given": { 251 "input": { 252 "shape": "InputShape" 253 }, 254 "name": "OperationName" 255 }, 256 "params": { 257 "NamedListArg": [ 258 "a" 259 ] 260 }, 261 "serialized": { 262 "uri": "/", 263 "body": "Action=OperationName&Version=2014-01-01&Foo.1=a" 264 } 265 } 266 ] 267 }, 268 { 269 "description": "Serialize flattened map type", 270 "metadata": { 271 "protocol": "query", 272 "apiVersion": "2014-01-01" 273 }, 274 "shapes": { 275 "InputShape": { 276 "type": "structure", 277 "members": { 278 "MapArg": { 279 "shape": "StringMap" 280 } 281 } 282 }, 283 "StringMap": { 284 "type": "map", 285 "key": { 286 "shape": "StringType" 287 }, 288 "value": { 289 "shape": "StringType" 290 }, 291 "flattened": true 292 }, 293 "StringType": { 294 "type": "string" 295 } 296 }, 297 "cases": [ 298 { 299 "given": { 300 "input": { 301 "shape": "InputShape" 302 }, 303 "name": "OperationName" 304 }, 305 "params": { 306 "MapArg": { 307 "key1": "val1", 308 "key2": "val2" 309 } 310 }, 311 "serialized": { 312 "uri": "/", 313 "body": "Action=OperationName&Version=2014-01-01&MapArg.1.key=key1&MapArg.1.value=val1&MapArg.2.key=key2&MapArg.2.value=val2" 314 } 315 } 316 ] 317 }, 318 { 319 "description": "Non flattened list with LocationName", 320 "metadata": { 321 "protocol": "query", 322 "apiVersion": "2014-01-01" 323 }, 324 "shapes": { 325 "InputShape": { 326 "type": "structure", 327 "members": { 328 "ListArg": { 329 "shape": "ListType" 330 } 331 } 332 }, 333 "ListType": { 334 "type": "list", 335 "member": { 336 "shape": "StringType", 337 "locationName": "item" 338 } 339 }, 340 "StringType": { 341 "type": "string" 342 } 343 }, 344 "cases": [ 345 { 346 "given": { 347 "input": { 348 "shape": "InputShape" 349 }, 350 "name": "OperationName" 351 }, 352 "params": { 353 "ListArg": [ 354 "a", 355 "b", 356 "c" 357 ] 358 }, 359 "serialized": { 360 "uri": "/", 361 "body": "Action=OperationName&Version=2014-01-01&ListArg.item.1=a&ListArg.item.2=b&ListArg.item.3=c" 362 } 363 } 364 ] 365 }, 366 { 367 "description": "Flattened list with LocationName", 368 "metadata": { 369 "protocol": "query", 370 "apiVersion": "2014-01-01" 371 }, 372 "shapes": { 373 "InputShape": { 374 "type": "structure", 375 "members": { 376 "ScalarArg": { 377 "shape": "StringType" 378 }, 379 "ListArg": { 380 "shape": "ListType" 381 } 382 } 383 }, 384 "ListType": { 385 "type": "list", 386 "member": { 387 "shape": "StringType", 388 "locationName": "ListArgLocation" 389 }, 390 "flattened": true 391 }, 392 "StringType": { 393 "type": "string" 394 } 395 }, 396 "cases": [ 397 { 398 "given": { 399 "input": { 400 "shape": "InputShape" 401 }, 402 "name": "OperationName" 403 }, 404 "params": { 405 "ScalarArg": "foo", 406 "ListArg": [ 407 "a", 408 "b", 409 "c" 410 ] 411 }, 412 "serialized": { 413 "uri": "/", 414 "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArgLocation.1=a&ListArgLocation.2=b&ListArgLocation.3=c" 415 } 416 } 417 ] 418 }, 419 { 420 "description": "Serialize map type", 421 "metadata": { 422 "protocol": "query", 423 "apiVersion": "2014-01-01" 424 }, 425 "shapes": { 426 "InputShape": { 427 "type": "structure", 428 "members": { 429 "MapArg": { 430 "shape": "StringMap" 431 } 432 } 433 }, 434 "StringMap": { 435 "type": "map", 436 "key": { 437 "shape": "StringType" 438 }, 439 "value": { 440 "shape": "StringType" 441 } 442 }, 443 "StringType": { 444 "type": "string" 445 } 446 }, 447 "cases": [ 448 { 449 "given": { 450 "input": { 451 "shape": "InputShape" 452 }, 453 "name": "OperationName" 454 }, 455 "params": { 456 "MapArg": { 457 "key1": "val1", 458 "key2": "val2" 459 } 460 }, 461 "serialized": { 462 "uri": "/", 463 "body": "Action=OperationName&Version=2014-01-01&MapArg.entry.1.key=key1&MapArg.entry.1.value=val1&MapArg.entry.2.key=key2&MapArg.entry.2.value=val2" 464 } 465 } 466 ] 467 }, 468 { 469 "description": "Serialize map type with locationName", 470 "metadata": { 471 "protocol": "query", 472 "apiVersion": "2014-01-01" 473 }, 474 "shapes": { 475 "InputShape": { 476 "type": "structure", 477 "members": { 478 "MapArg": { 479 "shape": "StringMap" 480 } 481 } 482 }, 483 "StringMap": { 484 "type": "map", 485 "key": { 486 "shape": "StringType", 487 "locationName": "TheKey" 488 }, 489 "value": { 490 "shape": "StringType", 491 "locationName": "TheValue" 492 } 493 }, 494 "StringType": { 495 "type": "string" 496 } 497 }, 498 "cases": [ 499 { 500 "given": { 501 "input": { 502 "shape": "InputShape" 503 }, 504 "name": "OperationName" 505 }, 506 "params": { 507 "MapArg": { 508 "key1": "val1", 509 "key2": "val2" 510 } 511 }, 512 "serialized": { 513 "uri": "/", 514 "body": "Action=OperationName&Version=2014-01-01&MapArg.entry.1.TheKey=key1&MapArg.entry.1.TheValue=val1&MapArg.entry.2.TheKey=key2&MapArg.entry.2.TheValue=val2" 515 } 516 } 517 ] 518 }, 519 { 520 "description": "Base64 encoded Blobs", 521 "metadata": { 522 "protocol": "query", 523 "apiVersion": "2014-01-01" 524 }, 525 "shapes": { 526 "InputShape": { 527 "type": "structure", 528 "members": { 529 "BlobArg": { 530 "shape": "BlobType" 531 } 532 } 533 }, 534 "BlobType": { 535 "type": "blob" 536 } 537 }, 538 "cases": [ 539 { 540 "given": { 541 "input": { 542 "shape": "InputShape" 543 }, 544 "name": "OperationName" 545 }, 546 "params": { 547 "BlobArg": "foo" 548 }, 549 "serialized": { 550 "uri": "/", 551 "body": "Action=OperationName&Version=2014-01-01&BlobArg=Zm9v" 552 } 553 } 554 ] 555 }, 556 { 557 "description": "Base64 encoded Blobs nested", 558 "metadata": { 559 "protocol": "query", 560 "apiVersion": "2014-01-01" 561 }, 562 "shapes": { 563 "InputShape": { 564 "type": "structure", 565 "members": { 566 "BlobArgs": { 567 "shape": "BlobsType" 568 } 569 } 570 }, 571 "BlobsType": { 572 "type": "list", 573 "member": { 574 "shape": "BlobType" 575 }, 576 "flattened": true 577 }, 578 "BlobType": { 579 "type": "blob" 580 } 581 }, 582 "cases": [ 583 { 584 "given": { 585 "input": { 586 "shape": "InputShape" 587 }, 588 "name": "OperationName" 589 }, 590 "params": { 591 "BlobArgs": ["foo"] 592 }, 593 "serialized": { 594 "uri": "/", 595 "body": "Action=OperationName&Version=2014-01-01&BlobArgs.1=Zm9v" 596 } 597 } 598 ] 599 }, 600 { 601 "description": "Timestamp values", 602 "metadata": { 603 "protocol": "query", 604 "apiVersion": "2014-01-01" 605 }, 606 "shapes": { 607 "InputShape": { 608 "type": "structure", 609 "members": { 610 "TimeArg": { 611 "shape": "TimestampType" 612 }, 613 "TimeCustom": { 614 "timestampFormat": "unixTimestamp", 615 "shape": "TimestampType" 616 }, 617 "TimeFormat": { 618 "shape": "TimestampFormatType" 619 } 620 } 621 }, 622 "TimestampFormatType": { 623 "timestampFormat": "unixTimestamp", 624 "type": "timestamp" 625 }, 626 "TimestampType": { 627 "type": "timestamp" 628 } 629 }, 630 "cases": [ 631 { 632 "given": { 633 "input": { 634 "shape": "InputShape" 635 }, 636 "name": "OperationName" 637 }, 638 "params": { 639 "TimeArg": 1422172800, 640 "TimeCustom": 1422172800, 641 "TimeFormat": 1422172800 642 }, 643 "serialized": { 644 "uri": "/", 645 "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z&TimeCustom=1422172800&TimeFormat=1422172800" 646 } 647 } 648 ] 649 }, 650 { 651 "description": "Recursive shapes", 652 "metadata": { 653 "protocol": "query", 654 "apiVersion": "2014-01-01" 655 }, 656 "shapes": { 657 "InputShape": { 658 "type": "structure", 659 "members": { 660 "RecursiveStruct": { 661 "shape": "RecursiveStructType" 662 } 663 } 664 }, 665 "RecursiveStructType": { 666 "type": "structure", 667 "members": { 668 "NoRecurse": { 669 "shape": "StringType" 670 }, 671 "RecursiveStruct": { 672 "shape": "RecursiveStructType" 673 }, 674 "RecursiveList": { 675 "shape": "RecursiveListType" 676 }, 677 "RecursiveMap": { 678 "shape": "RecursiveMapType" 679 } 680 } 681 }, 682 "RecursiveListType": { 683 "type": "list", 684 "member": { 685 "shape": "RecursiveStructType" 686 } 687 }, 688 "RecursiveMapType": { 689 "type": "map", 690 "key": { 691 "shape": "StringType" 692 }, 693 "value": { 694 "shape": "RecursiveStructType" 695 } 696 }, 697 "StringType": { 698 "type": "string" 699 } 700 }, 701 "cases": [ 702 { 703 "given": { 704 "input": { 705 "shape": "InputShape" 706 }, 707 "name": "OperationName" 708 }, 709 "params": { 710 "RecursiveStruct": { 711 "NoRecurse": "foo" 712 } 713 }, 714 "serialized": { 715 "uri": "/", 716 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.NoRecurse=foo" 717 } 718 }, 719 { 720 "given": { 721 "input": { 722 "shape": "InputShape" 723 }, 724 "name": "OperationName" 725 }, 726 "params": { 727 "RecursiveStruct": { 728 "RecursiveStruct": { 729 "NoRecurse": "foo" 730 } 731 } 732 }, 733 "serialized": { 734 "uri": "/", 735 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.NoRecurse=foo" 736 } 737 }, 738 { 739 "given": { 740 "input": { 741 "shape": "InputShape" 742 }, 743 "name": "OperationName" 744 }, 745 "params": { 746 "RecursiveStruct": { 747 "RecursiveStruct": { 748 "RecursiveStruct": { 749 "RecursiveStruct": { 750 "NoRecurse": "foo" 751 } 752 } 753 } 754 } 755 }, 756 "serialized": { 757 "uri": "/", 758 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo" 759 } 760 }, 761 { 762 "given": { 763 "input": { 764 "shape": "InputShape" 765 }, 766 "name": "OperationName" 767 }, 768 "params": { 769 "RecursiveStruct": { 770 "RecursiveList": [ 771 { 772 "NoRecurse": "foo" 773 }, 774 { 775 "NoRecurse": "bar" 776 } 777 ] 778 } 779 }, 780 "serialized": { 781 "uri": "/", 782 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar" 783 } 784 }, 785 { 786 "given": { 787 "input": { 788 "shape": "InputShape" 789 }, 790 "name": "OperationName" 791 }, 792 "params": { 793 "RecursiveStruct": { 794 "RecursiveList": [ 795 { 796 "NoRecurse": "foo" 797 }, 798 { 799 "RecursiveStruct": { 800 "NoRecurse": "bar" 801 } 802 } 803 ] 804 } 805 }, 806 "serialized": { 807 "uri": "/", 808 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar" 809 } 810 }, 811 { 812 "given": { 813 "input": { 814 "shape": "InputShape" 815 }, 816 "name": "OperationName" 817 }, 818 "params": { 819 "RecursiveStruct": { 820 "RecursiveMap": { 821 "foo": { 822 "NoRecurse": "foo" 823 }, 824 "bar": { 825 "NoRecurse": "bar" 826 } 827 } 828 } 829 }, 830 "serialized": { 831 "uri": "/", 832 "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveMap.entry.1.key=foo&RecursiveStruct.RecursiveMap.entry.1.value.NoRecurse=foo&RecursiveStruct.RecursiveMap.entry.2.key=bar&RecursiveStruct.RecursiveMap.entry.2.value.NoRecurse=bar" 833 } 834 } 835 ] 836 }, 837 { 838 "description": "Idempotency token auto fill", 839 "metadata": { 840 "protocol": "query", 841 "apiVersion": "2014-01-01" 842 }, 843 "shapes": { 844 "InputShape": { 845 "type": "structure", 846 "members": { 847 "Token": { 848 "shape": "StringType", 849 "idempotencyToken": true 850 } 851 } 852 }, 853 "StringType": { 854 "type": "string" 855 } 856 }, 857 "cases": [ 858 { 859 "given": { 860 "input": { 861 "shape": "InputShape" 862 }, 863 "http": { 864 "method": "POST" 865 }, 866 "name": "OperationName" 867 }, 868 "params": { 869 "Token": "abc123" 870 }, 871 "serialized": { 872 "uri": "/", 873 "headers": {}, 874 "body": "Action=OperationName&Version=2014-01-01&Token=abc123" 875 } 876 }, 877 { 878 "given": { 879 "input": { 880 "shape": "InputShape" 881 }, 882 "http": { 883 "method": "POST" 884 }, 885 "name": "OperationName" 886 }, 887 "params": { 888 }, 889 "serialized": { 890 "uri": "/", 891 "headers": {}, 892 "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" 893 } 894 } 895 ] 896 }, 897 { 898 "description": "Enum", 899 "metadata": { 900 "protocol": "query", 901 "apiVersion": "2014-01-01" 902 }, 903 "shapes": { 904 "InputShape": { 905 "type": "structure", 906 "members": { 907 "FooEnum": { 908 "shape": "EnumType" 909 }, 910 "ListEnums": { 911 "shape": "EnumList" 912 } 913 } 914 }, 915 "EnumType":{ 916 "type":"string", 917 "enum":[ 918 "foo", 919 "bar" 920 ] 921 }, 922 "EnumList":{ 923 "type":"list", 924 "member": {"shape": "EnumType"} 925 } 926 }, 927 "cases": [ 928 { 929 "given": { 930 "input": { 931 "shape": "InputShape" 932 }, 933 "http": { 934 "method": "POST" 935 }, 936 "name": "OperationName" 937 }, 938 "params": { 939 "FooEnum": "foo", 940 "ListEnums": ["foo", "", "bar"] 941 }, 942 "serialized": { 943 "uri": "/", 944 "headers": {}, 945 "body": "Action=OperationName&Version=2014-01-01&FooEnum=foo&ListEnums.member.1=foo&ListEnums.member.2=&ListEnums.member.3=bar" 946 } 947 }, 948 { 949 "given": { 950 "input": { 951 "shape": "InputShape" 952 }, 953 "http": { 954 "method": "POST" 955 }, 956 "name": "OperationName" 957 }, 958 "params": { 959 "FooEnum": "foo" 960 }, 961 "serialized": { 962 "uri": "/", 963 "headers": {}, 964 "body": "Action=OperationName&Version=2014-01-01&FooEnum=foo" 965 } 966 }, 967 { 968 "given": { 969 "input": { 970 "shape": "InputShape" 971 }, 972 "http": { 973 "method": "POST" 974 }, "name": "OperationName" 975 }, 976 "params": { 977 }, 978 "serialized": { 979 "uri": "/", 980 "headers": {}, 981 "body": "Action=OperationName&Version=2014-01-01" 982 } 983 } 984 ] 985 }, 986 { 987 "description": "Endpoint host trait", 988 "metadata": { 989 "protocol": "query", 990 "apiVersion": "2014-01-01" 991 }, 992 "clientEndpoint": "https://service.region.amazonaws.com", 993 "shapes": { 994 "StaticInputShape": { 995 "type": "structure", 996 "members": { 997 "Name": { 998 "shape": "StringType" 999 } 1000 } 1001 }, 1002 "MemberRefInputShape": { 1003 "type": "structure", 1004 "members": { 1005 "Name": { 1006 "shape": "StringType", 1007 "hostLabel": true 1008 } 1009 } 1010 }, 1011 "StringType": { 1012 "type": "string" 1013 } 1014 }, 1015 "cases": [ 1016 { 1017 "given": { 1018 "name": "StaticOp", 1019 "input": { 1020 "shape": "StaticInputShape" 1021 }, 1022 "http": { 1023 "method": "POST" 1024 }, 1025 "endpoint":{ 1026 "hostPrefix": "data-" 1027 } 1028 }, 1029 "params": { 1030 "Name": "myname" 1031 }, 1032 "serialized": { 1033 "uri": "/", 1034 "body": "Action=StaticOp&Version=2014-01-01&Name=myname", 1035 "host": "data-service.region.amazonaws.com" 1036 } 1037 }, 1038 { 1039 "given": { 1040 "name": "MemberRefOp", 1041 "input": { 1042 "shape": "MemberRefInputShape" 1043 }, 1044 "http": { 1045 "method": "POST" 1046 }, 1047 "endpoint":{ 1048 "hostPrefix": "foo-{Name}." 1049 } 1050 }, 1051 "params": { 1052 "Name": "myname" 1053 }, 1054 "serialized": { 1055 "uri": "/", 1056 "body": "Action=MemberRefOp&Version=2014-01-01&Name=myname", 1057 "host": "foo-myname.service.region.amazonaws.com" 1058 } 1059 } 1060 ] 1061 } 1062 ]