[ { "description": "Scalar members", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "Foo": { "shape": "StringType" }, "Bar": { "shape": "StringType" }, "Baz": { "shape": "BooleanType" } } }, "StringType": { "type": "string" }, "BooleanType": { "type": "boolean" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "Foo": "val1", "Bar": "val2" }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Foo=val1&Bar=val2" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "Baz": true }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Baz=true" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "Baz": false }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Baz=false" } } ] }, { "description": "Nested structure members", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "StructArg": { "shape": "StructType" } } }, "StructType": { "type": "structure", "members": { "ScalarArg": { "shape": "StringType" } } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "StructArg": { "ScalarArg": "foo" } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&StructArg.ScalarArg=foo" } } ] }, { "description": "List types", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "ListArg": { "shape": "ListType" } } }, "ListType": { "type": "list", "member": { "shape": "Strings" } }, "Strings": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "ListArg": [ "foo", "bar", "baz" ] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&ListArg.member.1=foo&ListArg.member.2=bar&ListArg.member.3=baz" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "ListArg": [] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&ListArg=" } } ] }, { "description": "Flattened list", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "ScalarArg": { "shape": "StringType" }, "ListArg": { "shape": "ListType" }, "NamedListArg": { "shape": "NamedListType" } } }, "ListType": { "type": "list", "member": { "shape": "StringType" }, "flattened": true }, "NamedListType": { "type": "list", "member": { "shape": "StringType", "locationName": "Foo" }, "flattened": true }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "ScalarArg": "foo", "ListArg": [ "a", "b", "c" ] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArg.1=a&ListArg.2=b&ListArg.3=c" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "NamedListArg": [ "a" ] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Foo.1=a" } } ] }, { "description": "Serialize flattened map type", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "MapArg": { "shape": "StringMap" } } }, "StringMap": { "type": "map", "key": { "shape": "StringType" }, "value": { "shape": "StringType" }, "flattened": true }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "MapArg": { "key1": "val1", "key2": "val2" } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&MapArg.1.key=key1&MapArg.1.value=val1&MapArg.2.key=key2&MapArg.2.value=val2" } } ] }, { "description": "Non flattened list with LocationName", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "ListArg": { "shape": "ListType" } } }, "ListType": { "type": "list", "member": { "shape": "StringType", "locationName": "item" } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "ListArg": [ "a", "b", "c" ] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&ListArg.item.1=a&ListArg.item.2=b&ListArg.item.3=c" } } ] }, { "description": "Flattened list with LocationName", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "ScalarArg": { "shape": "StringType" }, "ListArg": { "shape": "ListType" } } }, "ListType": { "type": "list", "member": { "shape": "StringType", "locationName": "ListArgLocation" }, "flattened": true }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "ScalarArg": "foo", "ListArg": [ "a", "b", "c" ] }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&ScalarArg=foo&ListArgLocation.1=a&ListArgLocation.2=b&ListArgLocation.3=c" } } ] }, { "description": "Serialize map type", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "MapArg": { "shape": "StringMap" } } }, "StringMap": { "type": "map", "key": { "shape": "StringType" }, "value": { "shape": "StringType" } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "MapArg": { "key1": "val1", "key2": "val2" } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "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" } } ] }, { "description": "Serialize map type with locationName", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "MapArg": { "shape": "StringMap" } } }, "StringMap": { "type": "map", "key": { "shape": "StringType", "locationName": "TheKey" }, "value": { "shape": "StringType", "locationName": "TheValue" } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "MapArg": { "key1": "val1", "key2": "val2" } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "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" } } ] }, { "description": "Base64 encoded Blobs", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "BlobArg": { "shape": "BlobType" } } }, "BlobType": { "type": "blob" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "BlobArg": "foo" }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&BlobArg=Zm9v" } } ] }, { "description": "Timestamp values", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "TimeArg": { "shape": "TimestampType" }, "TimeCustom": { "timestampFormat": "unixTimestamp", "shape": "TimestampType" }, "TimeFormat": { "shape": "TimestampFormatType" } } }, "TimestampFormatType": { "timestampFormat": "unixTimestamp", "type": "timestamp" }, "TimestampType": { "type": "timestamp" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "TimeArg": 1422172800, "TimeCustom": 1422172800, "TimeFormat": 1422172800 }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z&TimeCustom=1422172800&TimeFormat=1422172800" } } ] }, { "description": "Recursive shapes", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "RecursiveStruct": { "shape": "RecursiveStructType" } } }, "RecursiveStructType": { "type": "structure", "members": { "NoRecurse": { "shape": "StringType" }, "RecursiveStruct": { "shape": "RecursiveStructType" }, "RecursiveList": { "shape": "RecursiveListType" }, "RecursiveMap": { "shape": "RecursiveMapType" } } }, "RecursiveListType": { "type": "list", "member": { "shape": "RecursiveStructType" } }, "RecursiveMapType": { "type": "map", "key": { "shape": "StringType" }, "value": { "shape": "RecursiveStructType" } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "NoRecurse": "foo" } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.NoRecurse=foo" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "RecursiveStruct": { "NoRecurse": "foo" } } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.NoRecurse=foo" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "RecursiveStruct": { "RecursiveStruct": { "RecursiveStruct": { "NoRecurse": "foo" } } } } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveStruct.RecursiveStruct.RecursiveStruct.NoRecurse=foo" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "RecursiveList": [ { "NoRecurse": "foo" }, { "NoRecurse": "bar" } ] } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.NoRecurse=bar" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "RecursiveList": [ { "NoRecurse": "foo" }, { "RecursiveStruct": { "NoRecurse": "bar" } } ] } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&RecursiveStruct.RecursiveList.member.1.NoRecurse=foo&RecursiveStruct.RecursiveList.member.2.RecursiveStruct.NoRecurse=bar" } }, { "given": { "input": { "shape": "InputShape" }, "name": "OperationName" }, "params": { "RecursiveStruct": { "RecursiveMap": { "foo": { "NoRecurse": "foo" }, "bar": { "NoRecurse": "bar" } } } }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "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" } } ] }, { "description": "Idempotency token auto fill", "metadata": { "protocol": "query", "apiVersion": "2014-01-01" }, "shapes": { "InputShape": { "type": "structure", "members": { "Token": { "shape": "StringType", "idempotencyToken": true } } }, "StringType": { "type": "string" } }, "cases": [ { "given": { "input": { "shape": "InputShape" }, "http": { "method": "POST" }, "name": "OperationName" }, "params": { "Token": "abc123" }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Token=abc123" } }, { "given": { "input": { "shape": "InputShape" }, "http": { "method": "POST" }, "name": "OperationName" }, "params": { }, "serialized": { "uri": "/", "headers": { "Content-Type": "application/x-www-form-urlencoded; charset=utf-8" }, "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" } } ] } ]