stackster 0.0.1 → 0.0.2
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/lib/stackster/aws/cloud_formation.rb +4 -0
- data/lib/stackster/cli.rb +17 -9
- data/lib/stackster/entry/entry_lister.rb +8 -1
- data/lib/stackster/environment/environment_lister.rb +9 -0
- data/lib/stackster/environment.rb +1 -0
- data/lib/stackster/stack/stack_formater.rb +11 -3
- data/lib/stackster/stack/stack_lister.rb +1 -1
- data/lib/stackster/stack/stack_reader.rb +4 -0
- data/lib/stackster/stack.rb +11 -6
- data/lib/stackster/version.rb +1 -1
- data/lib/stackster.rb +1 -0
- metadata +10 -8
data/lib/stackster/cli.rb
CHANGED
@@ -16,27 +16,35 @@ EOS
|
|
16
16
|
|
17
17
|
@cmd = ARGV.shift
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
case @cmd
|
20
|
+
when 'create', 'destroy', 'delete', 'list', 'update'
|
21
|
+
unless EnvironmentLister.all.include? @opts[:environment]
|
22
|
+
puts "Please specify a valid environment: #{EnvironmentLister.all}"
|
23
|
+
exit 1
|
24
|
+
end
|
25
|
+
@s = Stack.new :environment => @opts[:environment],
|
26
|
+
:name => @opts[:name]
|
22
27
|
end
|
23
28
|
|
24
|
-
s = Stack.new :environment => @opts[:environment],
|
25
|
-
:name => @opts[:name]
|
26
29
|
read_attributes
|
27
30
|
|
28
31
|
case @cmd
|
29
32
|
when 'create'
|
30
|
-
s.create :attributes => attributes,
|
31
|
-
|
33
|
+
@s.create :attributes => attributes,
|
34
|
+
:template => @opts[:template]
|
32
35
|
puts "#{@opts[:name]} created."
|
36
|
+
when 'update'
|
37
|
+
@s.update :attributes => attributes
|
38
|
+
puts "#{@opts[:name]} updated."
|
33
39
|
when 'destroy', 'delete'
|
34
|
-
s.destroy
|
40
|
+
@s.destroy
|
35
41
|
puts "#{@opts[:name]} destroyed."
|
42
|
+
when 'environments'
|
43
|
+
puts EnvironmentLister.all
|
36
44
|
when 'show'
|
37
45
|
sf = StackFormater.new :environment => @opts[:environment],
|
38
46
|
:name => @opts[:name]
|
39
|
-
puts sf.
|
47
|
+
puts sf.display.to_yaml
|
40
48
|
when 'list'
|
41
49
|
s = StackLister.new @opts[:environment]
|
42
50
|
puts s.all
|
@@ -8,7 +8,14 @@ module Stackster
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def all
|
11
|
-
@sdb_connect.select "select * from #{@domain}"
|
11
|
+
entries = @sdb_connect.select "select * from #{@domain}"
|
12
|
+
entries.keys.map do |name|
|
13
|
+
remove_region_from_entry(name)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def remove_region_from_entry(name)
|
18
|
+
name.gsub(/-[a-z]{2}-[a-z]*-[0-9]{1,2}$/, '')
|
12
19
|
end
|
13
20
|
|
14
21
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'stackster/environment/environment_lister'
|
@@ -6,13 +6,13 @@ module Stackster
|
|
6
6
|
:environment => args[:environment]
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
9
|
+
def display
|
10
10
|
{
|
11
11
|
'attributes' => @sr.attributes,
|
12
12
|
'status' => @sr.status,
|
13
13
|
'outputs' => @sr.outputs,
|
14
|
-
'
|
15
|
-
'resources' =>
|
14
|
+
'events' => @sr.events,
|
15
|
+
'resources' => @sr.resources,
|
16
16
|
'instances' => instances_public_ip_addresses
|
17
17
|
}
|
18
18
|
end
|
@@ -21,6 +21,14 @@ module Stackster
|
|
21
21
|
@sr.instances.map { |i| i['instancesSet'].first['ipAddress'] }
|
22
22
|
end
|
23
23
|
|
24
|
+
def attribute_names
|
25
|
+
attributes.keys
|
26
|
+
end
|
27
|
+
|
28
|
+
def attributes
|
29
|
+
@sr.attributes
|
30
|
+
end
|
31
|
+
|
24
32
|
def resources_summary
|
25
33
|
@sr.resources.map do |i|
|
26
34
|
{ 'LogicalResourceId' => i['LogicalResourceId'],
|
data/lib/stackster/stack.rb
CHANGED
@@ -25,6 +25,17 @@ module Stackster
|
|
25
25
|
s.create
|
26
26
|
end
|
27
27
|
|
28
|
+
def show
|
29
|
+
s = StackReader.new :name => @name,
|
30
|
+
:environment => @environment
|
31
|
+
s.show
|
32
|
+
end
|
33
|
+
|
34
|
+
def update(args)
|
35
|
+
@entry.set_attributes args[:attributes]
|
36
|
+
@entry.save
|
37
|
+
end
|
38
|
+
|
28
39
|
def destroy
|
29
40
|
s = StackDestroyer.new :name => @name,
|
30
41
|
:environment => @environment
|
@@ -32,11 +43,5 @@ module Stackster
|
|
32
43
|
@entry.delete_attributes
|
33
44
|
end
|
34
45
|
|
35
|
-
def show
|
36
|
-
s = StackReader.new :name => @name,
|
37
|
-
:environment => @environment
|
38
|
-
s.show
|
39
|
-
end
|
40
|
-
|
41
46
|
end
|
42
47
|
end
|
data/lib/stackster/version.rb
CHANGED
data/lib/stackster.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stackster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
16
|
-
requirement: &
|
16
|
+
requirement: &70121554327040 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70121554327040
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: trollop
|
27
|
-
requirement: &
|
27
|
+
requirement: &70121554326620 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70121554326620
|
36
36
|
description: Thats what I do
|
37
37
|
email:
|
38
38
|
- brett@weav.net
|
@@ -54,6 +54,8 @@ files:
|
|
54
54
|
- lib/stackster/config.rb
|
55
55
|
- lib/stackster/entry.rb
|
56
56
|
- lib/stackster/entry/entry_lister.rb
|
57
|
+
- lib/stackster/environment.rb
|
58
|
+
- lib/stackster/environment/environment_lister.rb
|
57
59
|
- lib/stackster/instance.rb
|
58
60
|
- lib/stackster/instance/instance_reader.rb
|
59
61
|
- lib/stackster/stack.rb
|
@@ -78,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
78
80
|
version: '0'
|
79
81
|
segments:
|
80
82
|
- 0
|
81
|
-
hash: -
|
83
|
+
hash: -2367294800001160910
|
82
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
83
85
|
none: false
|
84
86
|
requirements:
|
@@ -87,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
87
89
|
version: '0'
|
88
90
|
segments:
|
89
91
|
- 0
|
90
|
-
hash: -
|
92
|
+
hash: -2367294800001160910
|
91
93
|
requirements: []
|
92
94
|
rubyforge_project: stackster
|
93
95
|
rubygems_version: 1.8.16
|