amazon-pricing 0.1.111 → 0.1.112
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 +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:
|