Class: Elasticity::AwsSession
- Inherits:
-
Object
- Object
- Elasticity::AwsSession
- Defined in:
- lib/elasticity/aws_session.rb
Instance Attribute Summary collapse
-
#host ⇒ Object
readonly
Returns the value of attribute host.
-
#region ⇒ Object
readonly
Returns the value of attribute region.
Instance Method Summary collapse
- #==(other) ⇒ Object
-
#initialize(options = {}) ⇒ AwsSession
constructor
Supported values for options: :region - AWS region (e.g. us-west-1) :secure - true or false, default true.
- #submit(ruby_service_hash) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ AwsSession
Supported values for options:
:region - AWS region (e.g. us-west-1)
:secure - true or false, default true.
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/elasticity/aws_session.rb', line 16 def initialize(={}) # There is a cryptic error if this isn't set if .has_key?(:region) && [:region] == nil raise MissingRegionError, 'A valid :region is required to connect to EMR' end [:region] = 'us-east-1' unless [:region] @region = [:region] @host = "elasticmapreduce.#@region.amazonaws.com" end |
Instance Attribute Details
#host ⇒ Object (readonly)
Returns the value of attribute host.
10 11 12 |
# File 'lib/elasticity/aws_session.rb', line 10 def host @host end |
#region ⇒ Object (readonly)
Returns the value of attribute region.
11 12 13 |
# File 'lib/elasticity/aws_session.rb', line 11 def region @region end |
Instance Method Details
#==(other) ⇒ Object
36 37 38 39 40 |
# File 'lib/elasticity/aws_session.rb', line 36 def ==(other) return false unless other.is_a? AwsSession return false unless @host == other.host true end |
#submit(ruby_service_hash) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/elasticity/aws_session.rb', line 27 def submit(ruby_service_hash) aws_request = AwsRequestV4.new(self, ruby_service_hash) begin RestClient.post(aws_request.url, aws_request.payload, aws_request.headers) rescue RestClient::BadRequest => e raise ArgumentError, AwsSession.parse_error_response(e.http_body) end end |