Module: Aws

Defined in:
lib/aws-sdk-core.rb,
lib/aws-sdk-core/s3.rb,
lib/aws-sdk-core/client.rb,
lib/aws-sdk-core/errors.rb,
lib/aws-sdk-core/service.rb,
lib/aws-sdk-core/version.rb,
lib/aws-sdk-core/dynamodb.rb,
lib/aws-sdk-core/structure.rb,
lib/aws-sdk-core/tree_hash.rb,
lib/aws-sdk-core/signers/s3.rb,
lib/aws-sdk-core/signers/v2.rb,
lib/aws-sdk-core/signers/v3.rb,
lib/aws-sdk-core/signers/v4.rb,
lib/aws-sdk-core/xml/parser.rb,
lib/aws-sdk-core/credentials.rb,
lib/aws-sdk-core/json/parser.rb,
lib/aws-sdk-core/query/param.rb,
lib/aws-sdk-core/xml/builder.rb,
lib/aws-sdk-core/client_stubs.rb,
lib/aws-sdk-core/json/builder.rb,
lib/aws-sdk-core/paging/pager.rb,
lib/aws-sdk-core/s3/presigner.rb,
lib/aws-sdk-core/signers/base.rb,
lib/aws-sdk-core/client_paging.rb,
lib/aws-sdk-core/query/handler.rb,
lib/aws-sdk-core/api/customizer.rb,
lib/aws-sdk-core/api/docstrings.rb,
lib/aws-sdk-core/api/documenter.rb,
lib/aws-sdk-core/client_waiters.rb,
lib/aws-sdk-core/waiters/errors.rb,
lib/aws-sdk-core/waiters/poller.rb,
lib/aws-sdk-core/waiters/waiter.rb,
lib/aws-sdk-core/empty_structure.rb,
lib/aws-sdk-core/paging/provider.rb,
lib/aws-sdk-core/plugins/s3_md5s.rb,
lib/aws-sdk-core/signers/handler.rb,
lib/aws-sdk-core/query/param_list.rb,
lib/aws-sdk-core/waiters/provider.rb,
lib/aws-sdk-core/xml/default_list.rb,
lib/aws-sdk-core/xml/parser/frame.rb,
lib/aws-sdk-core/xml/parser/stack.rb,
lib/aws-sdk-core/xml/rest_handler.rb,
lib/aws-sdk-core/endpoint_provider.rb,
lib/aws-sdk-core/json/rest_handler.rb,
lib/aws-sdk-core/pageable_response.rb,
lib/aws-sdk-core/paging/null_pager.rb,
lib/aws-sdk-core/rest_body_handler.rb,
lib/aws-sdk-core/xml/error_handler.rb,
lib/aws-sdk-core/json/error_handler.rb,
lib/aws-sdk-core/plugins/s3_sse_cpk.rb,
lib/aws-sdk-core/plugins/user_agent.rb,
lib/aws-sdk-core/shared_credentials.rb,
lib/aws-sdk-core/query/param_builder.rb,
lib/aws-sdk-core/paging/null_provider.rb,
lib/aws-sdk-core/plugins/retry_errors.rb,
lib/aws-sdk-core/plugins/s3_redirects.rb,
lib/aws-sdk-core/api/operation_example.rb,
lib/aws-sdk-core/json/rpc_body_handler.rb,
lib/aws-sdk-core/plugins/protocols/ec2.rb,
lib/aws-sdk-core/plugins/s3_bucket_dns.rb,
lib/aws-sdk-core/waiters/null_provider.rb,
lib/aws-sdk-core/xml/parser/engines/ox.rb,
lib/aws-sdk-core/plugins/request_signer.rb,
lib/aws-sdk-core/plugins/sqs_queue_urls.rb,
lib/aws-sdk-core/plugins/stub_responses.rb,
lib/aws-sdk-core/refreshing_credentials.rb,
lib/aws-sdk-core/s3/bucket_region_cache.rb,
lib/aws-sdk-core/assume_role_credentials.rb,
lib/aws-sdk-core/plugins/protocols/query.rb,
lib/aws-sdk-core/plugins/response_paging.rb,
lib/aws-sdk-core/plugins/route_53_id_fix.rb,
lib/aws-sdk-core/query/ec2_param_builder.rb,
lib/aws-sdk-core/api/operation_documenter.rb,
lib/aws-sdk-core/dynamodb/attribute_value.rb,
lib/aws-sdk-core/json/rpc_headers_handler.rb,
lib/aws-sdk-core/json/simple_body_handler.rb,
lib/aws-sdk-core/xml/parser/engines/rexml.rb,
lib/aws-sdk-core/xml/parser/parsing_error.rb,
lib/aws-sdk-core/credential_provider_chain.rb,
lib/aws-sdk-core/plugins/glacier_checksums.rb,
lib/aws-sdk-core/plugins/regional_endpoint.rb,
lib/aws-sdk-core/plugins/s3_request_signer.rb,
lib/aws-sdk-core/plugins/swf_read_timeouts.rb,
lib/aws-sdk-core/xml/parser/engines/libxml.rb,
lib/aws-sdk-core/api/service_customizations.rb,
lib/aws-sdk-core/plugins/glacier_account_id.rb,
lib/aws-sdk-core/plugins/protocols/json_rpc.rb,
lib/aws-sdk-core/plugins/protocols/rest_xml.rb,
lib/aws-sdk-core/plugins/glacier_api_version.rb,
lib/aws-sdk-core/plugins/protocols/rest_json.rb,
lib/aws-sdk-core/plugins/s3_url_encoded_keys.rb,
lib/aws-sdk-core/xml/parser/engines/nokogiri.rb,
lib/aws-sdk-core/instance_profile_credentials.rb,
lib/aws-sdk-core/plugins/global_configuration.rb,
lib/aws-sdk-core/plugins/s3_expect_100_continue.rb,
lib/aws-sdk-core/plugins/s3_location_constraint.rb,
lib/aws-sdk-core/plugins/csd_conditional_signing.rb,
lib/aws-sdk-core/plugins/dynamodb_crc32_validation.rb,
lib/aws-sdk-core/plugins/dynamodb_extended_retries.rb,
lib/aws-sdk-core/plugins/dynamodb_simple_attributes.rb,
lib/aws-sdk-core/plugins/s3_get_bucket_location_fix.rb,
lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb,
lib/aws-sdk-core/plugins/s3_complete_multipart_upload_fix.rb

