amazon-pricing 0.1.75 → 0.1.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/Gemfile.lock +1 -1
- data/lib/amazon-pricing/definitions/ebs-price.rb +9 -4
- data/lib/amazon-pricing/ec2-price-list.rb +8 -4
- data/lib/amazon-pricing/version.rb +1 -1
- data/test/ec2_instance_types_test.rb +17 -2
- metadata +9 -17
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
NmEzYzg0ZGI2Mzk5NDhjYmFiMWVmNTYzYTQ0MjM2NDQ3MzNmM2E0ZQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: d472ba3a48cd3e5079c816df71dbe2249607e02a
|
4
|
+
data.tar.gz: 53d480512cdc7347d27ed0e5bc07b0791b8a91db
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NWUzOTBjYWRjYzI1MWU5NjA1YjZmNWNkMjU4NzIwY2Q3MDYzMTc5OWU0ZDUw
|
11
|
-
MmZmMWNkYzQzNzEzZjUxMzcwNDUzN2M0ZjU4ZmEwZTdiMTgxYjY=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YzI4N2E1NWNhNGEyZmY1ODgzZjVhYzI5ZjAzMzU1N2M3YjUxNzgzM2JiZTZm
|
14
|
-
MGMxMDYzYmI2ZjhlNTdmODE2NWU2NmQ0MGY0Y2YyYjZmNzFmNWZlM2EzNGU5
|
15
|
-
OWQzNWQ5MjllODQzNjI2Zjc1YzIyZmVmOTk0Njg4NzM1Y2E4NDQ=
|
6
|
+
metadata.gz: f37dfa9dc471b49204323ea8d631ab5ef1b5364e6fb692223ef56594afe5d43386b49cae7bcd43ba34274308ed56e259cf8ef4122d5b67d7c57d3305da008d92
|
7
|
+
data.tar.gz: a09e9a05ca0f7a82f4a5e665bc8f77b946226890d073e60c88ab9feff1bb491f9dc808779546aefedc9b5cc1f99b3c3c2721403cbd522de905ef6f7a72adbe1d
|
data/Gemfile.lock
CHANGED
@@ -12,7 +12,8 @@ module AwsPricing
|
|
12
12
|
class EbsPrice
|
13
13
|
attr_accessor :standard_per_gb, :standard_per_million_io, :s3_snaps_per_gb,
|
14
14
|
:preferred_per_gb, :preferred_per_iops,
|
15
|
-
:ssd_per_gb
|
15
|
+
:ssd_per_gb,
|
16
|
+
:ebs_cold_hdd_per_gb, :ebs_optimized_hdd_per_gb
|
16
17
|
|
17
18
|
def initialize(region)
|
18
19
|
#@region = region
|
@@ -22,14 +23,18 @@ module AwsPricing
|
|
22
23
|
def update_from_json(json)
|
23
24
|
json["types"].each do |t|
|
24
25
|
case t["name"]
|
25
|
-
when "Amazon EBS Magnetic volumes"
|
26
|
+
when "Amazon EBS Magnetic volumes" # not supported by aws anymore, replaced by st1 and sc1
|
26
27
|
@standard_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
|
27
28
|
@standard_per_million_io = t["values"].select{|v| v["rate"] == "perMMIOreq" }.first["prices"].values.first.to_f
|
28
|
-
when "Amazon EBS Provisioned IOPS (
|
29
|
+
when "Amazon EBS Provisioned IOPS SSD (io1) volumes"
|
29
30
|
@preferred_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
|
30
31
|
@preferred_per_iops = t["values"].select{|v| v["rate"] == "perPIOPSreq" }.first["prices"].values.first.to_f
|
31
|
-
when "Amazon EBS General Purpose (
|
32
|
+
when "Amazon EBS General Purpose SSD (gp2) volumes"
|
32
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"
|
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"
|
37
|
+
@ebs_optimized_hdd_per_gb = t["values"].select{|v| v["rate"] == "perGBmoProvStorage" }.first["prices"].values.first.to_f
|
33
38
|
when "ebsSnapsToS3"
|
34
39
|
@s3_snaps_per_gb = t["values"].select{|v| v["rate"] == "perGBmoDataStored" }.first["prices"].values.first.to_f
|
35
40
|
end
|
@@ -59,16 +59,20 @@ module AwsPricing
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def fetch_ec2_ebs_pricing
|
62
|
-
|
63
|
-
|
64
|
-
|
62
|
+
res_current = PriceList.fetch_url(EBS_BASE_URL + "pricing-ebs.min.js")
|
63
|
+
res_previous = PriceList.fetch_url(EBS_BASE_URL + "pricing-ebs-previous-generation.min.js")
|
64
|
+
res_current["config"]["regions"].each do |region_types_current|
|
65
|
+
region_name = region_types_current["region"]
|
65
66
|
region = get_region(region_name)
|
66
67
|
if region.nil?
|
67
68
|
$stderr.puts "[fetch_ec2_ebs_pricing] WARNING: unable to find region #{region_name}"
|
68
69
|
next
|
69
70
|
end
|
71
|
+
region_previous = res_previous["config"]["regions"]
|
72
|
+
region_types_previous = region_previous.select{|rp| region_name == rp["region"]}.first
|
70
73
|
region.ebs_price = EbsPrice.new(region)
|
71
|
-
region.ebs_price.update_from_json(
|
74
|
+
region.ebs_price.update_from_json(region_types_current)
|
75
|
+
region.ebs_price.update_from_json(region_types_previous)
|
72
76
|
end
|
73
77
|
end
|
74
78
|
|
@@ -80,19 +80,29 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def test_ebs
|
83
|
-
region = @@ec2_pricing.get_region('us-east')
|
83
|
+
region = @@ec2_pricing.get_region('us-east-1')
|
84
|
+
# next two prices are no longer provided by aws (May 09, 2016)
|
84
85
|
assert region.ebs_price.standard_per_gb == 0.05
|
85
86
|
assert region.ebs_price.standard_per_million_io == 0.05
|
86
87
|
assert region.ebs_price.preferred_per_gb == 0.125
|
87
88
|
assert region.ebs_price.preferred_per_iops == 0.065
|
88
89
|
assert region.ebs_price.s3_snaps_per_gb == 0.095
|
90
|
+
# next two prices were added by aws (May 09, 2016)
|
91
|
+
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045
|
92
|
+
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025
|
93
|
+
|
89
94
|
end
|
90
95
|
|
91
96
|
def test_ebs_not_null
|
92
97
|
@@ec2_pricing.regions.each do |region|
|
93
98
|
# Everyone should have standard pricing
|
99
|
+
# next two prices are no longer provided by aws (May 09, 2016)
|
94
100
|
assert_not_nil region.ebs_price.standard_per_gb
|
95
101
|
assert_not_nil region.ebs_price.standard_per_million_io
|
102
|
+
assert_not_nil region.ebs_price.preferred_per_gb
|
103
|
+
assert_not_nil region.ebs_price.preferred_per_iops
|
104
|
+
assert_not_nil region.ebs_price.ebs_optimized_hdd_per_gb
|
105
|
+
assert_not_nil region.ebs_price.ebs_cold_hdd_per_gb
|
96
106
|
assert_not_nil region.ebs_price.s3_snaps_per_gb
|
97
107
|
end
|
98
108
|
end
|
@@ -166,11 +176,16 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
166
176
|
|
167
177
|
def test_govcloud_ebs
|
168
178
|
region = @@ec2_pricing.get_region('us-gov-west-1')
|
179
|
+
# next two prices are no longer provided by aws (May 09, 2016)
|
169
180
|
assert region.ebs_price.standard_per_gb == 0.065
|
170
|
-
|
181
|
+
assert region.ebs_price.standard_per_million_io == 0.065
|
171
182
|
assert region.ebs_price.preferred_per_gb == 0.15
|
172
183
|
assert region.ebs_price.preferred_per_iops == 0.078
|
173
184
|
assert region.ebs_price.s3_snaps_per_gb == 0.125
|
185
|
+
# next two prices were added by aws (May 09, 2016)
|
186
|
+
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054
|
187
|
+
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03
|
188
|
+
|
174
189
|
end
|
175
190
|
|
176
191
|
def test_govcloud_new_reservation_types
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: amazon-pricing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.76
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Kinsella
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby library for retrieving pricing for Amazon Web Services
|
14
14
|
email:
|
@@ -19,7 +19,7 @@ extra_rdoc_files:
|
|
19
19
|
- LICENSE
|
20
20
|
- README.md
|
21
21
|
files:
|
22
|
-
- .gitignore
|
22
|
+
- ".gitignore"
|
23
23
|
- CHANGELOG.md
|
24
24
|
- Gemfile
|
25
25
|
- Gemfile.lock
|
@@ -65,21 +65,21 @@ licenses:
|
|
65
65
|
metadata: {}
|
66
66
|
post_install_message:
|
67
67
|
rdoc_options:
|
68
|
-
- --title
|
68
|
+
- "--title"
|
69
69
|
- amazon-pricing documentation
|
70
|
-
- --line-numbers
|
71
|
-
- --main
|
70
|
+
- "--line-numbers"
|
71
|
+
- "--main"
|
72
72
|
- README.md
|
73
73
|
require_paths:
|
74
74
|
- lib
|
75
75
|
required_ruby_version: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
|
-
- -
|
77
|
+
- - ">="
|
78
78
|
- !ruby/object:Gem::Version
|
79
79
|
version: '0'
|
80
80
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
|
-
- -
|
82
|
+
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
@@ -88,12 +88,4 @@ rubygems_version: 2.4.8
|
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: Amazon Web Services Pricing Ruby gem
|
91
|
-
test_files:
|
92
|
-
- spec/lib/amazon-pricing/definitions/database-type_spec.rb
|
93
|
-
- spec/lib/amazon-pricing/elasticache_pricing_spec.rb
|
94
|
-
- spec/lib/amazon-pricing/rds_pricing_spec.rb
|
95
|
-
- spec/spec_helper.rb
|
96
|
-
- spec/support/.gitignore
|
97
|
-
- test/ec2_instance_types_test.rb
|
98
|
-
- test/helper.rb
|
99
|
-
has_rdoc:
|
91
|
+
test_files: []
|