amazon-pricing 0.1.97 → 0.1.98
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile +1 -0
- data/lib/amazon-pricing/definitions/ec2-instance-type.rb +2 -1
- data/lib/amazon-pricing/definitions/instance-type.rb +7 -5
- data/lib/amazon-pricing/ec2-dhi-price-list.rb +6 -1
- data/lib/amazon-pricing/helpers/instance-type.rb +2 -1
- data/lib/amazon-pricing/version.rb +1 -1
- data/solano.yml +4 -0
- data/spec/lib/amazon-pricing/ec2_dh_pricing_spec.rb +0 -1
- data/spec/spec_helper.rb +3 -0
- data/test/ec2_instance_types_test.rb +16 -13
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTczM2E3YTRhYmRjNTZjZjQzMTMzYjk4YzY5MzQ2OWNlYTFkODA2Mw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTI3NDM1MTM4MTI4M2Y4OWZmNjY3MzM1ZDk4OWEzZTlhMGFlZDBlYQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZDk5MjczY2ZmZmM5NzBhZjExYTI3ZWI0MjIyMmMxYTk0MWYyNDQwOGRiZTY4
|
10
|
+
NDZkOWQ5ZThhYTc1NDFkYzU5YTAxYTgwNzRlMWI4MDdhODQ1ZWQ1ZDU5NzYz
|
11
|
+
NDkyN2E1ZTUwNjE0YmRjMmY0MjFlNzQwNGUxOTFkZjRjZjllNDk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MTRkYjc2MDY5MDM3M2E2OGNjM2UyNzU4OTA2N2UwMWNiYzFiY2M3NjUwOGQy
|
14
|
+
NGY3NTlmYzc2NTU4OGFkNDQwZWVmYmIzZTU4NTE4OGM0MzA0NmRiOWRlMDYz
|
15
|
+
MGJkOGE3NjI0YzRmNzE4MjRkNmM3MGQ2MzUyYTgzOGRkODdmOGM=
|
data/Gemfile
CHANGED
@@ -311,7 +311,8 @@ module AwsPricing
|
|
311
311
|
't2.xlarge' => :high, # same as c4.2xlarge, cf:https://aws.amazon.com/blogs/aws/new-t2-xlarge-and-t2-2xlarge-instances/
|
312
312
|
't2.2xlarge' => :high, # same as m4.xlarge, cf:https://aws.amazon.com/blogs/aws/new-t2-xlarge-and-t2-2xlarge-instances/
|
313
313
|
'x1.16xlarge' => :ten_gigabit,
|
314
|
-
'x1.32xlarge' => :
|
314
|
+
'x1.32xlarge' => :twenty_gigabit,
|
315
|
+
'x1e.32xlarge' => :twenty_gigabit,
|
315
316
|
}
|
316
317
|
|
317
318
|
end
|
@@ -208,6 +208,7 @@ module AwsPricing
|
|
208
208
|
'c4.large' => 'Compute Optimized Large', 'c4.xlarge' => 'Compute Optimized Extra Large', 'c4.2xlarge' => 'Compute Optimized Double Extra Large', 'c4.4xlarge' => 'Compute Optimized Quadruple Extra Large', 'c4.8xlarge' => 'Compute Optimized Eight Extra Large',
|
209
209
|
'x1.16xlarge' => 'Memory Optimized Hextuple Large-scale Enterprise-class',
|
210
210
|
'x1.32xlarge' => 'Memory Optimized Large-scale Enterprise-class',
|
211
|
+
'x1e.32xlarge' => 'Memory Optimized Extended Large-scale Enterprise-class',
|
211
212
|
'f1.2xlarge' => 'FPGA Hardware Acceleration Double Extra Large', 'f1.16xlarge' => 'FPGA Hardware Acceleration Hextuple Extra Large'
|
212
213
|
}
|
213
214
|
@@Disk_Lookup = {
|
@@ -235,7 +236,7 @@ module AwsPricing
|
|
235
236
|
'r4.large' => 0, 'r4.xlarge' => 0, 'r4.2xlarge' => 0, 'r4.4xlarge' => 0, 'r4.8xlarge' => 0, 'r4.16xlarge' => 0,
|
236
237
|
't2.nano' => 0, 't2.micro' => 0, 't2.small' => 0, 't2.medium' => 0, 't2.large' => 0, 't2.xlarge' => 0, 't2.2xlarge' => 0,
|
237
238
|
'c4.large' => 0, 'c4.xlarge' => 0, 'c4.2xlarge' => 0, 'c4.4xlarge' => 0, 'c4.8xlarge' => 0,
|
238
|
-
'x1.16xlarge' =>
|
239
|
+
'x1.16xlarge' => 1920, 'x1.32xlarge' => 3840, 'x1e.32xlarge' => 3840,
|
239
240
|
'p2.xlarge' => 0, 'p2.8xlarge' => 0, 'p2.16xlarge' => 0,
|
240
241
|
'f1.2xlarge' => 470, 'f1.16xlarge' => 3760,
|
241
242
|
}
|
@@ -264,7 +265,7 @@ module AwsPricing
|
|
264
265
|
'r4.large' => 64, 'r4.xlarge' => 64, 'r4.2xlarge' => 64, 'r4.4xlarge' => 64, 'r4.8xlarge' => 64, 'r4.16xlarge' => 64,
|
265
266
|
't2.nano' => 64, 't2.micro' => 64, 't2.small' => 64, 't2.medium' => 64, 't2.large' => 64, 't2.xlarge' => 64, 't2.2xlarge' => 64,
|
266
267
|
'c4.large' => 64, 'c4.xlarge' => 64, 'c4.2xlarge' => 64, 'c4.4xlarge' => 64, 'c4.8xlarge' => 64,
|
267
|
-
'x1.16xlarge' => 64, 'x1.32xlarge' => 64,
|
268
|
+
'x1.16xlarge' => 64, 'x1.32xlarge' => 64, 'x1e.32xlarge' => 64,
|
268
269
|
'p2.xlarge' => 64, 'p2.8xlarge' => 64, 'p2.16xlarge' => 64,
|
269
270
|
}
|
270
271
|
@@Disk_Type_Lookup = {
|
@@ -293,7 +294,7 @@ module AwsPricing
|
|
293
294
|
'r4.large' => :ebs, 'r4.xlarge' => :ebs, 'r4.2xlarge' => :ebs, 'r4.4xlarge' => :ebs, 'r4.8xlarge' => :ebs, 'r4.16xlarge' => :ebs,
|
294
295
|
't2.nano' => :ebs, 't2.micro' => :ebs, 't2.small' => :ebs, 't2.medium' => :ebs, 't2.large' => :ebs, 't2.xlarge' => :ebs, 't2.2xlarge' => :ebs,
|
295
296
|
'c4.large' => :ebs, 'c4.xlarge' => :ebs, 'c4.2xlarge' => :ebs, 'c4.4xlarge' => :ebs, 'c4.8xlarge' => :ebs,
|
296
|
-
'x1.16xlarge' => :ssd, 'x1.32xlarge' => :ssd,
|
297
|
+
'x1.16xlarge' => :ssd, 'x1.32xlarge' => :ssd, 'x1e.32xlarge' => :ssd,
|
297
298
|
'p2.xlarge' => :ebs, 'p2.8xlarge' => :ebs, 'p2.16xlarge' => :ebs,
|
298
299
|
'f1.2xlarge' => :ssd, 'f1.16xlarge' => :ssd,
|
299
300
|
}
|
@@ -447,8 +448,9 @@ module AwsPricing
|
|
447
448
|
# t2.small is EBS-only
|
448
449
|
# t2.xlarge is EBS-only
|
449
450
|
# t2.2xlarge is EBS-only
|
450
|
-
'x1.16xlarge' => [
|
451
|
-
'x1.32xlarge' => [
|
451
|
+
'x1.16xlarge' => [7000, 105123], # dedicated EBS bw 7000 Gbps
|
452
|
+
'x1.32xlarge' => [14000, 210246], # dedicated EBS bw 14000 Gbps
|
453
|
+
'x1e.32xlarge' => [14000, 210246], # dedicated EBS bw 14000 Gbps
|
452
454
|
}
|
453
455
|
end
|
454
456
|
|
@@ -29,7 +29,8 @@ module AwsPricing
|
|
29
29
|
'm4' => { "large"=>22, "xlarge"=>11, "2xlarge"=>5, "4xlarge"=>4, "10xlarge"=>1, "16xlarge"=>1 },
|
30
30
|
'i2' => { "xlarge"=>8, "2xlarge"=>4, "4xlarge"=>2, "8xlarge"=>1, "16xlarge"=>1 },
|
31
31
|
'i3' => { "large"=>32, "xlarge"=>16, "2xlarge"=>8, "4xlarge"=>4, "8xlarge"=>2, "16xlarge"=>1 },
|
32
|
-
'x1' => { "16xlarge"=>2, "32xlarge"=>1 }
|
32
|
+
'x1' => { "16xlarge"=>2, "32xlarge"=>1 },
|
33
|
+
'x1e' => { "32xlarge"=>1 },
|
33
34
|
}
|
34
35
|
|
35
36
|
def get_ec2_dhi_od_pricing
|
@@ -57,6 +58,10 @@ module AwsPricing
|
|
57
58
|
|
58
59
|
# hack for now until I can get capacity for fpga instances
|
59
60
|
next if family == 'f1'
|
61
|
+
if @@CAPACITY_HASH[family].nil?
|
62
|
+
$stderr.puts "[fetch_ec2_dedicated_host_instance_pricing] WARNING: unable to find CAPACITY_HASH for #{family}"
|
63
|
+
next
|
64
|
+
end
|
60
65
|
|
61
66
|
dhprice = tier['prices']['USD']
|
62
67
|
@@CAPACITY_HASH[family].each do |inst_size,capacity|
|
@@ -31,7 +31,8 @@ module AwsPricing
|
|
31
31
|
'CurrentGen' => {
|
32
32
|
'R3' => ['r3.large', 'r3.xlarge', 'r3.2xlarge', 'r3.4xlarge', 'r3.8xlarge'],
|
33
33
|
'R4' => ['r4.large', 'r4.xlarge', 'r4.2xlarge', 'r4.4xlarge', 'r4.8xlarge', 'r4.16xlarge'],
|
34
|
-
'X1' => ['x1.16xlarge', 'x1.32xlarge']
|
34
|
+
'X1' => ['x1.16xlarge', 'x1.32xlarge'],
|
35
|
+
'X1E' => ['x1e.32xlarge'],
|
35
36
|
},
|
36
37
|
'PreviousGen' => {
|
37
38
|
'M2' => ['m2.xlarge', 'm2.2xlarge', 'm2.4xlarge'],
|
data/solano.yml
ADDED
@@ -9,7 +9,6 @@ describe AwsPricing::Ec2DedicatedHostPriceList do
|
|
9
9
|
def validate_price_in_region region
|
10
10
|
# Result have valid node name
|
11
11
|
region.ec2_dh_types.each do |dh_type|
|
12
|
-
expect(dh_type.api_name).to have(2).characters
|
13
12
|
expect(dh_type.region.ec2_dh_types[0].category_types[:linux].name).to eq(:linux)
|
14
13
|
expect(dh_type.region.ec2_dh_types[0].category_types[:linux].ondemand_price_per_hour.class).to eq(Float)
|
15
14
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -105,12 +105,13 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
105
105
|
# next two prices are no longer provided by aws (May 09, 2016)
|
106
106
|
assert region.ebs_price.standard_per_gb == 0.05
|
107
107
|
assert region.ebs_price.standard_per_million_io == 0.05
|
108
|
-
|
109
|
-
assert region.ebs_price.
|
108
|
+
# preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
|
109
|
+
assert region.ebs_price.preferred_per_gb == 0.125 if region.ebs_price.preferred_per_gb
|
110
|
+
assert region.ebs_price.preferred_per_iops == 0.065 if region.ebs_price.preferred_per_iops
|
110
111
|
assert region.ebs_price.s3_snaps_per_gb == 0.05
|
111
112
|
# next two prices were added by aws (May 09, 2016)
|
112
|
-
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045
|
113
|
-
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025
|
113
|
+
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.045 if region.ebs_price.ebs_optimized_hdd_per_gb
|
114
|
+
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.025 if region.ebs_price.ebs_cold_hdd_per_gb
|
114
115
|
|
115
116
|
end
|
116
117
|
|
@@ -120,10 +121,11 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
120
121
|
# next two prices are no longer provided by aws (May 09, 2016)
|
121
122
|
assert_not_nil region.ebs_price.standard_per_gb
|
122
123
|
assert_not_nil region.ebs_price.standard_per_million_io
|
123
|
-
|
124
|
-
assert_not_nil region.ebs_price.
|
125
|
-
assert_not_nil region.ebs_price.
|
126
|
-
assert_not_nil region.ebs_price.
|
124
|
+
# preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
|
125
|
+
assert_not_nil region.ebs_price.preferred_per_gb if region.ebs_price.preferred_per_gb
|
126
|
+
assert_not_nil region.ebs_price.preferred_per_iops if region.ebs_price.preferred_per_iops
|
127
|
+
assert_not_nil region.ebs_price.ebs_optimized_hdd_per_gb if region.ebs_price.ebs_optimized_hdd_per_gb
|
128
|
+
assert_not_nil region.ebs_price.ebs_cold_hdd_per_gb if region.ebs_price.ebs_cold_hdd_per_gb
|
127
129
|
assert_not_nil region.ebs_price.s3_snaps_per_gb
|
128
130
|
end
|
129
131
|
end
|
@@ -199,13 +201,14 @@ class TestEc2InstanceTypes < Test::Unit::TestCase
|
|
199
201
|
region = @@ec2_pricing.get_region('us-gov-west-1')
|
200
202
|
# next two prices are no longer provided by aws (May 09, 2016)
|
201
203
|
assert region.ebs_price.standard_per_gb == 0.065
|
202
|
-
|
203
|
-
|
204
|
-
assert region.ebs_price.
|
204
|
+
assert region.ebs_price.standard_per_million_io == 0.065
|
205
|
+
# preferred_per_gb,preferred_per_ios,ssd_per_gb,ebs_optimized_hdd_per_gb,ebs_cold_hdd_per_gb not always provided by aws (2017-09-17)
|
206
|
+
assert region.ebs_price.preferred_per_gb == 0.15 if region.ebs_price.preferred_per_gb
|
207
|
+
assert region.ebs_price.preferred_per_iops == 0.078 if region.ebs_price.preferred_per_iops
|
205
208
|
assert region.ebs_price.s3_snaps_per_gb == 0.066
|
206
209
|
# next two prices were added by aws (May 09, 2016)
|
207
|
-
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054
|
208
|
-
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03
|
210
|
+
assert region.ebs_price.ebs_optimized_hdd_per_gb == 0.054 if region.ebs_price.ebs_optimized_hdd_per_gb
|
211
|
+
assert region.ebs_price.ebs_cold_hdd_per_gb == 0.03 if region.ebs_price.ebs_cold_hdd_per_gb
|
209
212
|
|
210
213
|
end
|
211
214
|
|
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.98
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Kinsella
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby library for retrieving pricing for Amazon Web Services
|
14
14
|
email:
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- lib/amazon-pricing/helpers/instance-type.rb
|
55
55
|
- lib/amazon-pricing/rds-price-list.rb
|
56
56
|
- lib/amazon-pricing/version.rb
|
57
|
+
- solano.yml
|
57
58
|
- spec/lib/amazon-pricing/definitions/database-type_spec.rb
|
58
59
|
- spec/lib/amazon-pricing/ec2_dh_pricing_spec.rb
|
59
60
|
- spec/lib/amazon-pricing/ec2_dhi_pricing_spec.rb
|