| [ |
| { |
| "description": "Scalar members", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Str": { |
| "shape": "StringType" |
| }, |
| "Num": { |
| "shape": "IntegerType", |
| "locationName": "FooNum" |
| }, |
| "FalseBool": { |
| "shape": "BooleanType" |
| }, |
| "TrueBool": { |
| "shape": "BooleanType" |
| }, |
| "Float": { |
| "shape": "FloatType" |
| }, |
| "Double": { |
| "shape": "DoubleType" |
| }, |
| "Long": { |
| "shape": "LongType" |
| }, |
| "Char": { |
| "shape": "CharType" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| }, |
| "IntegerType": { |
| "type": "integer" |
| }, |
| "BooleanType": { |
| "type": "boolean" |
| }, |
| "FloatType": { |
| "type": "float" |
| }, |
| "DoubleType": { |
| "type": "double" |
| }, |
| "LongType": { |
| "type": "long" |
| }, |
| "CharType": { |
| "type": "character" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Str": "myname", |
| "Num": 123, |
| "FalseBool": false, |
| "TrueBool": true, |
| "Float": 1.2, |
| "Double": 1.3, |
| "Long": 200, |
| "Char": "a" |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Str>myname</Str><FooNum>123</FooNum><FalseBool>false</FalseBool><TrueBool>true</TrueBool><Float>1.2</Float><Double>1.3</Double><Long>200</Long><Char>a</Char><RequestId>request-id</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Blob", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Blob": { |
| "shape": "BlobType" |
| } |
| } |
| }, |
| "BlobType": { |
| "type": "blob" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Blob": "value" |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Blob>dmFsdWU=</Blob><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Lists", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "ListMember": { |
| "shape": "ListShape" |
| } |
| } |
| }, |
| "ListShape": { |
| "type": "list", |
| "member": { |
| "shape": "StringType" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "ListMember": ["abc", "123"] |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><ListMember><member>abc</member><member>123</member></ListMember><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "List with custom member name", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "ListMember": { |
| "shape": "ListShape" |
| } |
| } |
| }, |
| "ListShape": { |
| "type": "list", |
| "member": { |
| "shape": "StringType", |
| "locationName": "item" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "ListMember": ["abc", "123"] |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><ListMember><item>abc</item><item>123</item></ListMember><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Flattened List", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "ListMember": { |
| "shape": "ListType", |
| "flattened": true |
| } |
| } |
| }, |
| "ListType": { |
| "type": "list", |
| "member": { |
| "shape": "StringType" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "ListMember": ["abc", "123"] |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><ListMember>abc</ListMember><ListMember>123</ListMember><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Normal map", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Map": { |
| "shape": "MapType" |
| } |
| } |
| }, |
| "MapType": { |
| "type": "map", |
| "key": { |
| "shape": "StringType" |
| }, |
| "value": { |
| "shape": "StructureType" |
| } |
| }, |
| "StructureType": { |
| "type": "structure", |
| "members": { |
| "foo": { |
| "shape": "StringType" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Map": { |
| "qux": { |
| "foo": "bar" |
| }, |
| "baz": { |
| "foo": "bam" |
| } |
| } |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Map><entry><key>qux</key><value><foo>bar</foo></value></entry><entry><key>baz</key><value><foo>bam</foo></value></entry></Map><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Flattened map", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Map": { |
| "shape": "MapType", |
| "flattened": true |
| } |
| } |
| }, |
| "MapType": { |
| "type": "map", |
| "key": { |
| "shape": "StringType" |
| }, |
| "value": { |
| "shape": "StringType" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Map": { |
| "qux": "bar", |
| "baz": "bam" |
| } |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Map><key>qux</key><value>bar</value></Map><Map><key>baz</key><value>bam</value></Map><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Named map", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Map": { |
| "shape": "MapType", |
| "flattened": true |
| } |
| } |
| }, |
| "MapType": { |
| "type": "map", |
| "key": { |
| "shape": "StringType", |
| "locationName": "foo" |
| }, |
| "value": { |
| "shape": "StringType", |
| "locationName": "bar" |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Map": { |
| "qux": "bar", |
| "baz": "bam" |
| } |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Map><foo>qux</foo><bar>bar</bar></Map><Map><foo>baz</foo><bar>bam</bar></Map><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Empty string", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "Foo": { |
| "shape": "StringType" |
| } |
| } |
| }, |
| "StringType": { |
| "type": "string" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "Foo": "" |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><Foo/><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Timestamp members", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "TimeArg": { |
| "shape": "TimestampType" |
| }, |
| "TimeCustom": { |
| "timestampFormat": "rfc822", |
| "shape": "TimestampType" |
| }, |
| "TimeFormat": { |
| "shape": "TimestampFormatType" |
| }, |
| "StructMember": { |
| "shape": "TimeContainer" |
| } |
| } |
| }, |
| "TimeContainer": { |
| "type": "structure", |
| "members": { |
| "foo": { |
| "shape": "TimestampType" |
| }, |
| "bar": { |
| "shape": "TimestampFormatType" |
| } |
| } |
| }, |
| "TimestampFormatType": { |
| "timestampFormat": "unixTimestamp", |
| "type": "timestamp" |
| }, |
| "TimestampType": { |
| "type": "timestamp" |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "TimeArg": 1398796238, |
| "TimeCustom": 1398796238, |
| "TimeFormat": 1398796238, |
| "StructMember": { |
| "foo": 1398796238, |
| "bar": 1398796238 |
| } |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><StructMember><foo>2014-04-29T18:30:38Z</foo><bar>1398796238</bar></StructMember><TimeArg>2014-04-29T18:30:38Z</TimeArg><TimeCustom>Tue, 29 Apr 2014 18:30:38 GMT</TimeCustom><TimeFormat>1398796238</TimeFormat><RequestId>requestid</RequestId></OperationNameResponse>" |
| } |
| } |
| ] |
| }, |
| { |
| "description": "Enum output", |
| "metadata": { |
| "protocol": "ec2" |
| }, |
| "shapes": { |
| "OutputShape": { |
| "type": "structure", |
| "members": { |
| "FooEnum": { |
| "shape": "EC2EnumType" |
| }, |
| "ListEnums": { |
| "shape": "EC2EnumList" |
| } |
| } |
| }, |
| "EC2EnumType":{ |
| "type":"string", |
| "enum":[ |
| "foo", |
| "bar" |
| ] |
| }, |
| "EC2EnumList":{ |
| "type":"list", |
| "member": {"shape": "EC2EnumType"} |
| } |
| }, |
| "cases": [ |
| { |
| "given": { |
| "output": { |
| "shape": "OutputShape" |
| }, |
| "name": "OperationName" |
| }, |
| "result": { |
| "FooEnum": "foo", |
| "ListEnums": ["foo", "bar"] |
| }, |
| "response": { |
| "status_code": 200, |
| "headers": {}, |
| "body": "<OperationNameResponse><FooEnum>foo</FooEnum><ListEnums><member>foo</member><member>bar</member></ListEnums></OperationNameResponse>" |
| } |
| } |
| ] |
| } |
| ] |