cloudster 2.12.0 → 2.13.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/README.md +5 -5
- data/VERSION +1 -1
- data/cloudster.gemspec +2 -2
- data/lib/cloudster/cloud.rb +10 -3
- data/spec/cloud_spec.rb +6 -6
- metadata +3 -3
data/README.md
CHANGED
@@ -51,16 +51,16 @@ Create AWS resources :
|
|
51
51
|
|
52
52
|
Make a cloud :
|
53
53
|
|
54
|
-
cloud = Cloudster::Cloud.new(:access_key_id => 'accesskeyid', :secret_access_key => 'topsecretaccesskey')
|
54
|
+
cloud = Cloudster::Cloud.new(:access_key_id => 'accesskeyid', :secret_access_key => 'topsecretaccesskey', :region => 'us-west-1')
|
55
55
|
|
56
56
|
Get the CloudFormation template for the stack :
|
57
|
-
|
57
|
+
|
58
58
|
cloud.template(:resources => [app_server, app_server_2, load_balancer, database], :description => 'Description of the stack')
|
59
59
|
|
60
60
|
Get the CloudFormation template for a resource as a Ruby Hash :
|
61
61
|
|
62
62
|
app_server.template
|
63
|
-
|
63
|
+
|
64
64
|
Cloudster can also do things on the AWS Cloud :
|
65
65
|
|
66
66
|
- Provision the stack :
|
@@ -115,7 +115,7 @@ Cloudster can also do things on the AWS Cloud :
|
|
115
115
|
|
116
116
|
cloud.get_security_groups
|
117
117
|
|
118
|
-
|
118
|
+
- ### More coming soon ..
|
119
119
|
|
120
120
|
----------------
|
121
121
|
|
@@ -153,7 +153,7 @@ can be applied as quickly as possible:
|
|
153
153
|
|
154
154
|
3. **Update the `README`:** If the patch adds or modifies a major feature,
|
155
155
|
modify the `README.md` file to reflect that. Again if you're not an
|
156
|
-
expert with Markdown syntax, it's really easy to learn. Check out [
|
156
|
+
expert with Markdown syntax, it's really easy to learn. Check out [Prose.io](http://prose.io/) to
|
157
157
|
try it out.
|
158
158
|
|
159
159
|
4. **Push it:** Once you're ready, push your changes to a topic branch
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.13.0
|
data/cloudster.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "cloudster"
|
8
|
-
s.version = "2.
|
8
|
+
s.version = "2.13.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Emil Soman"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-12-17"
|
13
13
|
s.description = "Cloudster is a Ruby gem that was born to cut the learning curve involved \n in writing your own CloudFormation templates. If you don't know what a CloudFormation template is, \n but know about the AWS Cloud offerings, you can still use cloudster to provision your stack. \n Still in infancy , cloudster can create a very basic stack like a breeze. All kinds of contribution welcome !"
|
14
14
|
s.email = "emil.soman@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/cloudster/cloud.rb
CHANGED
@@ -10,8 +10,10 @@ module Cloudster
|
|
10
10
|
#
|
11
11
|
# ==== Parameters
|
12
12
|
# * options<~Hash>
|
13
|
-
# * :access_key_id : A string containing the AWS access key ID
|
14
|
-
# * :secret_access_key : A string containing the AWS secret access key
|
13
|
+
# * :access_key_id : A string containing the AWS access key ID (Required)
|
14
|
+
# * :secret_access_key : A string containing the AWS secret access key (Required)
|
15
|
+
# * :region : A string containing the region where the stack should be created/updated (Optional). Can be one of
|
16
|
+
# us-east-1(default), us-west-1, us-west-2, eu-west-1, ap-southeast-1, ap-northeast-1, ap-southeast-2, sa-east-1
|
15
17
|
#
|
16
18
|
# ==== Examples
|
17
19
|
# cloud = Cloudster::Cloud.new(
|
@@ -20,9 +22,14 @@ module Cloudster
|
|
20
22
|
# )
|
21
23
|
def initialize(options = {})
|
22
24
|
require_options(options, [:access_key_id, :secret_access_key])
|
25
|
+
@region = options[:region]
|
23
26
|
@access_key_id = options[:access_key_id]
|
24
27
|
@secret_access_key = options[:secret_access_key]
|
25
|
-
@cloud_formation = Fog::AWS::CloudFormation.new(
|
28
|
+
@cloud_formation = Fog::AWS::CloudFormation.new(
|
29
|
+
:aws_access_key_id => @access_key_id,
|
30
|
+
:aws_secret_access_key => @secret_access_key,
|
31
|
+
:region => @region
|
32
|
+
)
|
26
33
|
end
|
27
34
|
|
28
35
|
# Generates CloudFormation Template for the stack
|
data/spec/cloud_spec.rb
CHANGED
@@ -6,7 +6,7 @@ describe Cloudster::Cloud do
|
|
6
6
|
expect { Cloudster::Cloud.new() }.to raise_error(ArgumentError, 'Missing required argument: access_key_id,secret_access_key')
|
7
7
|
end
|
8
8
|
it "should not raise argument error if all arguments are provided" do
|
9
|
-
expect { Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test') }.to_not raise_error
|
9
|
+
expect { Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test', :region => 'us-east-1') }.to_not raise_error
|
10
10
|
end
|
11
11
|
end
|
12
12
|
describe '#template' do
|
@@ -77,10 +77,10 @@ describe Cloudster::Cloud do
|
|
77
77
|
end
|
78
78
|
it "should trigger stack creation" do
|
79
79
|
cloud_formation = double('CloudFormation')
|
80
|
-
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test').and_return cloud_formation
|
80
|
+
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test', :region => nil).and_return cloud_formation
|
81
81
|
ec2 = Cloudster::Ec2.new(:key_name => 'testkey', :image_id => 'image_id', :name => 'name')
|
82
82
|
elb = Cloudster::Elb.new(:name => 'ELB', :instance_names => ['name','name1'])
|
83
|
-
rds = Cloudster::Rds.new(:name => 'MySqlDB', :storage_size => '10')
|
83
|
+
rds = Cloudster::Rds.new(:name => 'MySqlDB', :storage_size => '10')
|
84
84
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
85
85
|
cloud_formation.should_receive('create_stack').with('stack_name', 'TemplateBody' => cloud.template(:resources => [ec2, elb, rds], :description => 'testDescription'))
|
86
86
|
cloud.provision(:resources => [ec2, elb, rds], :stack_name => 'stack_name', :description => 'testDescription')
|
@@ -95,7 +95,7 @@ describe Cloudster::Cloud do
|
|
95
95
|
end
|
96
96
|
it "should trigger stack update" do
|
97
97
|
cloud_formation = double('CloudFormation')
|
98
|
-
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test').and_return cloud_formation
|
98
|
+
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test', :region => nil).and_return cloud_formation
|
99
99
|
ec2 = Cloudster::Ec2.new(:key_name => 'testkey', :image_id => 'image_id', :name => 'name')
|
100
100
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
101
101
|
cloud_formation.should_receive('update_stack').with('stack_name', 'TemplateBody' => cloud.template(:resources => [ec2], :description => 'testDescription'))
|
@@ -106,7 +106,7 @@ describe Cloudster::Cloud do
|
|
106
106
|
describe '#events' do
|
107
107
|
it "should trigger 'describe stack events' request" do
|
108
108
|
cloud_formation = double('CloudFormation')
|
109
|
-
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test').and_return cloud_formation
|
109
|
+
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test', :region => nil).and_return cloud_formation
|
110
110
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
111
111
|
cloud_formation.should_receive('describe_stack_events').with('stack_name')
|
112
112
|
cloud.events(:stack_name => 'stack_name')
|
@@ -120,7 +120,7 @@ describe Cloudster::Cloud do
|
|
120
120
|
end
|
121
121
|
it "should trigger 'delete stack' request" do
|
122
122
|
cloud_formation = double('CloudFormation')
|
123
|
-
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test').and_return cloud_formation
|
123
|
+
Fog::AWS::CloudFormation.should_receive(:new).with(:aws_access_key_id => 'test', :aws_secret_access_key => 'test', :region => nil).and_return cloud_formation
|
124
124
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
125
125
|
cloud_formation.should_receive('delete_stack').with('stack_name')
|
126
126
|
cloud.delete(:stack_name => 'stack_name')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.13.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-12-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -158,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
segments:
|
160
160
|
- 0
|
161
|
-
hash: -
|
161
|
+
hash: -21542097
|
162
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
163
|
none: false
|
164
164
|
requirements:
|