Class: Aws::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs, ClientWaiters
Defined in:
lib/aws-sdk-core/client.rb

Overview

Base class for all Aws service clients.

Constant Summary collapse

DEFAULT_PLUGINS =

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.

API:

  • private

[
  'Seahorse::Client::Plugins::ContentLength',
  'Aws::Plugins::Logging',
  'Aws::Plugins::ParamConverter',
  'Aws::Plugins::ParamValidator',
  'Aws::Plugins::UserAgent',
  'Aws::Plugins::HelpfulSocketErrors',
  'Aws::Plugins::RetryErrors',
  'Aws::Plugins::GlobalConfiguration',
  'Aws::Plugins::RegionalEndpoint',
  'Aws::Plugins::RequestSigner',
  'Aws::Plugins::ResponsePaging',
  'Aws::Plugins::StubResponses',
  'Aws::Plugins::IdempotencyToken',
  'Aws::Plugins::JsonvalueConverter'
]
PROTOCOL_PLUGINS =

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.

API:

  • private

Hash.new(DEFAULT_PLUGINS).merge({
  'json'      => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::JsonRpc),
  'rest-json' => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::RestJson),
  'rest-xml'  => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::RestXml),
  'query'     => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::Query),
  'ec2'       => DEFAULT_PLUGINS + %w(Aws::Plugins::Protocols::EC2),
})

Class Attribute Summary collapse

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Class Method Summary collapse

Methods included from ClientWaiters

included, #wait_until, #waiter_names

Methods included from ClientStubs

#next_stub, #setup_stubbing, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, #initialize, #inspect, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response, #handler_for, #new_handler

Constructor Details

This class inherits a constructor from Seahorse::Client::Base

Class Attribute Details

.identifierSymbol

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

Returns:

API:

  • private



39
40
41
# File 'lib/aws-sdk-core/client.rb', line 39

def identifier
  @identifier
end

Class Method Details

.define(svc_name, options) ⇒ Object

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

API:

  • private



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/aws-sdk-core/client.rb', line 42

def define(svc_name, options)
  client_class = Class.new(self)
  client_class.identifier = svc_name.downcase.to_sym
  client_class.set_api(Api::Builder.build(options[:api], options))
  client_class.set_waiters(options[:waiters])

  protocol = client_class.api.['protocol']
  PROTOCOL_PLUGINS[protocol].each do |plugin|
    client_class.add_plugin(plugin)
  end

  Api::Customizations.apply_plugins(client_class)

  client_class
end