Defined Under Namespace

Modules: Api, ClientPaging, ClientStubs, ClientWaiters, DynamoDB, Errors, Json, Paging, Plugins, Query, RefreshingCredentials, S3, Service, Signers, Waiters, Xml Classes: AssumeRoleCredentials, Client, CredentialProviderChain, Credentials, EmptyStructure, EndpointProvider, InstanceProfileCredentials, PageableResponse, RestBodyHandler, SharedCredentials, Structure, TreeHash

Constant Summary collapse

API_DIR =

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.

File.join(File.dirname(File.dirname(__FILE__)), 'apis')
SERVICE_MODULE_NAMES =

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.

services

%w(
  AutoScaling
  CloudFormation
  CloudFront
  CloudHSM
  CloudSearch
  CloudSearchDomain
  CloudTrail
  CloudWatch
  CloudWatchLogs
  CodeDeploy
  CognitoIdentity
  CognitoSync
  ConfigService
  DataPipeline
  DirectConnect
  DynamoDB
  EC2
  ECS
  ElastiCache
  ElasticBeanstalk
  ElasticLoadBalancing
  ElasticTranscoder
  EMR
  Glacier
  IAM
  ImportExport
  Kinesis
  KMS
  Lambda
  OpsWorks
  RDS
  Redshift
  Route53
  Route53Domains
  S3
  SES
  SimpleDB
  SNS
  SQS
  SSM
  StorageGateway
  STS
  Support
  SWF
)
VERSION =
'2.0.34'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configHash

Returns a hash of default configuration options shared by all constructed clients.

Returns:

  • (Hash)

    Returns a hash of default configuration options shared by all constructed clients.



206
207
208
# File 'lib/aws-sdk-core.rb', line 206

def config
  @config
end

Class Method Details

.add_service(svc_name, options = {}) ⇒ Module<Service>

Registers a new service.

Aws.add_service('SvcName',
  api: '/path/to/svc.api.json',
  paginators: '/path/to/svc.paginators.json',
  waiters: '/path/to/svc.waiters.json',
  resources: '/path/to/svc.resources.json')

Aws::SvcName::Client.new
#=> #<Aws::SvcName::Client>

Parameters:

  • svc_name (String)

    The name of the service. This will also be the namespace under Aws. This must be a valid constant name.

  • options[String,Pathname,Hash,Seahorse::Model::Api,nil] (Hash)

    a customizable set of options

  • options[String,Pathname,Hash,Paging::Provider,nil] (Hash)

    a customizable set of options

  • options[String,Pathname,Hash,Waiters::Provider,nil] (Hash)

    a customizable set of options

  • options[String,Pathname,Hash,Resources::Definition,nil] (Hash)

    a customizable set of options

Returns:

  • (Module<Service>)

    Returns the new service module.



252
253
254
255
256
257
258
259
260
# File 'lib/aws-sdk-core.rb', line 252

def add_service(svc_name, options = {})
  svc_module = Module.new { extend Service }
  const_set(svc_name, svc_module)
  @services[svc_name] = [svc_module, options]
  @service_added_callbacks.each do |callback|
    callback.call(svc_name.to_s, *@services[svc_name])
  end
  svc_module
end

.load_all_servicesObject

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.



263
264
265
266
267
# File 'lib/aws-sdk-core.rb', line 263

def load_all_services
  SERVICE_MODULE_NAMES.each do |const_name|
    const_get(const_name)
  end
end

.load_json(path) ⇒ 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.



230
231
232
# File 'lib/aws-sdk-core.rb', line 230

def load_json(path)
  Seahorse::Util.load_json(path)
end

.service_added(&block) ⇒ 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.

Yields to the given block for each service that has already been defined via add_service. Also yields to the given block for each new service added after the callback is registered.



221
222
223
224
225
226
227
# File 'lib/aws-sdk-core.rb', line 221

def service_added(&block)
  callback = Proc.new
  @services.each do |svc_name, (svc_module, options)|
    yield(svc_name, svc_module, options)
  end
  @service_added_callbacks << callback
end