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/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/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/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/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/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/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_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
  CloudSearch
  CloudSearchDomain
  CloudTrail
  CloudWatch
  CloudWatchLogs
  CodeDeploy
  CognitoIdentity
  CognitoSync
  ConfigService
  DataPipeline
  DirectConnect
  DynamoDB
  EC2
  ElastiCache
  ElasticBeanstalk
  ElasticLoadBalancing
  ElasticTranscoder
  EMR
  Glacier
  IAM
  ImportExport
  Kinesis
  KMS
  Lambda
  OpsWorks
  RDS
  Redshift
  Route53
  Route53Domains
  S3
  SES
  SimpleDB
  SNS
  SQS
  StorageGateway
  STS
  Support
  SWF
)
VERSION =
'2.0.13'

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.



201
202
203
# File 'lib/aws-sdk-core.rb', line 201

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.



247
248
249
250
251
252
253
254
255
# File 'lib/aws-sdk-core.rb', line 247

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.



258
259
260
261
262
# File 'lib/aws-sdk-core.rb', line 258

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.



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

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.



216
217
218
219
220
221
222
# File 'lib/aws-sdk-core.rb', line 216

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