Class: AWSCosts::EBSOptimized
- Inherits:
-
Object
- Object
- AWSCosts::EBSOptimized
- Defined in:
- lib/awscosts/ec2_ebs_optimized.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(data) ⇒ EBSOptimized
constructor
A new instance of EBSOptimized.
- #price(type = nil) ⇒ Object
Constructor Details
#initialize(data) ⇒ EBSOptimized
Returns a new instance of EBSOptimized.
5 6 7 |
# File 'lib/awscosts/ec2_ebs_optimized.rb', line 5 def initialize data @data = data end |
Class Method Details
.fetch(region) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/awscosts/ec2_ebs_optimized.rb', line 13 def self.fetch region transformed = AWSCosts::Cache.get_jsonp('/pricing/1/ec2/pricing-ebs-optimized-instances.min.js') do |data| result = {} data['config']['regions'].each do |r| container = {} r['instanceTypes'].each do |type| type['sizes'].each do |size| container[size['size']] = size['valueColumns'].select{|v| v['name'] == 'ebsOptimized'}.first['prices']['USD'].to_f end end result[r['region']] = container end result end self.new(transformed[region]) end |
Instance Method Details
#price(type = nil) ⇒ Object
9 10 11 |
# File 'lib/awscosts/ec2_ebs_optimized.rb', line 9 def price type = nil type.nil? ? @data : @data[type] end |