amazon-pricing 0.1.8 → 0.1.9
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.
- data/README +7 -7
- data/amazon-pricing.gemspec +1 -1
- data/lib/amazon-pricing.rb +2 -2
- data/lib/amazon-pricing/ebs-price.rb +2 -2
- data/lib/amazon-pricing/instance-type.rb +22 -60
- data/lib/amazon-pricing/operating-system.rb +2 -2
- data/lib/amazon-pricing/region.rb +2 -2
- data/lib/amazon-pricing/version.rb +3 -3
- data/test/helper.rb +2 -2
- data/test/test-ec2-instance-types.rb +2 -2
- metadata +3 -3
data/README
CHANGED
@@ -7,7 +7,7 @@ Amazon Web Services offers cloud-based on demand compute, storage and applicatio
|
|
7
7
|
|
8
8
|
For the most complete and up-to date README information please visit the project homepage at:
|
9
9
|
|
10
|
-
http://github.com/
|
10
|
+
http://github.com/CloudHealth/amazon-pricing/tree/master
|
11
11
|
|
12
12
|
|
13
13
|
== Installation
|
@@ -29,7 +29,7 @@ This is the standard install for stable releases from RubyGems.
|
|
29
29
|
|
30
30
|
To install from git for adding features or fixing bugs, you'll need to clone and build.
|
31
31
|
|
32
|
-
git clone git://github.com/
|
32
|
+
git clone git://github.com/CloudHealth/amazon-pricing.git
|
33
33
|
cd amazon-pricing
|
34
34
|
bundle install
|
35
35
|
rake test
|
@@ -55,9 +55,9 @@ The library exposes one main interface module
|
|
55
55
|
|
56
56
|
=== Project Websites
|
57
57
|
|
58
|
-
* Project Home : http://github.com/
|
59
|
-
* API Documentation : http://rdoc.info/projects/
|
60
|
-
* Report Bugs / Request Features : http://github.com/
|
58
|
+
* Project Home : http://github.com/CloudHealth/amazon-pricing/tree/master
|
59
|
+
* API Documentation : http://rdoc.info/projects/CloudHealth/amazon-pricing
|
60
|
+
* Report Bugs / Request Features : http://github.com/CloudHealth/amazon-pricing/issues
|
61
61
|
* Amazon Web Services : http://aws.amazon.com
|
62
62
|
|
63
63
|
== Credits
|
@@ -72,7 +72,7 @@ Comments, patches, Git pull requests and bug reports are welcome. Send an email
|
|
72
72
|
|
73
73
|
Please follow these steps if you want to send a patch or a GitHub pull request:
|
74
74
|
|
75
|
-
* Fork
|
75
|
+
* Fork CloudHealth/amazon-pricing
|
76
76
|
* Create a topic branch: `git checkout -b my_fix`
|
77
77
|
* Make sure you add tests for your changes and that they all pass with 'rake test'
|
78
78
|
* Don't change files that you don't own like the gemspec or version.rb
|
@@ -84,5 +84,5 @@ Please follow these steps if you want to send a patch or a GitHub pull request:
|
|
84
84
|
|
85
85
|
Enjoy!
|
86
86
|
|
87
|
-
|
87
|
+
CloudHealth
|
88
88
|
|
data/amazon-pricing.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Joe Kinsella"]
|
10
10
|
s.email = ["joe.kinsella@gmail.com"]
|
11
|
-
s.homepage = "http://github.com/
|
11
|
+
s.homepage = "http://github.com/CloudHealth/amazon-pricing"
|
12
12
|
s.summary = "Amazon Web Services Pricing Ruby gem"
|
13
13
|
s.description = "A Ruby library for retrieving pricing for Amazon Web Services"
|
14
14
|
s.license = 'MIT'
|
data/lib/amazon-pricing.rb
CHANGED
@@ -8,9 +8,9 @@ Dir[File.join(File.dirname(__FILE__), 'amazon-pricing/*.rb')].sort.each { |lib|
|
|
8
8
|
#
|
9
9
|
# Ruby Gem Name:: amazon-pricing
|
10
10
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
11
|
-
# Copyright:: Copyright (c) 2011-
|
11
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
12
12
|
# License:: Distributes under the same terms as Ruby
|
13
|
-
# Home:: http://github.com/
|
13
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
14
14
|
#++
|
15
15
|
module AwsPricing
|
16
16
|
|
@@ -3,9 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
module AwsPricing
|
11
11
|
|
@@ -3,9 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
module AwsPricing
|
11
11
|
|
@@ -119,20 +119,13 @@ module AwsPricing
|
|
119
119
|
#attr_accessor :size, :instance_type
|
120
120
|
|
121
121
|
# Returns [api_name, name]
|
122
|
-
def self.get_name(instance_type,
|
123
|
-
lookup = @@Api_Name_Lookup
|
124
|
-
lookup = @@Api_Name_Lookup_Reserved if is_reserved
|
125
|
-
|
122
|
+
def self.get_name(instance_type, api_name, is_reserved = false)
|
126
123
|
# Let's handle new instances more gracefully
|
127
|
-
unless
|
128
|
-
raise UnknownTypeError, "Unknown instance type #{instance_type}", caller
|
129
|
-
else
|
130
|
-
api_name = lookup[instance_type][size]
|
124
|
+
unless @@Memory_Lookup.has_key? api_name
|
125
|
+
raise UnknownTypeError, "Unknown instance type #{instance_type} #{api_name}", caller
|
131
126
|
end
|
132
127
|
|
133
|
-
|
134
|
-
lookup = @@Name_Lookup_Reserved if is_reserved
|
135
|
-
name = lookup[instance_type][size]
|
128
|
+
name = @@Name_Lookup[api_name]
|
136
129
|
|
137
130
|
[api_name, name]
|
138
131
|
end
|
@@ -147,55 +140,19 @@ module AwsPricing
|
|
147
140
|
values
|
148
141
|
end
|
149
142
|
|
150
|
-
@@Api_Name_Lookup = {
|
151
|
-
'stdODI' => {'sm' => 'm1.small', 'med' => 'm1.medium', 'lg' => 'm1.large', 'xl' => 'm1.xlarge'},
|
152
|
-
'hiMemODI' => {'xl' => 'm2.xlarge', 'xxl' => 'm2.2xlarge', 'xxxxl' => 'm2.4xlarge'},
|
153
|
-
'hiCPUODI' => {'med' => 'c1.medium', 'xl' => 'c1.xlarge'},
|
154
|
-
'hiIoODI' => {'xxxxl' => 'hi1.4xlarge'},
|
155
|
-
'clusterGPUI' => {'xxxxl' => 'cg1.4xlarge'},
|
156
|
-
'clusterComputeI' => {'xxxxl' => 'cc1.4xlarge','xxxxxxxxl' => 'cc2.8xlarge'},
|
157
|
-
'uODI' => {'u' => 't1.micro'},
|
158
|
-
'secgenstdODI' => {'xl' => 'm3.xlarge', 'xxl' => 'm3.2xlarge'},
|
159
|
-
'clusterHiMemODI' => {'xxxxxxxxl' => 'cr1.8xlarge'},
|
160
|
-
'hiStoreODI' => {'xxxxxxxxl' => 'hs1.8xlarge'},
|
161
|
-
}
|
162
143
|
@@Name_Lookup = {
|
163
|
-
'
|
164
|
-
'
|
165
|
-
'
|
166
|
-
'
|
167
|
-
'
|
168
|
-
'
|
169
|
-
'
|
170
|
-
'
|
171
|
-
'
|
172
|
-
'
|
144
|
+
'm1.small' => 'Standard Small', 'm1.medium' => 'Standard Medium', 'm1.large' => 'Standard Large', 'm1.xlarge' => 'Standard Extra Large',
|
145
|
+
'm2.xlarge' => 'Hi-Memory Extra Large', 'm2.2xlarge' => 'Hi-Memory Double Extra Large', 'm2.4xlarge' => 'Hi-Memory Quadruple Extra Large',
|
146
|
+
'm3.xlarge' => 'M3 Extra Large Instance', 'm3.2xlarge' => 'M3 Double Extra Large Instance',
|
147
|
+
'c1.medium' => 'High-CPU Medium', 'c1.xlarge' => 'High-CPU Extra Large',
|
148
|
+
'hi1.4xlarge' => 'High I/O Quadruple Extra Large',
|
149
|
+
'cg1.4xlarge' => 'Cluster GPU Quadruple Extra Large',
|
150
|
+
'cc1.4xlarge' => 'Cluster Compute Quadruple Extra Large', 'cc2.8xlarge' => 'Cluster Compute Eight Extra Large',
|
151
|
+
't1.micro' => 'Micro',
|
152
|
+
'cr1.8xlarge' => 'High-Memory Cluster Eight Extra Large',
|
153
|
+
'hs1.8xlarge' => 'High-Storage Eight Extra Large',
|
154
|
+
'g2.2xlarge' => 'Cluster GPU Double Extra Large',
|
173
155
|
}
|
174
|
-
@@Api_Name_Lookup_Reserved = {
|
175
|
-
'stdResI' => {'sm' => 'm1.small', 'med' => 'm1.medium', 'lg' => 'm1.large', 'xl' => 'm1.xlarge'},
|
176
|
-
'hiMemResI' => {'xl' => 'm2.xlarge', 'xxl' => 'm2.2xlarge', 'xxxxl' => 'm2.4xlarge'},
|
177
|
-
'hiCPUResI' => {'med' => 'c1.medium', 'xl' => 'c1.xlarge'},
|
178
|
-
'clusterGPUResI' => {'xxxxl' => 'cg1.4xlarge'},
|
179
|
-
'clusterCompResI' => {'xxxxl' => 'cc1.4xlarge', 'xxxxxxxxl' => 'cc2.8xlarge'},
|
180
|
-
'uResI' => {'u' => 't1.micro'},
|
181
|
-
'hiIoResI' => {'xxxxl' => 'hi1.4xlarge'},
|
182
|
-
'secgenstdResI' => {'xl' => 'm3.xlarge', 'xxl' => 'm3.2xlarge'},
|
183
|
-
'clusterHiMemResI' => {'xxxxxxxxl' => 'cr1.8xlarge'},
|
184
|
-
'hiStoreResI' => {'xxxxxxxxl' => 'hs1.8xlarge'},
|
185
|
-
}
|
186
|
-
@@Name_Lookup_Reserved = {
|
187
|
-
'stdResI' => {'sm' => 'Standard Small', 'med' => 'Standard Medium', 'lg' => 'Standard Large', 'xl' => 'Standard Extra Large'},
|
188
|
-
'hiMemResI' => {'xl' => 'Hi-Memory Extra Large', 'xxl' => 'Hi-Memory Double Extra Large', 'xxxxl' => 'Hi-Memory Quadruple Extra Large'},
|
189
|
-
'hiCPUResI' => {'med' => 'High-CPU Medium', 'xl' => 'High-CPU Extra Large'},
|
190
|
-
'clusterGPUResI' => {'xxxxl' => 'Cluster GPU Quadruple Extra Large'},
|
191
|
-
'clusterCompResI' => {'xxxxl' => 'Cluster Compute Quadruple Extra Large', 'xxxxxxxxl' => 'Cluster Compute Eight Extra Large'},
|
192
|
-
'uResI' => {'u' => 'Micro'},
|
193
|
-
'hiIoResI' => {'xxxxl' => 'High I/O Quadruple Extra Large Instance'},
|
194
|
-
'secgenstdResI' => {'xl' => 'M3 Extra Large Instance', 'xxl' => 'M3 Double Extra Large Instance'},
|
195
|
-
'clusterHiMemResI' => {'xxxxxxxxl' => 'High-Memory Cluster Eight Extra Large'},
|
196
|
-
'hiStoreResI' => {'xxxxxxxxl' => 'High-Storage Eight Extra Large'},
|
197
|
-
}
|
198
|
-
|
199
156
|
@@Memory_Lookup = {
|
200
157
|
'm1.small' => 1700, 'm1.medium' => 3750, 'm1.large' => 7500, 'm1.xlarge' => 15000,
|
201
158
|
'm2.xlarge' => 17100, 'm2.2xlarge' => 34200, 'm2.4xlarge' => 68400,
|
@@ -208,6 +165,7 @@ module AwsPricing
|
|
208
165
|
'm3.xlarge' => 15000, 'm3.xlarge' => 30000,
|
209
166
|
'cr1.8xlarge' => 244000,
|
210
167
|
'hs1.8xlarge' => 117000,
|
168
|
+
'g2.2xlarge' => 15000,
|
211
169
|
}
|
212
170
|
@@Disk_Lookup = {
|
213
171
|
'm1.small' => 160, 'm1.medium' => 410, 'm1.large' =>850, 'm1.xlarge' => 1690,
|
@@ -221,6 +179,7 @@ module AwsPricing
|
|
221
179
|
'm3.xlarge' => 0, 'm3.xlarge' => 0,
|
222
180
|
'cr1.8xlarge' => 240,
|
223
181
|
'hs1.8xlarge' => 48000,
|
182
|
+
'g2.2xlarge' => 60,
|
224
183
|
}
|
225
184
|
@@Platform_Lookup = {
|
226
185
|
'm1.small' => 32, 'm1.medium' => 32, 'm1.large' => 64, 'm1.xlarge' => 64,
|
@@ -234,6 +193,7 @@ module AwsPricing
|
|
234
193
|
'm3.xlarge' => 64, 'm3.xlarge' => 64,
|
235
194
|
'cr1.8xlarge' => 64,
|
236
195
|
'hs1.8xlarge' => 64,
|
196
|
+
'g2.2xlarge' => 64,
|
237
197
|
}
|
238
198
|
@@Compute_Units_Lookup = {
|
239
199
|
'm1.small' => 1, 'm1.medium' => 2, 'm1.large' => 4, 'm1.xlarge' => 8,
|
@@ -246,6 +206,7 @@ module AwsPricing
|
|
246
206
|
't1.micro' => 2,
|
247
207
|
'cr1.8xlarge' => 88,
|
248
208
|
'hs1.8xlarge' => 35,
|
209
|
+
'g2.2xlarge' => 26,
|
249
210
|
'unknown' => 0,
|
250
211
|
}
|
251
212
|
@@Virtual_Cores_Lookup = {
|
@@ -259,6 +220,7 @@ module AwsPricing
|
|
259
220
|
't1.micro' => 0,
|
260
221
|
'cr1.8xlarge' => 16,
|
261
222
|
'hs1.8xlarge' => 16,
|
223
|
+
'g2.2xlarge' => 8,
|
262
224
|
'unknown' => 0,
|
263
225
|
}
|
264
226
|
end
|
@@ -3,9 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
module AwsPricing
|
11
11
|
|
@@ -3,9 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
module AwsPricing
|
11
11
|
# Region represents a geographic area in which Amazon Web Services has
|
@@ -3,10 +3,10 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
module AwsPricing
|
11
|
-
VERSION = '0.1.
|
11
|
+
VERSION = '0.1.9'
|
12
12
|
end
|
data/test/helper.rb
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
#
|
4
4
|
# Ruby Gem Name:: amazon-pricing
|
5
5
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
6
|
-
# Copyright:: Copyright (c) 2011-
|
6
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
7
7
|
# License:: Distributes under the same terms as Ruby
|
8
|
-
# Home:: http://github.com/
|
8
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
9
9
|
#++
|
10
10
|
|
11
11
|
require 'rubygems'
|
@@ -5,9 +5,9 @@
|
|
5
5
|
#
|
6
6
|
# Ruby Gem Name:: amazon-pricing
|
7
7
|
# Author:: Joe Kinsella (mailto:joe.kinsella@gmail.com)
|
8
|
-
# Copyright:: Copyright (c) 2011-
|
8
|
+
# Copyright:: Copyright (c) 2011-2013 CloudHealth
|
9
9
|
# License:: Distributes under the same terms as Ruby
|
10
|
-
# Home:: http://github.com/
|
10
|
+
# Home:: http://github.com/CloudHealth/amazon-pricing
|
11
11
|
#++
|
12
12
|
|
13
13
|
$: << File.expand_path(File.dirname(__FILE__))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.9
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-06 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A Ruby library for retrieving pricing for Amazon Web Services
|
15
15
|
email:
|
@@ -36,7 +36,7 @@ files:
|
|
36
36
|
- spec/price_list_spec.rb
|
37
37
|
- test/helper.rb
|
38
38
|
- test/test-ec2-instance-types.rb
|
39
|
-
homepage: http://github.com/
|
39
|
+
homepage: http://github.com/CloudHealth/amazon-pricing
|
40
40
|
licenses:
|
41
41
|
- MIT
|
42
42
|
post_install_message:
|