amazon-pricing 0.1.111 → 0.1.112
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/amazon-pricing/definitions/ec2-instance-type.rb +1 -0
- data/lib/amazon-pricing/definitions/instance-type.rb +5 -3
- data/lib/amazon-pricing/ec2-dhi-price-list.rb +5 -2
- data/lib/amazon-pricing/ec2-di-price-list.rb +4 -1
- data/lib/amazon-pricing/helpers/instance-type.rb +16 -2
- data/lib/amazon-pricing/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWMwMzgzNThlNDc4N2I3M2M2NDg0Y2M5MWNmZDFiNWNlYjA1ZmIwMw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTFjYjM4NWFkMWFjZTkzMzViNThjMzdjMjE0NDkzM2Y0MjE2NmQ2Nw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NWY5ZDE5ZGIzM2M3MjIyOTA5MzBmMDBiYmJjNDgxYzdlNzQwYmNkZWJmNWQ1
|
10
|
+
YzYxNWVjMzZhMDE0OGUyMzc0MWMzOWVkZGFkMWQwNGE1Zjc5MzA5OTE3MmY0
|
11
|
+
NzgyNDczZGYyYTk1ODRlOTZjZjEzNjlkYTRjNGZiZDA2NmQ4MDY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NDg0ODcwNDFiODQ0MTNmNTcwMzk2N2U1YjQ1ZWU4YWRjOTZkM2NiNWY1NTEw
|
14
|
+
NGZjYzJhMzZkZDNhNTA5MmZlNTUzZWI0NjBhNGMzYTEzYzY3NzYzMjUzOTkz
|
15
|
+
MTc5YmFhNDg4YjNhYTk4M2Y0NDQwMmUzY2I0ZWMyYTRjOTcwYTA=
|
@@ -207,6 +207,7 @@ module AwsPricing
|
|
207
207
|
'i3.xlarge' => 'Storage Optimized High I/O Extra Large', 'i3.2xlarge' => 'Storage Optimized High I/O Double Extra Large',
|
208
208
|
'i3.4xlarge' => 'Storage Optimized High I/O Quadruple Extra Large', 'i3.8xlarge' => 'Storage Optimized High I/O Extra Large',
|
209
209
|
'i3.16xlarge' => 'Storage Optimized High I/O Hextuple Extra Large',
|
210
|
+
'i3.metal' => 'Storage Optimized High I/O Metal',
|
210
211
|
'd2.xlarge' => 'Dense Storage Extra Large', 'd2.2xlarge' => 'Dense Storage Double Extra Large', 'd2.4xlarge' => 'Dense Storage Quadruple Extra Large', 'd2.8xlarge' => 'Dense Storage Eight Extra Large',
|
211
212
|
'h1.2xlarge' => 'Dense Storage H1 Double Extra Large', 'h1.4xlarge' => 'Dense Storage H1 Quadruple Extra Large', 'h1.8xlarge' => 'Dense Storage H1 Eight Extra Large', 'h1.16xlarge' => 'Dense Storage H1 Hextuple Extra Large',
|
212
213
|
'r3.large' => 'Memory Optimized Large', 'r3.xlarge' => 'Memory Optimized Extra Large', 'r3.2xlarge' => 'Memory Optimized Double Extra Large', 'r3.4xlarge' => 'Memory Optimized Quadruple Extra Large', 'r3.8xlarge' => 'Memory Optimized Eight Extra Large',
|
@@ -250,7 +251,7 @@ module AwsPricing
|
|
250
251
|
'db.t1.micro' => 160,
|
251
252
|
'c3.large' => 32, 'c3.xlarge' => 80, 'c3.2xlarge' => 160, 'c3.4xlarge' => 320, 'c3.8xlarge' => 640,
|
252
253
|
'i2.xlarge' => 800, 'i2.2xlarge' => 1600, 'i2.4xlarge' => 3200, 'i2.8xlarge' => 6400,
|
253
|
-
'i3.large' => 475, 'i3.xlarge' => 950, 'i3.2xlarge' => 1900, 'i3.4xlarge' => 3800, 'i3.8xlarge' => 7600, 'i3.16xlarge' => 15200,
|
254
|
+
'i3.large' => 475, 'i3.xlarge' => 950, 'i3.2xlarge' => 1900, 'i3.4xlarge' => 3800, 'i3.8xlarge' => 7600, 'i3.16xlarge' => 15200, 'i3.metal' => 15200,
|
254
255
|
'd2.xlarge' => 6000, 'd2.2xlarge' => 12000, 'd2.4xlarge' => 24000, 'd2.8xlarge' => 48000,
|
255
256
|
'h1.2xlarge' => 2000, 'h1.4xlarge' => 4000, 'h1.8xlarge' => 8000, 'h1.16xlarge' => 16000,
|
256
257
|
'r3.large' => 32, 'r3.xlarge' => 80, 'r3.2xlarge' => 160, 'r3.4xlarge' => 320, 'r3.8xlarge' => 640,
|
@@ -285,7 +286,7 @@ module AwsPricing
|
|
285
286
|
'db.t1.micro' => 64,
|
286
287
|
'c3.large' => 64, 'c3.xlarge' => 64, 'c3.2xlarge' => 64, 'c3.4xlarge' => 64, 'c3.8xlarge' => 64,
|
287
288
|
'i2.large' => 64, 'i2.xlarge' => 64, 'i2.2xlarge' => 64, 'i2.4xlarge' => 64, 'i2.8xlarge' => 64,
|
288
|
-
'i3.large' => 64, 'i3.xlarge' => 64, 'i3.2xlarge' => 64, 'i3.4xlarge' => 64, 'i3.8xlarge' => 64, 'i3.16xlarge' => 64,
|
289
|
+
'i3.large' => 64, 'i3.xlarge' => 64, 'i3.2xlarge' => 64, 'i3.4xlarge' => 64, 'i3.8xlarge' => 64, 'i3.16xlarge' => 64, 'i3.metal' => 64,
|
289
290
|
'd2.xlarge' => 64, 'd2.2xlarge' => 64, 'd2.4xlarge' => 64, 'd2.8xlarge' => 64,
|
290
291
|
'h1.2xlarge' => 64, 'h1.4xlarge' => 64, 'h1.8xlarge' => 64, 'h1.16xlarge' => 64,
|
291
292
|
'r3.large' => 64, 'r3.xlarge' => 64, 'r3.2xlarge' => 64, 'r3.4xlarge' => 64, 'r3.8xlarge' => 64,
|
@@ -320,7 +321,7 @@ module AwsPricing
|
|
320
321
|
'db.t1.micro' => :ebs,
|
321
322
|
'c3.large' => :ssd, 'c3.xlarge' => :ssd, 'c3.2xlarge' => :ssd, 'c3.4xlarge' => :ssd, 'c3.8xlarge' => :ssd,
|
322
323
|
'i2.large' => :ssd, 'i2.xlarge' => :ssd, 'i2.2xlarge' => :ssd, 'i2.4xlarge' => :ssd, 'i2.8xlarge' => :ssd,
|
323
|
-
'i3.large' => :ssd, 'i3.xlarge' => :ssd, 'i3.2xlarge' => :ssd, 'i3.4xlarge' => :ssd, 'i3.8xlarge' => :ssd, 'i3.16xlarge' => :ssd,
|
324
|
+
'i3.large' => :ssd, 'i3.xlarge' => :ssd, 'i3.2xlarge' => :ssd, 'i3.4xlarge' => :ssd, 'i3.8xlarge' => :ssd, 'i3.16xlarge' => :ssd, 'i3.metal' => :ssd,
|
324
325
|
'd2.xlarge' => :ephemeral, 'd2.2xlarge' => :ephemeral, 'd2.4xlarge' => :ephemeral, 'd2.8xlarge' => :ephemeral,
|
325
326
|
'h1.2xlarge' => :ephemeral, 'h1.4xlarge' => :ephemeral, 'h1.8xlarge' => :ephemeral, 'h1.16xlarge' => :ephemeral,
|
326
327
|
'r3.large' => :ssd, 'r3.xlarge' => :ssd, 'r3.2xlarge' => :ssd, 'r3.4xlarge' => :ssd, 'r3.8xlarge' => :ssd,
|
@@ -471,6 +472,7 @@ module AwsPricing
|
|
471
472
|
'i3.4xlarge' => [ 437, 16000], # EBSOptimized
|
472
473
|
'i3.8xlarge' => [ 875, 32500], # EBSOptimized
|
473
474
|
'i3.16xlarge' => [1750, 65000], # EBSOptimized
|
475
|
+
'i3.metal' => [1250, 64000], # EBSOptimized
|
474
476
|
'm1.large' => [ 62, 4000], # EBSOptimized
|
475
477
|
'm1.xlarge' => [125, 8000], # EBSOptimized
|
476
478
|
'm2.2xlarge' => [ 62, 4000], # EBSOptimized
|
@@ -14,7 +14,10 @@ module AwsPricing
|
|
14
14
|
|
15
15
|
protected
|
16
16
|
|
17
|
-
@@OS_TYPES = [ 'linux', 'rhel', 'sles', 'mswin',
|
17
|
+
@@OS_TYPES = [ 'linux', 'rhel', 'sles', 'mswin',
|
18
|
+
'mswinSQL', 'mswinSQLWeb', 'mswinSQLEnterprise',
|
19
|
+
'linuxSQL', 'linuxSQLWeb', 'linuxSQLEnterprise',
|
20
|
+
]
|
18
21
|
|
19
22
|
@@CAPACITY_HASH = {
|
20
23
|
'c3' => { "large"=>16, "xlarge"=>8, "2xlarge"=>4, "4xlarge"=>2, "8xlarge"=>1 },
|
@@ -33,7 +36,7 @@ module AwsPricing
|
|
33
36
|
'm4' => { "large"=>22, "xlarge"=>11, "2xlarge"=>5, "4xlarge"=>4, "10xlarge"=>1, "16xlarge"=>1 },
|
34
37
|
'm5' => { "large"=>48, "xlarge"=>24, "2xlarge"=>12, "4xlarge"=>6, "12xlarge"=>2, "24xlarge"=>1 },
|
35
38
|
'i2' => { "xlarge"=>8, "2xlarge"=>4, "4xlarge"=>2, "8xlarge"=>1, "16xlarge"=>1 },
|
36
|
-
'i3' => { "large"=>32, "xlarge"=>16, "2xlarge"=>8, "4xlarge"=>4, "8xlarge"=>2, "16xlarge"=>1 },
|
39
|
+
'i3' => { "large"=>32, "xlarge"=>16, "2xlarge"=>8, "4xlarge"=>4, "8xlarge"=>2, "16xlarge"=>1, "metal"=>1 },
|
37
40
|
'x1' => { "16xlarge"=>2, "32xlarge"=>1 },
|
38
41
|
'x1e' =>{ "xlarge"=>32, "2xlarge"=>16, "4xlarge"=>8, "8xlarge"=>4, "16xlarge"=>2, "32xlarge"=>1 },
|
39
42
|
}
|
@@ -20,7 +20,10 @@ module AwsPricing
|
|
20
20
|
['mswin', 'windows'],
|
21
21
|
['mswinSQL', 'windows-with-sql-server-standard'],
|
22
22
|
['mswinSQLWeb', 'windows-with-sql-server-web'],
|
23
|
-
['mswinSQLEnterprise', 'windows-with-sql-server-enterprise']
|
23
|
+
['mswinSQLEnterprise', 'windows-with-sql-server-enterprise'],
|
24
|
+
['linuxSQL', 'linux-with-sql-server-standard'],
|
25
|
+
['linuxSQLWeb', 'linux-with-sql-server-web'],
|
26
|
+
['linuxSQLEnterprise', 'linux-with-sql-server-enterprise']
|
24
27
|
]
|
25
28
|
|
26
29
|
OS_INDEX = 0
|
@@ -2,6 +2,8 @@ module AwsPricing
|
|
2
2
|
module Helper
|
3
3
|
module InstanceType
|
4
4
|
|
5
|
+
METAL = 'metal'.freeze
|
6
|
+
# the following family sizes should be kept in size order, see #api_name_to_nf below
|
5
7
|
@@INSTANCE_TYPES_BY_CLASSIFICATION = {
|
6
8
|
'GeneralPurpose' => {
|
7
9
|
'CurrentGen' => {
|
@@ -46,7 +48,7 @@ module AwsPricing
|
|
46
48
|
'CurrentGen' => {
|
47
49
|
'HS1' => ['hs1.8xlarge'],
|
48
50
|
'I2' => ['i2.xlarge', 'i2.2xlarge', 'i2.4xlarge', 'i2.8xlarge'],
|
49
|
-
'I3' => ['i3.large', 'i3.xlarge', 'i3.2xlarge', 'i3.4xlarge', 'i3.8xlarge', 'i3.16xlarge'],
|
51
|
+
'I3' => ['i3.large', 'i3.xlarge', 'i3.2xlarge', 'i3.4xlarge', 'i3.8xlarge', 'i3.16xlarge', 'i3.metal'],
|
50
52
|
'D2' => ['d2.xlarge', 'd2.2xlarge', 'd2.4xlarge', 'd2.8xlarge'],
|
51
53
|
'H1' => ['h1.2xlarge', 'h1.4xlarge', 'h1.8xlarge', 'h1.16xlarge'],
|
52
54
|
},
|
@@ -155,7 +157,17 @@ module AwsPricing
|
|
155
157
|
|
156
158
|
|
157
159
|
def api_name_to_nf(name)
|
158
|
-
|
160
|
+
type = name.split('.').last
|
161
|
+
if (type == METAL)
|
162
|
+
# try to get largest size supported for family: presumes METAL is *not* in size_to_nf hash
|
163
|
+
# assumes family_members are sorted by size
|
164
|
+
sizes = family_members(name)
|
165
|
+
type = sizes[-1].split('.').last # 'metal' defaults to largest size
|
166
|
+
if sizes[-1].split('.').last == METAL
|
167
|
+
type = sizes[-2].split('.').last # 'metal' already largest, so 2nd largest
|
168
|
+
end
|
169
|
+
end
|
170
|
+
size_to_nf[type]
|
159
171
|
end
|
160
172
|
|
161
173
|
# note: the next smaller type may _not_ be supported for a given family
|
@@ -186,6 +198,7 @@ module AwsPricing
|
|
186
198
|
NF_TO_SIZE_TABLE
|
187
199
|
end
|
188
200
|
|
201
|
+
# NB: 'metal' is not in this table (since it's family specific), see #api_name_to_nf
|
189
202
|
SIZE_TO_NF_TABLE = {
|
190
203
|
"nano" => 0.25,
|
191
204
|
"micro" => 0.5,
|
@@ -200,6 +213,7 @@ module AwsPricing
|
|
200
213
|
"10xlarge" => 80,
|
201
214
|
"12xlarge" => 96,
|
202
215
|
"16xlarge" => 128,
|
216
|
+
"metal" => 128, # temporary (for _direct_ users of this hash), as only applies to i3.metal
|
203
217
|
"18xlarge" => 144,
|
204
218
|
"24xlarge" => 192,
|
205
219
|
"32xlarge" => 256,
|
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.112
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Kinsella
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby library for retrieving pricing for Amazon Web Services
|
14
14
|
email:
|