Method: AWS::Core::Configuration#with
- Defined in:
- lib/aws/core/configuration.rb
#with(options = {}) ⇒ Configuration
Used to create a new Configuration object with the given modifications. The current configuration object is not modified.
AWS.config(:max_retries => 2)
no_retries_config = AWS.config.with(:max_retries => 0)
AWS.config.max_retries #=> 2
no_retries_config.max_retries #=> 0
You can use these configuration objects returned by #with to create AWS objects:
AWS::S3.new(:config => no_retries_config)
AWS::SQS.new(:config => no_retries_config)
Parameters:
- options (Hash) (defaults to: {})
Options Hash (options):
-
:access_key_id
(String)
— default:
nil
—
AWS access key id credential.
-
:ec2_endpoint
(String)
— default:
'ec2.amazonaws.com'
—
The service endpoint for Amazon EC2.
-
:http_handler
(Object)
— default:
AWS::HTTPartyHandler
—
The http handler that sends requests to AWS.
-
:iam_endpoint
(String)
— default:
'iam.amazonaws.com'
—
The service endpoint for AWS Idenity Access Management (IAM).
-
:logger
(Object, nil)
— default:
nil
—
A logger instance that should receive log messages generated by service requets.
A logger needs to respond to #log and must accept a severity (e.g. :info, :error, etc) and a string message.
-
:max_retries
(Integer)
— default:
3
—
The maximum number of times service errors (500) should be retried. There is an exponential backoff in between service request retries, so the more retries the longer it can take to fail.
-
:proxy_uri
(String, URI, nil)
— default:
nil
—
The URI of the proxy to send service requests through. You can pass a URI object or a URI string:
AWS.config(:proxy_uri => 'https://user:[email protected]:443/path?query') -
:s3_endpoint
(String)
— default:
's3.amazonaws.com'
—
The service endpoint for Amazon S3.
-
:s3_multipart_max_parts
(Integer)
— default:
1000
—
The maximum number of parts to split a file into when uploading in parts to S3.
-
:s3_multipart_threshold
(Integer)
— default:
16777216
—
When uploading data to S3, if the number of bytes to send exceedes
:s3_multipart_thresholdthen a multi part session is automatically started and the data is sent up in chunks. The size of each part is specified by:s3_multipart_min_part_size. Defaults to 16777216 (16MB). -
:s3_multipart_min_part_size
(Integer)
— default:
5242880
—
The absolute minimum size (in bytes) each S3 multipart segment should be. Defaults to 5242880 (5MB).
-
:s3_server_side_encryption
(Symbol)
— default:
nil
—
The algorithm to use when encrypting object data on the server side. The only valid value is
:aes256, which specifies that the object should be stored using the AES encryption algorithm with 256 bit keys. Defaults tonil, meaning server side encryption is not used unless specified on each individual call to upload an object. This option controls the default behavior for the following methods: -
:secret_access_key
(String)
— default:
nil
—
AWS secret access key credential.
-
:session_token
(String, nil)
— default:
nil
—
AWS secret token credential.
-
:simple_db_endpoint
(String)
— default:
'sdb.amazonaws.com'
—
The service endpoint for Amazon SimpleDB.
-
:simple_db_consistent_reads
(Boolean)
— default:
false
—
Determines if all SimpleDB read requests should be done consistently. Consistent reads are slower, but reflect all changes to SDB.
-
:simple_email_service_endpoint
(String)
— default:
'email.us-east-1.amazonaws.com'
—
The service endpoint for Amazon Simple Email Service.
-
:signer
(Object)
— default:
AWS::DefaultSigner
—
The request signer. Defaults to a default request signer implementation.
-
:ssl_ca_file
(String)
—
The path to a CA cert bundle in PEM format.
If
:ssl_verify_peeristrue(the default) this bundle will be used to validate the server certificate in each HTTPS request. The AWS SDK for Ruby ships with a CA cert bundle, which is the default value for this option. -
:ssl_verify_peer
(Boolean)
— default:
true
—
When
truethe HTTP handler validate server certificates for HTTPS requests.This option should only be disabled for diagnostic purposes; leaving this option set to
falseexposes your application to man-in-the-middle attacks and can pose a serious security risk. -
:sns_endpoint
(String)
— default:
'sns.us-east-1.amazonaws.com'
—
The service endpoint for Amazon SNS.
-
:sqs_endpoint
(String)
— default:
'sqs.us-east-1.amazonaws.com'
—
The service endpoint for Amazon SQS.
-
:sts_endpoint
(String)
— default:
'sts.amazonaws.com'
—
The service endpoint for AWS Security Token Service.
-
:use_ssl
(Boolean)
— default:
true
—
When
true, all requests to AWS are sent using HTTPS instead vanilla HTTP. -
:user_agent_prefix
(String)
— default:
nil
—
A string prefix to append to all requets against AWS services. This should be set for clients and applications built ontop of the aws-sdk gem.
Returns:
-
(Configuration)
—
Copies the current configuration and returns a new one with modifications as provided in
:options.
223 224 225 226 227 228 229 230 231 232 233 234 235 236 |
# File 'lib/aws/core/configuration.rb', line 223 def with options = {} # symbolize option keys options = options.inject({}) {|h,kv| h[kv.first.to_sym] = kv.last; h } values = supplied.merge(options) if supplied == values self # nothing changed else self.class.new(values.merge(:__created__ => @created.dup)) end end |