Module: Aws::IoTDataPlane::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-iotdataplane/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

CleanSession =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'CleanSession')
ClientId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ClientId')
Confirmation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Confirmation')
ConflictException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConflictException')
Connected =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Connected')
ContentType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ContentType')
CorrelationData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'CorrelationData')
DeleteConnectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConnectionRequest')
DeleteThingShadowRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteThingShadowRequest')
DeleteThingShadowResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteThingShadowResponse')
DisconnectReason =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DisconnectReason')
ForbiddenException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ForbiddenException')
GatewayTimeoutException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GatewayTimeoutException')
GetConnectionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectionRequest')
GetConnectionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectionResponse')
GetRetainedMessageRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRetainedMessageRequest')
GetRetainedMessageResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetRetainedMessageResponse')
GetThingShadowRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetThingShadowRequest')
GetThingShadowResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetThingShadowResponse')
IncludeSocketInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'IncludeSocketInformation')
InternalFailureException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalFailureException')
InvalidRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InvalidRequestException')
JsonDocument =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'JsonDocument')
KeepAliveDuration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'KeepAliveDuration')
ListNamedShadowsForThingRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListNamedShadowsForThingRequest')
ListNamedShadowsForThingResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListNamedShadowsForThingResponse')
ListRetainedMessagesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRetainedMessagesRequest')
ListRetainedMessagesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListRetainedMessagesResponse')
ListSubscriptionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsRequest')
ListSubscriptionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionsResponse')
MaxResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MaxResults')
MessageExpiry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'MessageExpiry')
MethodNotAllowedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'MethodNotAllowedException')
NamedShadowList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'NamedShadowList')
NextToken =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'NextToken')
PageSize =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PageSize')
Payload =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'Payload')
PayloadFormatIndicator =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'PayloadFormatIndicator')
PayloadSize =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'PayloadSize')
PreventWillMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'PreventWillMessage')
PublishRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'PublishRequest')
Qos =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Qos')
RequestEntityTooLargeException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RequestEntityTooLargeException')
ResourceNotFoundException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceNotFoundException')
ResponseMessage =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResponseMessage')
ResponseTopic =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ResponseTopic')
Retain =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BooleanShape.new(name: 'Retain')
RetainedMessageList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'RetainedMessageList')
RetainedMessageSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RetainedMessageSummary')
SendDirectMessageRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendDirectMessageRequest')
SendDirectMessageResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SendDirectMessageResponse')
ServiceUnavailableException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ServiceUnavailableException')
SessionExpiry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'SessionExpiry')
ShadowName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ShadowName')
SourceIp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SourceIp')
SourcePort =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'SourcePort')
SubscriptionList =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'SubscriptionList')
SubscriptionSummary =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscriptionSummary')
TargetIp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TargetIp')
TargetPort =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'TargetPort')
ThingName =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ThingName')
ThrottlingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ThrottlingException')
TimeoutInSeconds =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'TimeoutInSeconds')
Timestamp =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::IntegerShape.new(name: 'Timestamp')
Topic =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Topic')
TopicFilter =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TopicFilter')
TraceId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'TraceId')
UnauthorizedException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnauthorizedException')
UnsupportedDocumentEncodingException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UnsupportedDocumentEncodingException')
UpdateThingShadowRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateThingShadowRequest')
UpdateThingShadowResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateThingShadowResponse')
UserProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UserProperties')
UserPropertiesBlob =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::BlobShape.new(name: 'UserPropertiesBlob')
VpcEndpointId =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'VpcEndpointId')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2015-05-28"

  api. = {
    "apiVersion" => "2015-05-28",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "data-ats.iot",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceFullName" => "AWS IoT Data Plane",
    "serviceId" => "IoT Data Plane",
    "signatureVersion" => "v4",
    "signingName" => "iotdata",
    "uid" => "iot-data-2015-05-28",
  }

  api.add_operation(:delete_connection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteConnection"
    o.http_method = "DELETE"
    o.http_request_uri = "/connections/{clientId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteConnectionRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
  end)

  api.add_operation(:delete_thing_shadow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteThingShadow"
    o.http_method = "DELETE"
    o.http_request_uri = "/things/{thingName}/shadow"
    o.input = Shapes::ShapeRef.new(shape: DeleteThingShadowRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteThingShadowResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedDocumentEncodingException)
  end)

  api.add_operation(:get_connection, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConnection"
    o.http_method = "GET"
    o.http_request_uri = "/connections/{clientId}"
    o.input = Shapes::ShapeRef.new(shape: GetConnectionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConnectionResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
  end)

  api.add_operation(:get_retained_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetRetainedMessage"
    o.http_method = "GET"
    o.http_request_uri = "/retainedMessage/{topic}"
    o.input = Shapes::ShapeRef.new(shape: GetRetainedMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: GetRetainedMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
  end)

  api.add_operation(:get_thing_shadow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetThingShadow"
    o.http_method = "GET"
    o.http_request_uri = "/things/{thingName}/shadow"
    o.input = Shapes::ShapeRef.new(shape: GetThingShadowRequest)
    o.output = Shapes::ShapeRef.new(shape: GetThingShadowResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedDocumentEncodingException)
  end)

  api.add_operation(:list_named_shadows_for_thing, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListNamedShadowsForThing"
    o.http_method = "GET"
    o.http_request_uri = "/api/things/shadow/ListNamedShadowsForThing/{thingName}"
    o.input = Shapes::ShapeRef.new(shape: ListNamedShadowsForThingRequest)
    o.output = Shapes::ShapeRef.new(shape: ListNamedShadowsForThingResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
  end)

  api.add_operation(:list_retained_messages, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListRetainedMessages"
    o.http_method = "GET"
    o.http_request_uri = "/retainedMessage"
    o.input = Shapes::ShapeRef.new(shape: ListRetainedMessagesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListRetainedMessagesResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_subscriptions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscriptions"
    o.http_method = "GET"
    o.http_request_uri = "/connections/{clientId}/subscriptions"
    o.input = Shapes::ShapeRef.new(shape: ListSubscriptionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSubscriptionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:publish, Seahorse::Model::Operation.new.tap do |o|
    o.name = "Publish"
    o.http_method = "POST"
    o.http_request_uri = "/topics/{topic}"
    o.input = Shapes::ShapeRef.new(shape: PublishRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:send_direct_message, Seahorse::Model::Operation.new.tap do |o|
    o.name = "SendDirectMessage"
    o.http_method = "POST"
    o.http_request_uri = "/connections/{clientId}/messages"
    o.input = Shapes::ShapeRef.new(shape: SendDirectMessageRequest)
    o.output = Shapes::ShapeRef.new(shape: SendDirectMessageResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: RequestEntityTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: GatewayTimeoutException)
  end)

  api.add_operation(:update_thing_shadow, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateThingShadow"
    o.http_method = "POST"
    o.http_request_uri = "/things/{thingName}/shadow"
    o.input = Shapes::ShapeRef.new(shape: UpdateThingShadowRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateThingShadowResponse)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: RequestEntityTooLargeException)
    o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: UnauthorizedException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
    o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
    o.errors << Shapes::ShapeRef.new(shape: MethodNotAllowedException)
    o.errors << Shapes::ShapeRef.new(shape: UnsupportedDocumentEncodingException)
  end)
end