class AwsPricing::EbsPrice

Attributes

ebs_cold_hdd_per_gb[RW]
ebs_optimized_hdd_per_gb[RW]
preferred_per_gb[RW]
preferred_per_iops[RW]
s3_snaps_per_gb[RW]
ssd_per_gb[RW]
standard_per_gb[RW]
standard_per_million_io[RW]

Public Class Methods

new(region) click to toggle source
   # File lib/amazon-pricing/definitions/ebs-price.rb
18 def initialize(region)
19   #@region = region
20 end

Public Instance Methods

update_from_json(json) click to toggle source

e.g a0.awsstatic.com/pricing/1/ebs/pricing-ebs.min.js

   # File lib/amazon-pricing/definitions/ebs-price.rb
23 def update_from_json(json)
24   json["types"].each do |t|
25     case t["name"]
26     when "Amazon EBS Magnetic volumes"  # not supported by aws anymore, replaced by st1 and sc1
27       @standard_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
28       @standard_per_million_io = t["values"].select{|v| v["rate"] == "perMMIOreq" }.first["prices"].values.first.to_f
29     when "Amazon EBS Provisioned IOPS SSD (io1) volumes", "ebsPIOPSSSD"
30       @preferred_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
31       @preferred_per_iops = t["values"].select{|v| v["rate"] == "perPIOPSreq" }.first["prices"].values.first.to_f
32     when "Amazon EBS General Purpose SSD (gp2) volumes", "ebsGPSSD"
33       @ssd_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
34     when "Amazon EBS Cold HDD (sc1) volumes", "ebsColdHDD"
35       @ebs_cold_hdd_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
36     when "Amazon EBS Throughput Optimized HDD (st1) volumes", "ebsTOHDD"
37       @ebs_optimized_hdd_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
38     when "ebsSnapsToS3"
39       @s3_snaps_per_gb = t["values"].select{|v| v["rate"] == "perGBmoDataStored" }.first["prices"].values.first.to_f
40     else
41       puts "[#{__method__}] Unknown EBS type=#{t['name']}, ignoring #{t}."
42     end
43   end
44 end