Module: Aws
- Defined in:
- lib/aws-sdk-core.rb,
lib/aws-sdk-core/s3.rb,
lib/aws-sdk-core/rds.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/endpoint_cache.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/cloudfront/signer.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_host_id.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/s3_control_dns.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/cloudfront/cookie_signer.rb,
lib/aws-sdk-core/dynamodb/attribute_value.rb,
lib/aws-sdk-core/plugins/endpoint_pattern.rb,
lib/aws-sdk-core/rds/auth_token_generator.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_control_signer.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/csd_switch_to_post.rb,
lib/aws-sdk-core/plugins/endpoint_discovery.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/jsonvalue_converter.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/plugins/s3_control_dualstack.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, RDS, RefreshingCredentials, Rest, S3, Service, Signers, Stubbing, Waiters, Xml Classes: AssumeRoleCredentials, Client, CredentialProviderChain, Credentials, ECSCredentials, EagerLoader, EndpointCache, 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 ACMPCA APIGateway AlexaForBusiness Amplify ApiGatewayManagementApi ApiGatewayV2 AppMesh AppStream AppSync ApplicationAutoScaling ApplicationDiscoveryService ApplicationInsights Athena AutoScaling AutoScalingPlans Backup Batch Budgets Chime Cloud9 CloudDirectory CloudFormation CloudFront CloudHSM CloudHSMV2 CloudSearch CloudSearchDomain CloudTrail CloudWatch CloudWatchEvents CloudWatchLogs CodeBuild CodeCommit CodeDeploy CodePipeline CodeStar CognitoIdentity CognitoIdentityProvider CognitoSync Comprehend ComprehendMedical ConfigService Connect CostExplorer CostandUsageReportService DAX DLM DataPipeline DataSync DatabaseMigrationService DeviceFarm DirectConnect DirectoryService DocDB DynamoDB DynamoDBStreams EC2 EC2InstanceConnect ECR ECS EFS EKS EMR ElastiCache ElasticBeanstalk ElasticLoadBalancing ElasticLoadBalancingV2 ElasticTranscoder ElasticsearchService EventBridge FMS FSx Firehose GameLift Glacier GlobalAccelerator Glue Greengrass GroundStation GuardDuty Health IAM ImportExport Inspector IoT IoT1ClickDevicesService IoT1ClickProjects IoTAnalytics IoTDataPlane IoTEvents IoTEventsData IoTJobsDataPlane IoTThingsGraph KMS Kafka Kinesis KinesisAnalytics KinesisAnalyticsV2 KinesisVideo KinesisVideoArchivedMedia KinesisVideoMedia Lambda LambdaPreview Lex LexModelBuildingService LicenseManager Lightsail MQ MTurk MachineLearning Macie ManagedBlockchain MarketplaceCommerceAnalytics MarketplaceEntitlementService MarketplaceMetering MediaConnect MediaConvert MediaLive MediaPackage MediaPackageVod MediaStore MediaStoreData MediaTailor MigrationHub Mobile Neptune OpsWorks OpsWorksCM Organizations PI Personalize PersonalizeEvents PersonalizeRuntime Pinpoint PinpointEmail PinpointSMSVoice Polly Pricing QuickSight RAM RDS RDSDataService Redshift Rekognition ResourceGroups ResourceGroupsTaggingAPI RoboMaker Route53 Route53Domains Route53Resolver S3 S3Control SES SMS SNS SQS SSM STS SWF SageMaker SageMakerRuntime SecretsManager SecurityHub ServerlessApplicationRepository ServiceCatalog ServiceDiscovery ServiceQuotas Shield Signer SimpleDB Snowball States StorageGateway Support Textract TranscribeService Transfer Translate WAF WAFRegional WorkDocs WorkLink WorkMail WorkSpaces XRay )
- VERSION =
'2.11.317'
- 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`.
-
.empty_connection_pools! ⇒ nil
Close any long-lived connections maintained by the SDK’s internal connection pool.
-
.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.
420 421 422 |
# File 'lib/aws-sdk-core.rb', line 420 def config @config end |
Class Method Details
.add_service(svc_name, options = {}) ⇒ Module<Service>
590 591 592 593 594 595 596 597 598 |
# File 'lib/aws-sdk-core.rb', line 590 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))
537 538 539 540 541 542 543 544 545 |
# File 'lib/aws-sdk-core.rb', line 537 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 |
.empty_connection_pools! ⇒ nil
Close any long-lived connections maintained by the SDK’s internal connection pool.
Applications that rely heavily on the ‘fork()` system call on POSIX systems should call this method in the child process directly after fork to ensure there are no race conditions between the parent process and its children for the pooled TCP connections.
Child processes that make multi-threaded calls to the SDK should block on this call before beginning work.
517 518 519 520 521 |
# File 'lib/aws-sdk-core.rb', line 517 def empty_connection_pools! Seahorse::Client::NetHttp::ConnectionPool.pools.each do |pool| pool.empty! end 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.
456 457 458 |
# File 'lib/aws-sdk-core.rb', line 456 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.
480 481 482 |
# File 'lib/aws-sdk-core.rb', line 480 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.
564 565 566 567 568 569 570 |
# File 'lib/aws-sdk-core.rb', line 564 def service_added(&block) callback = block if block_given? @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.
413 414 415 416 |
# File 'lib/aws-sdk-core.rb', line 413 def shared_config enabled = ENV["AWS_SDK_CONFIG_OPT_OUT"] ? false : true @shared_config ||= SharedConfig.new(config_enabled: enabled) end |
.sub_modules(options = {}) ⇒ Object
547 548 549 550 551 552 553 554 555 556 557 558 |
# File 'lib/aws-sdk-core.rb', line 547 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!
495 496 497 498 499 500 501 502 503 |
# File 'lib/aws-sdk-core.rb', line 495 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 |