cloudster 2.19.6 → 2.19.7
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 +7 -0
- data/.travis.yml +1 -0
- data/Gemfile +7 -3
- data/Gemfile.lock +59 -38
- data/README.md +4 -2
- data/TODO.md +2 -0
- data/VERSION +1 -1
- data/cloudster.gemspec +13 -15
- data/lib/cloudster.rb +1 -1
- data/lib/cloudster/chef_client.rb +1 -1
- data/lib/cloudster/cloud.rb +1 -1
- data/lib/cloudster/cloud_front.rb +1 -1
- data/lib/cloudster/ec2.rb +2 -1
- data/lib/cloudster/elastic_ip.rb +1 -1
- data/lib/cloudster/inner_merge.rb +10 -0
- data/spec/chef_client_spec.rb +2 -1
- data/spec/cloud_spec.rb +7 -11
- data/spec/ec2_spec.rb +4 -2
- data/spec/elastic_ip_spec.rb +2 -1
- data/spec/{deep_merge_spec.rb → inner_merge_spec.rb} +2 -2
- data/spec/spec_helper.rb +2 -0
- metadata +21 -51
- data/lib/cloudster/deep_merge.rb +0 -10
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 714fdfb934ab6e43b39832bcb3b280415f208562
|
|
4
|
+
data.tar.gz: a8b009d410769dcbff93ffda190ad2851bcf7622
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: d441d0b8cee377c24ab15f4aff6ad048b123820a6e7e7be49f81387007f4aecb812dc29ff2f51aa7f8e61d2967cae8edd6fc34f315a77aa2bd7cfbc08c1fdc76
|
|
7
|
+
data.tar.gz: c1c4f004ff2c2606fbd9b08b73f0944e1bea0288ba6dc79a3d8336e2a889cd22486b8e24debae9d7dec3131609b3bc400bd27df29539fef0e4548169d23789e8
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
|
@@ -5,11 +5,15 @@ source "http://rubygems.org"
|
|
|
5
5
|
|
|
6
6
|
# Add dependencies to develop your gem here.
|
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
|
8
|
-
gem "fog"
|
|
8
|
+
gem "fog", "1.10.0"
|
|
9
9
|
gem "json", "~>1.7.7"
|
|
10
10
|
group :development do
|
|
11
|
-
gem "rspec"
|
|
12
11
|
gem "rdoc"
|
|
13
12
|
gem "bundler"
|
|
14
|
-
gem "jeweler", "~> 1.8.
|
|
13
|
+
gem "jeweler", "~> 1.8.7"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
group :test do
|
|
17
|
+
gem "rspec"
|
|
18
|
+
gem 'coveralls', '>=0.5.7', :require => false
|
|
15
19
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,76 +1,97 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
addressable (2.3.5)
|
|
5
|
+
builder (3.2.2)
|
|
6
|
+
colorize (0.5.8)
|
|
7
|
+
coveralls (0.6.7)
|
|
8
|
+
colorize
|
|
9
|
+
multi_json (~> 1.3)
|
|
10
|
+
rest-client
|
|
11
|
+
simplecov (>= 0.7)
|
|
12
|
+
thor
|
|
13
|
+
diff-lcs (1.2.4)
|
|
14
|
+
excon (0.25.3)
|
|
15
|
+
faraday (0.8.8)
|
|
16
|
+
multipart-post (~> 1.2.0)
|
|
17
|
+
fog (1.10.0)
|
|
10
18
|
builder
|
|
11
19
|
excon (~> 0.14)
|
|
12
20
|
formatador (~> 0.2.0)
|
|
13
21
|
mime-types
|
|
14
22
|
multi_json (~> 1.0)
|
|
15
|
-
net-scp (~> 1.
|
|
23
|
+
net-scp (~> 1.1)
|
|
16
24
|
net-ssh (>= 2.1.3)
|
|
17
25
|
nokogiri (~> 1.5.0)
|
|
18
26
|
ruby-hmac
|
|
19
27
|
formatador (0.2.4)
|
|
20
|
-
git (1.2.
|
|
21
|
-
github_api (0.
|
|
28
|
+
git (1.2.6)
|
|
29
|
+
github_api (0.10.1)
|
|
30
|
+
addressable
|
|
22
31
|
faraday (~> 0.8.1)
|
|
23
|
-
hashie (
|
|
24
|
-
multi_json (~> 1.
|
|
32
|
+
hashie (>= 1.2)
|
|
33
|
+
multi_json (~> 1.4)
|
|
25
34
|
nokogiri (~> 1.5.2)
|
|
26
35
|
oauth2
|
|
27
|
-
hashie (
|
|
28
|
-
highline (1.6.
|
|
36
|
+
hashie (2.0.5)
|
|
37
|
+
highline (1.6.19)
|
|
29
38
|
httpauth (0.2.0)
|
|
30
|
-
jeweler (1.8.
|
|
39
|
+
jeweler (1.8.7)
|
|
40
|
+
builder
|
|
31
41
|
bundler (~> 1.0)
|
|
32
42
|
git (>= 1.2.5)
|
|
33
|
-
github_api (
|
|
43
|
+
github_api (= 0.10.1)
|
|
34
44
|
highline (>= 1.6.15)
|
|
45
|
+
nokogiri (= 1.5.10)
|
|
35
46
|
rake
|
|
36
47
|
rdoc
|
|
37
48
|
json (1.7.7)
|
|
38
|
-
jwt (0.1.
|
|
39
|
-
multi_json (>= 1.
|
|
40
|
-
mime-types (1.
|
|
41
|
-
multi_json (1.
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
jwt (0.1.8)
|
|
50
|
+
multi_json (>= 1.5)
|
|
51
|
+
mime-types (1.25)
|
|
52
|
+
multi_json (1.7.9)
|
|
53
|
+
multi_xml (0.5.5)
|
|
54
|
+
multipart-post (1.2.0)
|
|
55
|
+
net-scp (1.1.2)
|
|
44
56
|
net-ssh (>= 2.6.5)
|
|
45
|
-
net-ssh (2.6.
|
|
46
|
-
nokogiri (1.5.
|
|
47
|
-
oauth2 (0.
|
|
57
|
+
net-ssh (2.6.8)
|
|
58
|
+
nokogiri (1.5.10)
|
|
59
|
+
oauth2 (0.9.2)
|
|
48
60
|
faraday (~> 0.8)
|
|
49
|
-
httpauth (~> 0.
|
|
61
|
+
httpauth (~> 0.2)
|
|
50
62
|
jwt (~> 0.1.4)
|
|
51
63
|
multi_json (~> 1.0)
|
|
64
|
+
multi_xml (~> 0.5)
|
|
52
65
|
rack (~> 1.2)
|
|
53
|
-
rack (1.
|
|
54
|
-
rake (10.0
|
|
55
|
-
rdoc (
|
|
66
|
+
rack (1.5.2)
|
|
67
|
+
rake (10.1.0)
|
|
68
|
+
rdoc (4.0.1)
|
|
56
69
|
json (~> 1.4)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
rspec-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
rspec-
|
|
70
|
+
rest-client (1.6.7)
|
|
71
|
+
mime-types (>= 1.16)
|
|
72
|
+
rspec (2.14.1)
|
|
73
|
+
rspec-core (~> 2.14.0)
|
|
74
|
+
rspec-expectations (~> 2.14.0)
|
|
75
|
+
rspec-mocks (~> 2.14.0)
|
|
76
|
+
rspec-core (2.14.5)
|
|
77
|
+
rspec-expectations (2.14.2)
|
|
78
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
|
79
|
+
rspec-mocks (2.14.3)
|
|
65
80
|
ruby-hmac (0.4.0)
|
|
81
|
+
simplecov (0.7.1)
|
|
82
|
+
multi_json (~> 1.0)
|
|
83
|
+
simplecov-html (~> 0.7.1)
|
|
84
|
+
simplecov-html (0.7.1)
|
|
85
|
+
thor (0.18.1)
|
|
66
86
|
|
|
67
87
|
PLATFORMS
|
|
68
88
|
ruby
|
|
69
89
|
|
|
70
90
|
DEPENDENCIES
|
|
71
91
|
bundler
|
|
72
|
-
|
|
73
|
-
|
|
92
|
+
coveralls (>= 0.5.7)
|
|
93
|
+
fog (= 1.10.0)
|
|
94
|
+
jeweler (~> 1.8.7)
|
|
74
95
|
json (~> 1.7.7)
|
|
75
96
|
rdoc
|
|
76
97
|
rspec
|
data/README.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Cloudster
|
|
2
2
|
### The fastest way to provision your AWS stack !
|
|
3
|
+
[](https://rubygems.org/gems/cloudster)
|
|
3
4
|
[](https://travis-ci.org/emilsoman/cloudster)
|
|
4
|
-
[](https://coveralls.io/r/emilsoman/cloudster)
|
|
6
|
+
[](https://codeclimate.com/github/emilsoman/cloudster)
|
|
5
7
|
[](https://gemnasium.com/emilsoman/cloudster)
|
|
6
8
|
[](http://stillmaintained.com/emilsoman/cloudster)
|
|
7
9
|
|
|
@@ -242,5 +244,5 @@ MIT
|
|
|
242
244
|
*Free Software, Forever . YEAH !*
|
|
243
245
|
|
|
244
246
|
## Thanks
|
|
245
|
-
|
|
247
|
+
To [Fog](https://github.com/fog/fog) for making AWS APIs simple
|
|
246
248
|
To Sinatra README for having a nice 'Contribute' section which I'm using(with minor changes) for Cloudster.
|
data/TODO.md
ADDED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.19.
|
|
1
|
+
2.19.7
|
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.19.
|
|
8
|
+
s.version = "2.19.7"
|
|
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 = "2013-
|
|
12
|
+
s.date = "2013-09-05"
|
|
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 = [
|
|
@@ -25,17 +25,18 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
"LICENSE.txt",
|
|
26
26
|
"README.md",
|
|
27
27
|
"Rakefile",
|
|
28
|
+
"TODO.md",
|
|
28
29
|
"VERSION",
|
|
29
30
|
"cloudster.gemspec",
|
|
30
31
|
"lib/cloudster.rb",
|
|
31
32
|
"lib/cloudster/chef_client.rb",
|
|
32
33
|
"lib/cloudster/cloud.rb",
|
|
33
34
|
"lib/cloudster/cloud_front.rb",
|
|
34
|
-
"lib/cloudster/deep_merge.rb",
|
|
35
35
|
"lib/cloudster/ec2.rb",
|
|
36
36
|
"lib/cloudster/elastic_ip.rb",
|
|
37
37
|
"lib/cloudster/elasticache.rb",
|
|
38
38
|
"lib/cloudster/elb.rb",
|
|
39
|
+
"lib/cloudster/inner_merge.rb",
|
|
39
40
|
"lib/cloudster/options_manager.rb",
|
|
40
41
|
"lib/cloudster/output.rb",
|
|
41
42
|
"lib/cloudster/rds.rb",
|
|
@@ -43,11 +44,11 @@ Gem::Specification.new do |s|
|
|
|
43
44
|
"spec/chef_client_spec.rb",
|
|
44
45
|
"spec/cloud_front_spec.rb",
|
|
45
46
|
"spec/cloud_spec.rb",
|
|
46
|
-
"spec/deep_merge_spec.rb",
|
|
47
47
|
"spec/ec2_spec.rb",
|
|
48
48
|
"spec/elastic_ip_spec.rb",
|
|
49
49
|
"spec/elasticache_spec.rb",
|
|
50
50
|
"spec/elb_spec.rb",
|
|
51
|
+
"spec/inner_merge_spec.rb",
|
|
51
52
|
"spec/output_spec.rb",
|
|
52
53
|
"spec/rds_spec.rb",
|
|
53
54
|
"spec/s3_spec.rb",
|
|
@@ -56,34 +57,31 @@ Gem::Specification.new do |s|
|
|
|
56
57
|
s.homepage = "http://github.com/emilsoman/cloudster"
|
|
57
58
|
s.licenses = ["MIT"]
|
|
58
59
|
s.require_paths = ["lib"]
|
|
59
|
-
s.rubygems_version = "
|
|
60
|
+
s.rubygems_version = "2.0.3"
|
|
60
61
|
s.summary = "Cloudster gem - a Ruby interface for provisioning your Amazon Cloud."
|
|
61
62
|
|
|
62
63
|
if s.respond_to? :specification_version then
|
|
63
|
-
s.specification_version =
|
|
64
|
+
s.specification_version = 4
|
|
64
65
|
|
|
65
66
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
66
|
-
s.add_runtime_dependency(%q<fog>, ["
|
|
67
|
+
s.add_runtime_dependency(%q<fog>, ["= 1.10.0"])
|
|
67
68
|
s.add_runtime_dependency(%q<json>, ["~> 1.7.7"])
|
|
68
|
-
s.add_development_dependency(%q<rspec>, [">= 0"])
|
|
69
69
|
s.add_development_dependency(%q<rdoc>, [">= 0"])
|
|
70
70
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
|
71
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.8.
|
|
71
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.8.7"])
|
|
72
72
|
else
|
|
73
|
-
s.add_dependency(%q<fog>, ["
|
|
73
|
+
s.add_dependency(%q<fog>, ["= 1.10.0"])
|
|
74
74
|
s.add_dependency(%q<json>, ["~> 1.7.7"])
|
|
75
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
|
76
75
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
77
76
|
s.add_dependency(%q<bundler>, [">= 0"])
|
|
78
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.
|
|
77
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
|
|
79
78
|
end
|
|
80
79
|
else
|
|
81
|
-
s.add_dependency(%q<fog>, ["
|
|
80
|
+
s.add_dependency(%q<fog>, ["= 1.10.0"])
|
|
82
81
|
s.add_dependency(%q<json>, ["~> 1.7.7"])
|
|
83
|
-
s.add_dependency(%q<rspec>, [">= 0"])
|
|
84
82
|
s.add_dependency(%q<rdoc>, [">= 0"])
|
|
85
83
|
s.add_dependency(%q<bundler>, [">= 0"])
|
|
86
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.
|
|
84
|
+
s.add_dependency(%q<jeweler>, ["~> 1.8.7"])
|
|
87
85
|
end
|
|
88
86
|
end
|
|
89
87
|
|
data/lib/cloudster.rb
CHANGED
data/lib/cloudster/cloud.rb
CHANGED
data/lib/cloudster/ec2.rb
CHANGED
|
@@ -96,7 +96,8 @@ module Cloudster
|
|
|
96
96
|
'private_dns_name' => {'Fn::GetAtt' => [options[:name], 'PrivateDnsName']},
|
|
97
97
|
'public_dns_name' => {'Fn::GetAtt' => [options[:name], 'PublicDnsName']},
|
|
98
98
|
'private_ip' => {'Fn::GetAtt' => [options[:name], 'PrivateIp']},
|
|
99
|
-
'public_ip' => {'Fn::GetAtt' => [options[:name], 'PublicIp']}
|
|
99
|
+
'public_ip' => {'Fn::GetAtt' => [options[:name], 'PublicIp']},
|
|
100
|
+
'instance_id' => { "Ref" => options[:name] }
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
template['Outputs'] = output_template(outputs)
|
data/lib/cloudster/elastic_ip.rb
CHANGED
data/spec/chef_client_spec.rb
CHANGED
|
@@ -95,7 +95,8 @@ describe Cloudster::ChefClient do
|
|
|
95
95
|
{"Fn::Join"=>["|", ["private_dns_name", {"Fn::GetAtt"=>["AppServer", "PrivateDnsName"]}]]},
|
|
96
96
|
{"Fn::Join"=>["|", ["public_dns_name", {"Fn::GetAtt"=>["AppServer", "PublicDnsName"]}]]},
|
|
97
97
|
{"Fn::Join"=>["|", ["private_ip", {"Fn::GetAtt"=>["AppServer", "PrivateIp"]}]]},
|
|
98
|
-
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["AppServer", "PublicIp"]}]]}
|
|
98
|
+
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["AppServer", "PublicIp"]}]]},
|
|
99
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "AppServer"}]]}
|
|
99
100
|
]
|
|
100
101
|
]
|
|
101
102
|
}
|
data/spec/cloud_spec.rb
CHANGED
|
@@ -74,7 +74,8 @@ describe Cloudster::Cloud do
|
|
|
74
74
|
{"Fn::Join" => ["|", ["private_dns_name", {'Fn::GetAtt' => ['Ec2Instance1', 'PrivateDnsName']}]]},
|
|
75
75
|
{"Fn::Join" => ["|", ["public_dns_name", {'Fn::GetAtt' => ['Ec2Instance1', 'PublicDnsName']}]]},
|
|
76
76
|
{"Fn::Join" => ["|", ["private_ip", {'Fn::GetAtt' => ['Ec2Instance1', 'PrivateIp']}]]},
|
|
77
|
-
{"Fn::Join" => ["|", ["public_ip", {'Fn::GetAtt' => ['Ec2Instance1', 'PublicIp']}]]}
|
|
77
|
+
{"Fn::Join" => ["|", ["public_ip", {'Fn::GetAtt' => ['Ec2Instance1', 'PublicIp']}]]},
|
|
78
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "Ec2Instance1"}]]}
|
|
78
79
|
]
|
|
79
80
|
]
|
|
80
81
|
}
|
|
@@ -87,7 +88,8 @@ describe Cloudster::Cloud do
|
|
|
87
88
|
{"Fn::Join" => ["|", ["private_dns_name", {'Fn::GetAtt' => ['Ec2Instance2', 'PrivateDnsName']}]]},
|
|
88
89
|
{"Fn::Join" => ["|", ["public_dns_name", {'Fn::GetAtt' => ['Ec2Instance2', 'PublicDnsName']}]]},
|
|
89
90
|
{"Fn::Join" => ["|", ["private_ip", {'Fn::GetAtt' => ['Ec2Instance2', 'PrivateIp']}]]},
|
|
90
|
-
{"Fn::Join" => ["|", ["public_ip", {'Fn::GetAtt' => ['Ec2Instance2', 'PublicIp']}]]}
|
|
91
|
+
{"Fn::Join" => ["|", ["public_ip", {'Fn::GetAtt' => ['Ec2Instance2', 'PublicIp']}]]},
|
|
92
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "Ec2Instance2"}]]}
|
|
91
93
|
]
|
|
92
94
|
]
|
|
93
95
|
}
|
|
@@ -215,30 +217,24 @@ describe Cloudster::Cloud do
|
|
|
215
217
|
describe "#is_s3_bucket_name_available?" do
|
|
216
218
|
it "should return true if bucket is available" do
|
|
217
219
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
|
218
|
-
response = double('Response')
|
|
219
|
-
response.stub(:status).and_return(404)
|
|
220
220
|
s3 = double('S3')
|
|
221
|
-
s3.should_receive(:get_bucket).and_raise(Excon::Errors.status_error({:expects => 200},
|
|
221
|
+
s3.should_receive(:get_bucket).and_raise(Excon::Errors.status_error({:expects => 200}, {:status => 404}))
|
|
222
222
|
Fog::Storage::AWS.should_receive(:new).and_return(s3)
|
|
223
223
|
cloud.is_s3_bucket_name_available?('test-bucket-name').should be_true
|
|
224
224
|
end
|
|
225
225
|
|
|
226
226
|
it "should return false if bucket access is forbidden" do
|
|
227
227
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
|
228
|
-
response = double('Response')
|
|
229
|
-
response.stub(:status).and_return(403)
|
|
230
228
|
s3 = double('S3')
|
|
231
|
-
s3.should_receive(:get_bucket).and_raise(Excon::Errors.status_error({:expects => 200},
|
|
229
|
+
s3.should_receive(:get_bucket).and_raise(Excon::Errors.status_error({:expects => 200}, {:status => 403}))
|
|
232
230
|
Fog::Storage::AWS.should_receive(:new).and_return(s3)
|
|
233
231
|
cloud.is_s3_bucket_name_available?('test-bucket-name').should be_false
|
|
234
232
|
end
|
|
235
233
|
|
|
236
234
|
it "should return false if bucket is already owned by user" do
|
|
237
235
|
cloud = Cloudster::Cloud.new(:access_key_id => 'test', :secret_access_key => 'test')
|
|
238
|
-
response = double('Response')
|
|
239
|
-
response.stub(:status).and_return(200)
|
|
240
236
|
s3 = double('S3')
|
|
241
|
-
s3.should_receive(:get_bucket).and_return
|
|
237
|
+
s3.should_receive(:get_bucket).and_return({:status => 200})
|
|
242
238
|
Fog::Storage::AWS.should_receive(:new).and_return(s3)
|
|
243
239
|
cloud.is_s3_bucket_name_available?('test-bucket-name').should be_false
|
|
244
240
|
end
|
data/spec/ec2_spec.rb
CHANGED
|
@@ -36,7 +36,8 @@ describe Cloudster::Ec2 do
|
|
|
36
36
|
{"Fn::Join"=>["|", ["private_dns_name", {"Fn::GetAtt"=>["name", "PrivateDnsName"]}]]},
|
|
37
37
|
{"Fn::Join"=>["|", ["public_dns_name", {"Fn::GetAtt"=>["name", "PublicDnsName"]}]]},
|
|
38
38
|
{"Fn::Join"=>["|", ["private_ip", {"Fn::GetAtt"=>["name", "PrivateIp"]}]]},
|
|
39
|
-
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["name", "PublicIp"]}]]}
|
|
39
|
+
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["name", "PublicIp"]}]]},
|
|
40
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "name"}]]}
|
|
40
41
|
]
|
|
41
42
|
]
|
|
42
43
|
}
|
|
@@ -72,7 +73,8 @@ describe Cloudster::Ec2 do
|
|
|
72
73
|
{"Fn::Join"=>["|", ["private_dns_name", {"Fn::GetAtt"=>["name", "PrivateDnsName"]}]]},
|
|
73
74
|
{"Fn::Join"=>["|", ["public_dns_name", {"Fn::GetAtt"=>["name", "PublicDnsName"]}]]},
|
|
74
75
|
{"Fn::Join"=>["|", ["private_ip", {"Fn::GetAtt"=>["name", "PrivateIp"]}]]},
|
|
75
|
-
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["name", "PublicIp"]}]]}
|
|
76
|
+
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["name", "PublicIp"]}]]},
|
|
77
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "name"}]]}
|
|
76
78
|
]
|
|
77
79
|
]
|
|
78
80
|
}
|
data/spec/elastic_ip_spec.rb
CHANGED
|
@@ -43,7 +43,8 @@ describe Cloudster::ChefClient do
|
|
|
43
43
|
{"Fn::Join"=>["|", ["private_dns_name", {"Fn::GetAtt"=>["AppServer", "PrivateDnsName"]}]]},
|
|
44
44
|
{"Fn::Join"=>["|", ["public_dns_name", {"Fn::GetAtt"=>["AppServer", "PublicDnsName"]}]]},
|
|
45
45
|
{"Fn::Join"=>["|", ["private_ip", {"Fn::GetAtt"=>["AppServer", "PrivateIp"]}]]},
|
|
46
|
-
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["AppServer", "PublicIp"]}]]}
|
|
46
|
+
{"Fn::Join"=>["|", ["public_ip", {"Fn::GetAtt"=>["AppServer", "PublicIp"]}]]},
|
|
47
|
+
{"Fn::Join"=>["|", ["instance_id", {"Ref"=> "AppServer"}]]}
|
|
47
48
|
]
|
|
48
49
|
]
|
|
49
50
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe "Hash" do
|
|
4
|
-
describe "#
|
|
4
|
+
describe "#inner_merge" do
|
|
5
5
|
it "should do a deep merge for new keys and deep override for existing keys" do
|
|
6
6
|
hash1 = {
|
|
7
7
|
'key1' => 'value1',
|
|
@@ -17,7 +17,7 @@ describe "Hash" do
|
|
|
17
17
|
'inner_key2' =>'inner_value_to_override'
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
hash1.
|
|
20
|
+
hash1.inner_merge(hash2).should == {
|
|
21
21
|
"key1"=>"value1",
|
|
22
22
|
"key2"=>{
|
|
23
23
|
"inner_key1"=>"inner_value1",
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloudster
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.19.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 2.19.7
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Emil Soman
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
11
|
+
date: 2013-09-05 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: fog
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - '='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
19
|
+
version: 1.10.0
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- -
|
|
24
|
+
- - '='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
26
|
+
version: 1.10.0
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: json
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
31
|
- - ~>
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
@@ -38,76 +34,53 @@ dependencies:
|
|
|
38
34
|
type: :runtime
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
38
|
- - ~>
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
40
|
version: 1.7.7
|
|
46
|
-
- !ruby/object:Gem::Dependency
|
|
47
|
-
name: rspec
|
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
|
-
requirements:
|
|
51
|
-
- - ! '>='
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
|
-
requirements:
|
|
59
|
-
- - ! '>='
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '0'
|
|
62
41
|
- !ruby/object:Gem::Dependency
|
|
63
42
|
name: rdoc
|
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
44
|
requirements:
|
|
67
|
-
- -
|
|
45
|
+
- - '>='
|
|
68
46
|
- !ruby/object:Gem::Version
|
|
69
47
|
version: '0'
|
|
70
48
|
type: :development
|
|
71
49
|
prerelease: false
|
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
51
|
requirements:
|
|
75
|
-
- -
|
|
52
|
+
- - '>='
|
|
76
53
|
- !ruby/object:Gem::Version
|
|
77
54
|
version: '0'
|
|
78
55
|
- !ruby/object:Gem::Dependency
|
|
79
56
|
name: bundler
|
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
58
|
requirements:
|
|
83
|
-
- -
|
|
59
|
+
- - '>='
|
|
84
60
|
- !ruby/object:Gem::Version
|
|
85
61
|
version: '0'
|
|
86
62
|
type: :development
|
|
87
63
|
prerelease: false
|
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
65
|
requirements:
|
|
91
|
-
- -
|
|
66
|
+
- - '>='
|
|
92
67
|
- !ruby/object:Gem::Version
|
|
93
68
|
version: '0'
|
|
94
69
|
- !ruby/object:Gem::Dependency
|
|
95
70
|
name: jeweler
|
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
72
|
requirements:
|
|
99
73
|
- - ~>
|
|
100
74
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: 1.8.
|
|
75
|
+
version: 1.8.7
|
|
102
76
|
type: :development
|
|
103
77
|
prerelease: false
|
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
79
|
requirements:
|
|
107
80
|
- - ~>
|
|
108
81
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 1.8.
|
|
110
|
-
description:
|
|
82
|
+
version: 1.8.7
|
|
83
|
+
description: "Cloudster is a Ruby gem that was born to cut the learning curve involved
|
|
111
84
|
\n in writing your own CloudFormation templates. If you don't know what a CloudFormation
|
|
112
85
|
template is, \n but know about the AWS Cloud offerings, you can still use cloudster
|
|
113
86
|
to provision your stack. \n Still in infancy , cloudster can create a very basic
|
|
@@ -127,17 +100,18 @@ files:
|
|
|
127
100
|
- LICENSE.txt
|
|
128
101
|
- README.md
|
|
129
102
|
- Rakefile
|
|
103
|
+
- TODO.md
|
|
130
104
|
- VERSION
|
|
131
105
|
- cloudster.gemspec
|
|
132
106
|
- lib/cloudster.rb
|
|
133
107
|
- lib/cloudster/chef_client.rb
|
|
134
108
|
- lib/cloudster/cloud.rb
|
|
135
109
|
- lib/cloudster/cloud_front.rb
|
|
136
|
-
- lib/cloudster/deep_merge.rb
|
|
137
110
|
- lib/cloudster/ec2.rb
|
|
138
111
|
- lib/cloudster/elastic_ip.rb
|
|
139
112
|
- lib/cloudster/elasticache.rb
|
|
140
113
|
- lib/cloudster/elb.rb
|
|
114
|
+
- lib/cloudster/inner_merge.rb
|
|
141
115
|
- lib/cloudster/options_manager.rb
|
|
142
116
|
- lib/cloudster/output.rb
|
|
143
117
|
- lib/cloudster/rds.rb
|
|
@@ -145,11 +119,11 @@ files:
|
|
|
145
119
|
- spec/chef_client_spec.rb
|
|
146
120
|
- spec/cloud_front_spec.rb
|
|
147
121
|
- spec/cloud_spec.rb
|
|
148
|
-
- spec/deep_merge_spec.rb
|
|
149
122
|
- spec/ec2_spec.rb
|
|
150
123
|
- spec/elastic_ip_spec.rb
|
|
151
124
|
- spec/elasticache_spec.rb
|
|
152
125
|
- spec/elb_spec.rb
|
|
126
|
+
- spec/inner_merge_spec.rb
|
|
153
127
|
- spec/output_spec.rb
|
|
154
128
|
- spec/rds_spec.rb
|
|
155
129
|
- spec/s3_spec.rb
|
|
@@ -157,29 +131,25 @@ files:
|
|
|
157
131
|
homepage: http://github.com/emilsoman/cloudster
|
|
158
132
|
licenses:
|
|
159
133
|
- MIT
|
|
134
|
+
metadata: {}
|
|
160
135
|
post_install_message:
|
|
161
136
|
rdoc_options: []
|
|
162
137
|
require_paths:
|
|
163
138
|
- lib
|
|
164
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
165
|
-
none: false
|
|
166
140
|
requirements:
|
|
167
|
-
- -
|
|
141
|
+
- - '>='
|
|
168
142
|
- !ruby/object:Gem::Version
|
|
169
143
|
version: '0'
|
|
170
|
-
segments:
|
|
171
|
-
- 0
|
|
172
|
-
hash: -177422495
|
|
173
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
|
-
none: false
|
|
175
145
|
requirements:
|
|
176
|
-
- -
|
|
146
|
+
- - '>='
|
|
177
147
|
- !ruby/object:Gem::Version
|
|
178
148
|
version: '0'
|
|
179
149
|
requirements: []
|
|
180
150
|
rubyforge_project:
|
|
181
|
-
rubygems_version:
|
|
151
|
+
rubygems_version: 2.0.3
|
|
182
152
|
signing_key:
|
|
183
|
-
specification_version:
|
|
153
|
+
specification_version: 4
|
|
184
154
|
summary: Cloudster gem - a Ruby interface for provisioning your Amazon Cloud.
|
|
185
155
|
test_files: []
|
data/lib/cloudster/deep_merge.rb
DELETED