aws-pricing 0.6.0 → 0.7.0
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/.travis.yml +0 -1
- data/README.rdoc +2 -1
- data/VERSION +1 -1
- data/aws-pricing.gemspec +9 -7
- data/lib/aws-pricing.rb +4 -2
- data/lib/aws-pricing/{cloudfront.rb → products/cloudfront.rb} +0 -0
- data/lib/aws-pricing/{ec2.rb → products/ec2.rb} +5 -6
- data/lib/aws-pricing/products/elasticache.rb +12 -0
- data/lib/aws-pricing/{emr.rb → products/emr.rb} +0 -0
- data/lib/aws-pricing/products/glacier.rb +17 -0
- data/lib/aws-pricing/{rds.rb → products/rds.rb} +0 -0
- data/lib/aws-pricing/{s3.rb → products/s3.rb} +0 -0
- data/spec/aws-pricing_spec.rb +20 -1
- metadata +10 -8
data/.travis.yml
CHANGED
data/README.rdoc
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
= aws-pricing
|
2
2
|
|
3
3
|
{<img src="https://secure.travis-ci.org/seeingidog/aws-pricing.png?branch=master" alt="Build Status" />}[http://travis-ci.org/seeingidog/aws-pricing]
|
4
|
-
{<img src="https://gemnasium.com/seeingidog/aws-pricing.png" alt="Dependency Status" />}[https://gemnasium.com/seeingidog/aws-pricing]
|
5
4
|
{<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/seeingidog/aws-pricing]
|
6
5
|
|
7
6
|
Simpler interface to AWS pricing data. Uses Amazon's unofficial json price URLs.
|
@@ -15,6 +14,8 @@ Current pricing data available for services:
|
|
15
14
|
* RDS
|
16
15
|
* Cloudfront
|
17
16
|
* Elastic MapReduce
|
17
|
+
* Elasticache
|
18
|
+
* Glacier
|
18
19
|
|
19
20
|
== Installation
|
20
21
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/aws-pricing.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "aws-pricing"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.7.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ian Morgan"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-11-29"
|
13
13
|
s.description = "Simpler interface to AWS pricing data"
|
14
14
|
s.email = "ian@ruby-code.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -29,11 +29,13 @@ Gem::Specification.new do |s|
|
|
29
29
|
"aws-pricing.gemspec",
|
30
30
|
"lib/aws-pricing.rb",
|
31
31
|
"lib/aws-pricing/base.rb",
|
32
|
-
"lib/aws-pricing/cloudfront.rb",
|
33
|
-
"lib/aws-pricing/ec2.rb",
|
34
|
-
"lib/aws-pricing/
|
35
|
-
"lib/aws-pricing/
|
36
|
-
"lib/aws-pricing/
|
32
|
+
"lib/aws-pricing/products/cloudfront.rb",
|
33
|
+
"lib/aws-pricing/products/ec2.rb",
|
34
|
+
"lib/aws-pricing/products/elasticache.rb",
|
35
|
+
"lib/aws-pricing/products/emr.rb",
|
36
|
+
"lib/aws-pricing/products/glacier.rb",
|
37
|
+
"lib/aws-pricing/products/rds.rb",
|
38
|
+
"lib/aws-pricing/products/s3.rb",
|
37
39
|
"spec/aws-pricing_spec.rb",
|
38
40
|
"spec/spec_helper.rb"
|
39
41
|
]
|
data/lib/aws-pricing.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
require 'json'
|
3
3
|
dir = File.expand_path(File.join(File.dirname(__FILE__), 'aws-pricing'))
|
4
|
-
|
5
|
-
|
4
|
+
require File.join(dir, 'base')
|
5
|
+
|
6
|
+
['ec2','s3','cloudfront', 'emr', 'rds', 'elasticache', 'glacier'].each do |req|
|
7
|
+
require File.join(dir + "/products", req)
|
6
8
|
end
|
File without changes
|
@@ -14,13 +14,12 @@ module AWSPricing
|
|
14
14
|
|
15
15
|
#Returns Hash of reserved server instance pricing information
|
16
16
|
def self.reserved_instances(options = {})
|
17
|
-
|
18
|
-
utilization = options[:utilization].to_s || 'heavy'
|
17
|
+
opts = { :os => 'linux', :utilization => 'heavy' }.merge(options)
|
19
18
|
|
20
|
-
raise "AWSPricing: Invalid OS" unless /^linux|mswin+$/ =~ os
|
21
|
-
raise "AWSPricing: Invalid Utilization" unless /^light|medium|heavy$/ =~ utilization
|
22
|
-
|
23
|
-
Base.get(EC2_RESERVED_BASE_URL + "ri-#{utilization}-#{os}")
|
19
|
+
raise "AWSPricing: Invalid OS" unless /^linux|mswin+$/ =~ opts[:os].to_s
|
20
|
+
raise "AWSPricing: Invalid Utilization" unless /^light|medium|heavy$/ =~ opts[:utilization].to_s
|
21
|
+
|
22
|
+
Base.get(EC2_RESERVED_BASE_URL + "ri-#{opts[:utilization]}-#{opts[:os]}")
|
24
23
|
end
|
25
24
|
|
26
25
|
#Returns Hash of current spot instance pricing information (5m)
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module AWSPricing
|
2
|
+
class Glacier
|
3
|
+
#Glacier Storage Service pricing data
|
4
|
+
|
5
|
+
|
6
|
+
#Returns Hash of data storage pricing information
|
7
|
+
def self.storage
|
8
|
+
Base.get('/glacier/pricing/pricing-storage')
|
9
|
+
end
|
10
|
+
|
11
|
+
#Returns Hash of data transfer pricing information
|
12
|
+
def self.transfer
|
13
|
+
Base.get('/glacier/pricing/pricing-data-transfer')
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
File without changes
|
data/spec/aws-pricing_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe "AwsPricing" do
|
|
11
11
|
|
12
12
|
describe "reserved instances" do
|
13
13
|
it "returns a hash of reserved linux heavy utilization instance pricing by default" do
|
14
|
-
EC2.reserved_instances.class
|
14
|
+
EC2.reserved_instances.class != Hash
|
15
15
|
end
|
16
16
|
it "returns a hash of reserved linux light utilization instance pricing" do
|
17
17
|
EC2.reserved_instances(:os => :linux, :utilization => :light).class.should == Hash
|
@@ -110,5 +110,24 @@ describe "AwsPricing" do
|
|
110
110
|
end
|
111
111
|
|
112
112
|
end
|
113
|
+
|
114
|
+
describe "Elasticache pricing" do
|
115
|
+
it "returns a hash of standard deployment pricing" do
|
116
|
+
Elasticache.pricing.class.should == Hash
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "Glacier pricing" do
|
121
|
+
it "returns a hash of storage pricing" do
|
122
|
+
Glacier.storage.class.should == Hash
|
123
|
+
end
|
124
|
+
|
125
|
+
it "returns a hash of data transfer pricing" do
|
126
|
+
Glacier.transfer.class.should == Hash
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
130
|
+
|
131
|
+
|
113
132
|
end
|
114
133
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-pricing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
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: 2012-
|
12
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
@@ -127,11 +127,13 @@ files:
|
|
127
127
|
- aws-pricing.gemspec
|
128
128
|
- lib/aws-pricing.rb
|
129
129
|
- lib/aws-pricing/base.rb
|
130
|
-
- lib/aws-pricing/cloudfront.rb
|
131
|
-
- lib/aws-pricing/ec2.rb
|
132
|
-
- lib/aws-pricing/
|
133
|
-
- lib/aws-pricing/
|
134
|
-
- lib/aws-pricing/
|
130
|
+
- lib/aws-pricing/products/cloudfront.rb
|
131
|
+
- lib/aws-pricing/products/ec2.rb
|
132
|
+
- lib/aws-pricing/products/elasticache.rb
|
133
|
+
- lib/aws-pricing/products/emr.rb
|
134
|
+
- lib/aws-pricing/products/glacier.rb
|
135
|
+
- lib/aws-pricing/products/rds.rb
|
136
|
+
- lib/aws-pricing/products/s3.rb
|
135
137
|
- spec/aws-pricing_spec.rb
|
136
138
|
- spec/spec_helper.rb
|
137
139
|
homepage: http://github.com/seeingidog/aws-pricing
|
@@ -149,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
151
|
version: '0'
|
150
152
|
segments:
|
151
153
|
- 0
|
152
|
-
hash:
|
154
|
+
hash: 1858628571553472614
|
153
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
156
|
none: false
|
155
157
|
requirements:
|