[ { "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" } } ] } ]