{ "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": {} } } } }