query.json 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842
  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": "Timestamp values",
  558. "metadata": {
  559. "protocol": "query",
  560. "apiVersion": "2014-01-01"
  561. },
  562. "shapes": {
  563. "InputShape": {
  564. "type": "structure",
  565. "members": {
  566. "TimeArg": {
  567. "shape": "TimestampType"
  568. }
  569. }
  570. },
  571. "TimestampType": {
  572. "type": "timestamp"
  573. }
  574. },
  575. "cases": [
  576. {
  577. "given": {
  578. "input": {
  579. "shape": "InputShape"
  580. },
  581. "name": "OperationName"
  582. },
  583. "params": {
  584. "TimeArg": 1422172800
  585. },
  586. "serialized": {
  587. "uri": "/",
  588. "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z"
  589. }
  590. }
  591. ]
  592. },
  593. {
  594. "description": "Recursive shapes",
  595. "metadata": {
  596. "protocol": "query",
  597. "apiVersion": "2014-01-01"
  598. },
  599. "shapes": {
  600. "InputShape": {
  601. "type": "structure",
  602. "members": {
  603. "RecursiveStruct": {
  604. "shape": "RecursiveStructType"
  605. }
  606. }
  607. },
  608. "RecursiveStructType": {
  609. "type": "structure",
  610. "members": {
  611. "NoRecurse": {
  612. "shape": "StringType"
  613. },
  614. "RecursiveStruct": {
  615. "shape": "RecursiveStructType"
  616. },
  617. "RecursiveList": {
  618. "shape": "RecursiveListType"
  619. },
  620. "RecursiveMap": {
  621. "shape": "RecursiveMapType"
  622. }
  623. }
  624. },
  625. "RecursiveListType": {
  626. "type": "list",
  627. "member": {
  628. "shape": "RecursiveStructType"
  629. }
  630. },
  631. "RecursiveMapType": {
  632. "type": "map",
  633. "key": {
  634. "shape": "StringType"
  635. },
  636. "value": {
  637. "shape": "RecursiveStructType"
  638. }
  639. },
  640. "StringType": {
  641. "type": "string"
  642. }
  643. },
  644. "cases": [
  645. {
  646. "given": {
  647. "input": {
  648. "shape": "InputShape"
  649. },
  650. "name": "OperationName"
  651. },
  652. "params": {
  653. "RecursiveStruct": {
  654. "NoRecurse": "foo"
  655. }
  656. },
  657. "serialized": {
  658. "uri": "/",
  659. "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.NoRecurse=foo"
  660. }
  661. },
  662. {
  663. "given": {
  664. "input": {
  665. "shape": "InputShape"
  666. },
  667. "name": "OperationName"
  668. },
  669. "params": {
  670. "RecursiveStruct": {
  671. "RecursiveStruct": {
  672. "NoRecurse": "foo"
  673. }
  674. }
  675. },
  676. "serialized": {
  677. "uri": "/",
  678. "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.NoRecurse=foo"
  679. }
  680. },
  681. {
  682. "given": {
  683. "input": {
  684. "shape": "InputShape"
  685. },
  686. "name": "OperationName"
  687. },
  688. "params": {
  689. "RecursiveStruct": {
  690. "RecursiveStruct": {
  691. "RecursiveStruct": {
  692. "RecursiveStruct": {
  693. "NoRecurse": "foo"
  694. }
  695. }
  696. }
  697. }
  698. },
  699. "serialized": {
  700. "uri": "/",
  701. "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo"
  702. }
  703. },
  704. {
  705. "given": {
  706. "input": {
  707. "shape": "InputShape"
  708. },
  709. "name": "OperationName"
  710. },
  711. "params": {
  712. "RecursiveStruct": {
  713. "RecursiveList": [
  714. {
  715. "NoRecurse": "foo"
  716. },
  717. {
  718. "NoRecurse": "bar"
  719. }
  720. ]
  721. }
  722. },
  723. "serialized": {
  724. "uri": "/",
  725. "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar"
  726. }
  727. },
  728. {
  729. "given": {
  730. "input": {
  731. "shape": "InputShape"
  732. },
  733. "name": "OperationName"
  734. },
  735. "params": {
  736. "RecursiveStruct": {
  737. "RecursiveList": [
  738. {
  739. "NoRecurse": "foo"
  740. },
  741. {
  742. "RecursiveStruct": {
  743. "NoRecurse": "bar"
  744. }
  745. }
  746. ]
  747. }
  748. },
  749. "serialized": {
  750. "uri": "/",
  751. "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar"
  752. }
  753. },
  754. {
  755. "given": {
  756. "input": {
  757. "shape": "InputShape"
  758. },
  759. "name": "OperationName"
  760. },
  761. "params": {
  762. "RecursiveStruct": {
  763. "RecursiveMap": {
  764. "foo": {
  765. "NoRecurse": "foo"
  766. },
  767. "bar": {
  768. "NoRecurse": "bar"
  769. }
  770. }
  771. }
  772. },
  773. "serialized": {
  774. "uri": "/",
  775. "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"
  776. }
  777. }
  778. ]
  779. },
  780. {
  781. "description": "Idempotency token auto fill",
  782. "metadata": {
  783. "protocol": "query",
  784. "apiVersion": "2014-01-01"
  785. },
  786. "shapes": {
  787. "InputShape": {
  788. "type": "structure",
  789. "members": {
  790. "Token": {
  791. "shape": "StringType",
  792. "idempotencyToken": true
  793. }
  794. }
  795. },
  796. "StringType": {
  797. "type": "string"
  798. }
  799. },
  800. "cases": [
  801. {
  802. "given": {
  803. "input": {
  804. "shape": "InputShape"
  805. },
  806. "http": {
  807. "method": "POST",
  808. "requestUri": "/path"
  809. },
  810. "name": "OperationName"
  811. },
  812. "params": {
  813. "Token": "abc123"
  814. },
  815. "serialized": {
  816. "uri": "/path",
  817. "headers": {},
  818. "body": "Token=abc123"
  819. }
  820. },
  821. {
  822. "given": {
  823. "input": {
  824. "shape": "InputShape"
  825. },
  826. "http": {
  827. "method": "POST",
  828. "requestUri": "/path"
  829. },
  830. "name": "OperationName"
  831. },
  832. "params": {
  833. },
  834. "serialized": {
  835. "uri": "/path",
  836. "headers": {},
  837. "body": "Token=00000000-0000-4000-8000-000000000000"
  838. }
  839. }
  840. ]
  841. }
  842. ]