blob: 9fa445a33124426cc76cd5ee209f94c1a2cb99dc [file] [edit]
[
{
"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"
}
}
]
}
]