{
"smithy": "1.0",
"shapes": {
"aws.protocols#restJson1": {
"type": "structure",
"members": {
"http": {
"target": "aws.protocols#StringList"
},
"eventStreamHttp": {
"target": "aws.protocols#StringList"
}
},
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"traits": [
"smithy.api#cors",
"smithy.api#endpoint",
"smithy.api#hostLabel",
"smithy.api#http",
"smithy.api#httpError",
"smithy.api#httpHeader",
"smithy.api#httpLabel",
"smithy.api#httpPayload",
"smithy.api#httpPrefixHeaders",
"smithy.api#httpQuery",
"smithy.api#jsonName",
"smithy.api#timestampFormat"
]
},
"smithy.api#documentation": "A RESTful protocol that sends JSON in structured payloads."
}
},
"aws.protocols#restXml": {
"type": "structure",
"members": {
"http": {
"target": "aws.protocols#StringList"
},
"eventStreamHttp": {
"target": "aws.protocols#StringList"
},
"noErrorWrapping": {
"target": "smithy.api#Boolean",
"traits": {
"smithy.api#documentation": "Disables the serialization wrapping of error properties in an 'Error' XML element.",
"smithy.api#deprecated": {}
}
}
},
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"noInlineDocumentSupport": true,
"traits": [
"smithy.api#httpError",
"smithy.api#httpHeader",
"smithy.api#httpLabel",
"smithy.api#httpPayload",
"smithy.api#httpPrefixHeaders",
"smithy.api#httpQuery",
"smithy.api#xmlAttribute",
"smithy.api#xmlFlattened",
"smithy.api#xmlName",
"smithy.api#xmlNamespace"
]
},
"smithy.api#documentation": "A RESTful protocol that sends XML in structured payloads.",
"smithy.api#deprecated": {}
}
},
"aws.protocols#awsJson1_0": {
"type": "structure",
"members": {
"http": {
"target": "aws.protocols#StringList"
},
"eventStreamHttp": {
"target": "aws.protocols#StringList"
}
},
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"traits": [
"smithy.api#jsonName"
]
},
"smithy.api#documentation": "An RPC-based protocol that sends JSON payloads. This protocol does not use HTTP binding traits."
}
},
"aws.protocols#awsJson1_1": {
"type": "structure",
"members": {
"http": {
"target": "aws.protocols#StringList"
},
"eventStreamHttp": {
"target": "aws.protocols#StringList"
}
},
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"traits": [
"smithy.api#jsonName"
]
},
"smithy.api#documentation": "An RPC-based protocol that sends JSON payloads. This protocol does not use HTTP binding traits."
}
},
"aws.protocols#awsQuery": {
"type": "structure",
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"noInlineDocumentSupport": true,
"traits": [
"smithy.api#xmlAttribute",
"smithy.api#xmlFlattened",
"smithy.api#xmlName",
"smithy.api#xmlNamespace"
]
},
"smithy.api#documentation": "An RPC-based protocol that sends query string requests and XML responses. This protocol does not use HTTP binding traits.",
"smithy.api#deprecated": {}
}
},
"aws.protocols#ec2Query": {
"type": "structure",
"traits": {
"smithy.api#trait": {
"selector": "service"
},
"smithy.api#protocolDefinition": {
"noInlineDocumentSupport": true,
"traits": [
"aws.protocols#ec2QueryName",
"smithy.api#xmlAttribute",
"smithy.api#xmlFlattened",
"smithy.api#xmlName",
"smithy.api#xmlNamespace"
]
},
"smithy.api#documentation": "An RPC-based protocol that sends Amazon EC2 formatted query string requests and XML responses. This protocol does not use HTTP binding traits.",
"smithy.api#deprecated": {}
}
},
"aws.protocols#ec2QueryName": {
"type": "string",
"traits": {
"smithy.api#trait": {
"selector": "structure > member"
},
"smithy.api#documentation": "Indicates the serialized name of a structure member when that structure is serialized for the input of an EC2 operation.",
"smithy.api#pattern": "^[a-zA-Z_][a-zA-Z_0-9-]*$"
}
},
"aws.protocols#StringList": {
"type": "list",
"member": {
"target": "smithy.api#String"
},
"traits": {
"smithy.api#private": {}
}
}
}
}