| [ |
| { |
| "description": "Scalar members", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "Foo": { |
| "shape": "StringType" |
| }, |
| "Bar": { |
| "shape": "StringType" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "Foo": "val1", |
| "Bar": "val2" |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=OperationName&Version=2014-01-01&Foo=val1&Bar=val2" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Structure with locationName and queryName applied to members", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "Foo": { |
| "shape": "StringType" |
| }, |
| "Bar": { |
| "shape": "StringType", |
| "locationName": "barLocationName" |
| }, |
| "Yuck": { |
| "shape": "StringType", |
| "locationName": "yuckLocationName", |
| "queryName": "yuckQueryName" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "Foo": "val1", |
| "Bar": "val2", |
| "Yuck": "val3" |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=OperationName&Version=2014-01-01&Foo=val1&BarLocationName=val2&yuckQueryName=val3" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Nested structure members", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "StructArg": { |
| "shape": "StructType", |
| "locationName": "Struct" |
| } |
| } |
| }, |
| "StructType": { |
| "type": "structure", |
| "members": { |
| "ScalarArg": { |
| "shape": "StringType", |
| "locationName": "Scalar" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "StructArg": { |
| "ScalarArg": "foo" |
| } |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=OperationName&Version=2014-01-01&Struct.Scalar=foo" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "List types", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "ListStrings": { |
| "shape": "ListStringType" |
| }, |
| "ListBools": { |
| "shape": "ListBoolType" |
| }, |
| "ListFloats": { |
| "shape": "ListFloatType" |
| }, |
| "ListIntegers": { |
| "shape": "ListIntegerType" |
| } |
| } |
| }, |
| "ListStringType": { |
| "type": "list", |
| "member": { |
| "shape": "StringType" |
| } |
| }, |
| "ListBoolType": { |
| "type": "list", |
| "member": { |
| "shape": "BoolType" |
| } |
| }, |
| "ListFloatType": { |
| "type": "list", |
| "member": { |
| "shape": "FloatType" |
| } |
| }, |
| "ListIntegerType": { |
| "type": "list", |
| "member": { |
| "shape": "IntegerType" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| }, |
| "BoolType": { |
| "type": "boolean" |
| }, |
| "FloatType": { |
| "type": "float" |
| }, |
| "IntegerType": { |
| "type": "integer" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "ListStrings": [ |
| "foo", |
| "bar", |
| "baz" |
| ], |
| "ListBools": [ |
| true, |
| false, |
| false |
| ], |
| "ListFloats": [ |
| 1.1, |
| 2.718, |
| 3.14 |
| ], |
| "ListIntegers": [ |
| 0, |
| 1, |
| 2 |
| ] |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=OperationName&Version=2014-01-01&ListStrings.1=foo&ListStrings.2=bar&ListStrings.3=baz&ListBools.1=true&ListBools.2=false&ListBools.3=false&ListFloats.1=1.1&ListFloats.2=2.718&ListFloats.3=3.14&ListIntegers.1=0&ListIntegers.2=1&ListIntegers.3=2" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "List with location name applied to member", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "ListArg": { |
| "shape": "ListType", |
| "locationName": "ListMemberName" |
| } |
| } |
| }, |
| "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": "/", |
| "body": "Action=OperationName&Version=2014-01-01&ListMemberName.1=a&ListMemberName.2=b&ListMemberName.3=c" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "List with locationName and queryName", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "ListArg": { |
| "shape": "ListType", |
| "locationName": "ListMemberName", |
| "queryName": "ListQueryName" |
| } |
| } |
| }, |
| "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": "/", |
| "body": "Action=OperationName&Version=2014-01-01&ListQueryName.1=a&ListQueryName.2=b&ListQueryName.3=c" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Base64 encoded Blobs", |
| "metadata": { |
| "protocol": "ec2", |
| "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": "/", |
| "body": "Action=OperationName&Version=2014-01-01&BlobArg=Zm9v" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Timestamp values", |
| "metadata": { |
| "protocol": "ec2", |
| "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": "/", |
| "body": "Action=OperationName&Version=2014-01-01&TimeArg=2015-01-25T08%3A00%3A00Z&TimeCustom=1422172800&TimeFormat=1422172800" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Idempotency token auto fill", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "Token": { |
| "shape": "StringType", |
| "idempotencyToken": true |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "Token": "abc123" |
| }, |
| "serialized": { |
| "uri": "/", |
| "headers": {}, |
| "body": "Action=OperationName&Version=2014-01-01&Token=abc123" |
| } |
| }, |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| }, |
| "serialized": { |
| "uri": "/", |
| "headers": {}, |
| "body": "Action=OperationName&Version=2014-01-01&Token=00000000-0000-4000-8000-000000000000" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Enum", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "shapes": { |
| "InputShape": { |
| "type": "structure", |
| "members": { |
| "FooEnum": { |
| "shape": "EnumType" |
| }, |
| "ListEnums": { |
| "shape": "EnumList" |
| } |
| } |
| }, |
| "EnumType":{ |
| "type":"string", |
| "enum":[ |
| "foo", |
| "bar" |
| ] |
| }, |
| "EnumList":{ |
| "type":"list", |
| "member": {"shape": "EnumType"} |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| "ListEnums": ["foo", "", "bar"] |
| }, |
| "serialized": { |
| "uri": "/", |
| "headers": {}, |
| "body": "Action=OperationName&Version=2014-01-01&ListEnums.1=foo&ListEnums.2=&ListEnums.3=bar" |
| } |
| }, |
| { |
| "given": { |
| "input": { |
| "shape": "InputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "params": { |
| }, |
| "serialized": { |
| "uri": "/", |
| "headers": {}, |
| "body": "Action=OperationName&Version=2014-01-01" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Endpoint host trait", |
| "metadata": { |
| "protocol": "ec2", |
| "apiVersion": "2014-01-01" |
| }, |
| "clientEndpoint": "https://service.region.amazonaws.com", |
| "shapes": { |
| "StaticInputShape": { |
| "type": "structure", |
| "members": { |
| "Name": { |
| "shape": "StringType" |
| } |
| } |
| }, |
| "MemberRefInputShape": { |
| "type": "structure", |
| "members": { |
| "Name": { |
| "shape": "StringType", |
| "hostLabel": true |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "name": "StaticOp", |
| "input": { |
| "shape": "StaticInputShape" |
| }, |
| "endpoint":{ |
| "hostPrefix": "data-" |
| } |
| }, |
| "params": { |
| "Name": "myname" |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=StaticOp&Version=2014-01-01&Name=myname", |
| "host": "data-service.region.amazonaws.com" |
| } |
| }, |
| { |
| "given": { |
| "name": "MemberRefOp", |
| "input": { |
| "shape": "MemberRefInputShape" |
| }, |
| "endpoint":{ |
| "hostPrefix": "foo-{Name}." |
| } |
| }, |
| "params": { |
| "Name": "myname" |
| }, |
| "serialized": { |
| "uri": "/", |
| "body": "Action=MemberRefOp&Version=2014-01-01&Name=myname", |
| "host": "foo-myname.service.region.amazonaws.com" |
| } |
| } |
| ] |
| } |
| ] |