Module: Aws
- Defined in:
- lib/aws-sdk-core.rb,
lib/aws-sdk-core/s3.rb,
lib/aws-sdk-core/json.rb,
lib/aws-sdk-core/pager.rb,
lib/aws-sdk-core/polly.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/checksums.rb,
lib/aws-sdk-core/structure.rb,
lib/aws-sdk-core/tree_hash.rb,
lib/aws-sdk-core/cloudfront.rb,
lib/aws-sdk-core/ini_parser.rb,
lib/aws-sdk-core/partitions.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/api/builder.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/deprecations.rb,
lib/aws-sdk-core/eager_loader.rb,
lib/aws-sdk-core/json/builder.rb,
lib/aws-sdk-core/json/handler.rb,
lib/aws-sdk-core/rest/handler.rb,
lib/aws-sdk-core/s3/presigner.rb,
lib/aws-sdk-core/signers/base.rb,
lib/aws-sdk-core/type_builder.rb,
lib/aws-sdk-core/api/shape_map.rb,
lib/aws-sdk-core/log/formatter.rb,
lib/aws-sdk-core/query/handler.rb,
lib/aws-sdk-core/shared_config.rb,
lib/aws-sdk-core/api/docs/utils.rb,
lib/aws-sdk-core/client_waiters.rb,
lib/aws-sdk-core/json/oj_engine.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/ecs_credentials.rb,
lib/aws-sdk-core/empty_structure.rb,
lib/aws-sdk-core/param_converter.rb,
lib/aws-sdk-core/param_validator.rb,
lib/aws-sdk-core/plugins/logging.rb,
lib/aws-sdk-core/plugins/s3_md5s.rb,
lib/aws-sdk-core/polly/presigner.rb,
lib/aws-sdk-core/xml/default_map.rb,
lib/aws-sdk-core/xml/doc_builder.rb,
lib/aws-sdk-core/api/docs/builder.rb,
lib/aws-sdk-core/json/json_engine.rb,
lib/aws-sdk-core/log/param_filter.rb,
lib/aws-sdk-core/plugins/sqs_md5s.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/endpoint_provider.rb,
lib/aws-sdk-core/pageable_response.rb,
lib/aws-sdk-core/partitions/region.rb,
lib/aws-sdk-core/rest/request/body.rb,
lib/aws-sdk-core/xml/error_handler.rb,
lib/aws-sdk-core/api/customizations.rb,
lib/aws-sdk-core/api/docs/crosslink.rb,
lib/aws-sdk-core/json/error_handler.rb,
lib/aws-sdk-core/partitions/service.rb,
lib/aws-sdk-core/plugins/s3_sse_cpk.rb,
lib/aws-sdk-core/plugins/user_agent.rb,
lib/aws-sdk-core/rest/response/body.rb,
lib/aws-sdk-core/shared_credentials.rb,
lib/aws-sdk-core/stubbing/stub_data.rb,
lib/aws-sdk-core/stubbing/xml_error.rb,
lib/aws-sdk-core/credential_provider.rb,
lib/aws-sdk-core/log/param_formatter.rb,
lib/aws-sdk-core/query/param_builder.rb,
lib/aws-sdk-core/stubbing/empty_stub.rb,
lib/aws-sdk-core/partitions/partition.rb,
lib/aws-sdk-core/plugins/retry_errors.rb,
lib/aws-sdk-core/plugins/s3_dualstack.rb,
lib/aws-sdk-core/plugins/s3_redirects.rb,
lib/aws-sdk-core/rest/request/builder.rb,
lib/aws-sdk-core/rest/request/headers.rb,
lib/aws-sdk-core/rest/response/parser.rb,
lib/aws-sdk-core/cloudfront/url_signer.rb,
lib/aws-sdk-core/plugins/protocols/ec2.rb,
lib/aws-sdk-core/plugins/s3_accelerate.rb,
lib/aws-sdk-core/plugins/s3_bucket_dns.rb,
lib/aws-sdk-core/rest/request/endpoint.rb,
lib/aws-sdk-core/rest/response/headers.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/stubbing/protocols/ec2.rb,
lib/aws-sdk-core/xml/parser/engines/oga.rb,
lib/aws-sdk-core/api/docs/shared_example.rb,
lib/aws-sdk-core/assume_role_credentials.rb,
lib/aws-sdk-core/plugins/param_converter.rb,
lib/aws-sdk-core/plugins/param_validator.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/stubbing/protocols/json.rb,
lib/aws-sdk-core/stubbing/protocols/rest.rb,
lib/aws-sdk-core/api/docs/param_formatter.rb,
lib/aws-sdk-core/dynamodb/attribute_value.rb,
lib/aws-sdk-core/stubbing/data_applicator.rb,
lib/aws-sdk-core/stubbing/protocols/query.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/partitions/partition_list.rb,
lib/aws-sdk-core/plugins/glacier_checksums.rb,
lib/aws-sdk-core/plugins/idempotency_token.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/rest/response/status_code.rb,
lib/aws-sdk-core/xml/parser/engines/libxml.rb,
lib/aws-sdk-core/plugins/api_gateway_header.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/s3_http_200_errors.rb,
lib/aws-sdk-core/api/docs/docstring_provider.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/stubbing/protocols/rest_xml.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/stubbing/protocols/rest_json.rb,
lib/aws-sdk-core/api/docs/operation_documenter.rb,
lib/aws-sdk-core/plugins/ec2_region_validation.rb,
lib/aws-sdk-core/plugins/helpful_socket_errors.rb,
lib/aws-sdk-core/plugins/s3_expect_100_continue.rb,
lib/aws-sdk-core/plugins/s3_location_constraint.rb,
lib/aws-sdk-core/api/docs/client_type_documenter.rb,
lib/aws-sdk-core/api/docs/request_syntax_example.rb,
lib/aws-sdk-core/plugins/csd_conditional_signing.rb,
lib/aws-sdk-core/plugins/rds_cross_region_copying.rb,
lib/aws-sdk-core/rest/request/querystring_builder.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/api/docs/response_structure_example.rb,
lib/aws-sdk-core/plugins/ec2_copy_encrypted_snapshot.rb,
lib/aws-sdk-core/plugins/s3_bucket_name_restrictions.rb,
lib/aws-sdk-core/plugins/machine_learning_predict_endpoint.rb
Defined Under Namespace
Modules: Api, Checksums, ClientStubs, ClientWaiters, CloudFront, CredentialProvider, Deprecations, DynamoDB, Errors, Json, Log, PageableResponse, Partitions, Plugins, Polly, Query, RefreshingCredentials, Rest, S3, Service, Signers, Stubbing, Waiters, Xml Classes: AssumeRoleCredentials, Client, CredentialProviderChain, Credentials, ECSCredentials, EagerLoader, EndpointProvider, IniParser, InstanceProfileCredentials, Pager, ParamConverter, ParamValidator, SharedConfig, SharedCredentials, Structure, TreeHash, TypeBuilder
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( ACM APIGateway ApplicationAutoScaling ApplicationDiscoveryService AppStream AutoScaling Batch Budgets CodeBuild CloudFormation CloudFront CloudHSM CloudSearch CloudSearchDomain CloudTrail CloudWatch CloudWatchEvents CloudWatchLogs CodeCommit CodeDeploy CodePipeline CognitoIdentity CognitoIdentityProvider CognitoSync ConfigService CostandUsageReportService DatabaseMigrationService DataPipeline DeviceFarm DirectConnect DirectoryService DynamoDB DynamoDBStreams EC2 ECR ECS EFS ElastiCache ElasticBeanstalk ElasticLoadBalancing ElasticLoadBalancingV2 ElasticsearchService ElasticTranscoder EMR Firehose GameLift Glacier Health IAM ImportExport Inspector IoT IoTDataPlane Kinesis KinesisAnalytics KMS Lambda LambdaPreview Lightsail MachineLearning MarketplaceCommerceAnalytics MarketplaceMetering OpsWorks OpsWorksCM Pinpoint Polly RDS Rekognition Redshift Route53 Route53Domains S3 ServiceCatalog SES Shield SimpleDB SMS SNS Snowball SQS SSM States StorageGateway STS Support SWF WAF WAFRegional WorkSpaces XRay )
- VERSION =
'2.7.1'
- EmptyStructure =
Class.new(Structure.new('AwsEmptyStructure'))
Class Attribute Summary collapse
-
.config ⇒ Hash
Returns a hash of default configuration options shared by all constructed clients.
Class Method Summary collapse
-
.add_service(svc_name, options = {}) ⇒ Module<Service>
Registers a new service.
-
.eager_autoload!(options = {}) ⇒ void
Loads modules that are normally loaded with Ruby’s ‘autoload`.
-
.partition(partition_name) ⇒ Partitions::Partition
Return the partition with the given name.
-
.partitions ⇒ Array<Partitions::Partition>
Return an array of partitions.
-
.service_added(&block) ⇒ Object
private
Yields to the given block for each service that has already been defined via Aws.add_service.
- .shared_config ⇒ Object private
- .sub_modules(options = {}) ⇒ Object
-
.use_bundled_cert! ⇒ String
The SDK ships with a ca certificate bundle to use when verifying SSL peer certificates.
Class Attribute Details
.config ⇒ Hash
Returns a hash of default configuration options shared by all constructed clients.
313 314 315 |
# File 'lib/aws-sdk-core.rb', line 313 def config @config end |
Class Method Details
.add_service(svc_name, options = {}) ⇒ Module<Service>
465 466 467 468 469 470 471 472 473 |
# File 'lib/aws-sdk-core.rb', line 465 def add_service(svc_name, = {}) svc_module = Module.new { extend Service } const_set(svc_name, svc_module) @services[svc_name] = [svc_module, ] @service_added_callbacks.each do |callback| callback.call(svc_name.to_s, *@services[svc_name]) end svc_module end |
.eager_autoload!(options = {}) ⇒ void
This method returns an undefined value.
Loads modules that are normally loaded with Ruby’s ‘autoload`. This can avoid thread-safety issues that some Ruby versions have with `autoload`.
# loads ALL services
Aws.eager_autoload!
Loading all services can be slow. You can specify what services you want to load with the ‘:services` option. All services not named will continue to autoload as normal.
Aws.eager_autoload!(services: %w(S3 EC2))
412 413 414 415 416 417 418 419 420 |
# File 'lib/aws-sdk-core.rb', line 412 def eager_autoload!( = {}) eager_loader = EagerLoader.new eager_loader.load(JMESPath) eager_loader.load(Seahorse) sub_modules().each do |module_or_class| eager_loader.load(module_or_class) end eager_loader end |
.partition(partition_name) ⇒ Partitions::Partition
Return the partition with the given name. A partition describes the services and regions available in that partition.
aws = Aws.partition('aws')
puts "Regions available in the aws partition:\n"
aws.regions.each do |region|
puts region.name
end
puts "Services available in the aws partition:\n"
aws.services.each do |services|
puts services.name
end
See Partitions for more information and examples.
349 350 351 |
# File 'lib/aws-sdk-core.rb', line 349 def partition(partition_name) Partitions.default_list.partition(partition_name) end |
.partitions ⇒ Array<Partitions::Partition>
Return an array of partitions. A partition describes the services and regions available in that partition.
Aws.partitions.each do |partition|
puts "Regions available in #{partition.name}:\n"
partition.regions.each do |region|
puts region.name
end
puts "Services available in #{partition.name}:\n"
partition.services.each do |service|
puts service.name
end
end
See Partitions for more information and examples.
373 374 375 |
# File 'lib/aws-sdk-core.rb', line 373 def partitions Partitions.default_list.partitions 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.
439 440 441 442 443 444 445 |
# File 'lib/aws-sdk-core.rb', line 439 def service_added(&block) callback = Proc.new @services.each do |svc_name, (svc_module, )| yield(svc_name, svc_module, ) end @service_added_callbacks << callback end |
.shared_config ⇒ 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.
306 307 308 309 |
# File 'lib/aws-sdk-core.rb', line 306 def shared_config enabled = ENV["AWS_SDK_CONFIG_OPT_OUT"] ? false : true @shared_config ||= SharedConfig.new(config_enabled: enabled) end |
.sub_modules(options = {}) ⇒ Object
422 423 424 425 426 427 428 429 430 431 432 433 |
# File 'lib/aws-sdk-core.rb', line 422 def sub_modules( = {}) constants = Aws.constants.map(&:to_s) if [:services] constants -= SERVICE_MODULE_NAMES constants += [:services] || SERVICE_MODULE_NAMES end constants.inject([]) do |modules, const_name| constant = Aws.const_get(const_name) modules << constant if Module === constant modules end end |
.use_bundled_cert! ⇒ String
The SDK ships with a ca certificate bundle to use when verifying SSL peer certificates. By default, this cert bundle is NOT used. The SDK will rely on the default cert available to OpenSSL. This ensures the cert provided by your OS is used.
For cases where the default cert is unavailable, e.g. Windows, you can call this method.
Aws.use_bundled_cert!
388 389 390 391 392 393 394 395 396 |
# File 'lib/aws-sdk-core.rb', line 388 def use_bundled_cert! config.delete(:ssl_ca_directory) config.delete(:ssl_ca_store) config[:ssl_ca_bundle] = File.(File.join( File.dirname(__FILE__), '..', 'ca-bundle.crt' )) end |