zzdeploy 0.1.3 → 0.1.4

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.
@@ -8,6 +8,8 @@ module Commands
8
8
  # you can set any initial defaults here
9
9
  def options
10
10
  @options ||= {
11
+ :roles => [],
12
+ :instances => []
11
13
  }
12
14
  end
13
15
 
@@ -26,8 +28,12 @@ module Commands
26
28
  options[:instances] = v
27
29
  end
28
30
 
29
- opts.on('-r', "--role role", MetaOptions.roles, "Role to look for.") do |v|
30
- options[:role] = v
31
+ opts.on('-r', "--role role1,role2", Array, "Roles to use.") do |v|
32
+ valid_roles = MetaOptions.roles
33
+ v.each do |r|
34
+ raise "Not a valid role: #{r}" if !valid_roles.include?(r.to_sym)
35
+ end
36
+ options[:roles] = v
31
37
  end
32
38
 
33
39
  opts.on('-g', "--group deploy_group", "Required: Group to look for.") do |v|
@@ -62,16 +68,16 @@ module Commands
62
68
  group_config = deploy_group.config
63
69
 
64
70
  user_instances = options[:instances]
65
- if user_instances.nil?
66
- instances = amazon.find_and_sort_named_instances(options[:group], options[:role])
67
- else
68
- instances = [] # build the instances wanted here
69
- server_instances = amazon.find_and_sort_named_instances(nil, nil, false)
70
- server_instances.each do |server_instance|
71
- server_instance_id = server_instance[:resource_id]
72
- if user_instances.include?(server_instance_id)
73
- instances << server_instance
74
- end
71
+ roles = options[:roles]
72
+ filters_off = roles.empty? && user_instances.empty?
73
+ instances = [] # build the instances wanted here
74
+ server_instances = amazon.find_and_sort_named_instances(options[:group], nil, false)
75
+ server_instances.each do |server_instance|
76
+ server_instance_id = server_instance[:resource_id]
77
+ server_instance_role = server_instance[:role]
78
+ if filters_off || roles.include?(server_instance_role) || user_instances.include?(server_instance_id)
79
+ # include this instance in the result set
80
+ instances << server_instance
75
81
  end
76
82
  end
77
83
 
data/lib/info.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  class Info
2
2
  def self.version
3
- "0.1.3"
3
+ "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zzdeploy
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 1
9
- - 3
10
- version: 0.1.3
8
+ - 4
9
+ version: 0.1.4
11
10
  platform: ruby
12
11
  authors:
13
12
  - Greg Seitz
@@ -15,18 +14,16 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2011-08-11 00:00:00 -07:00
17
+ date: 2011-08-15 00:00:00 -07:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: subcommand
23
22
  prerelease: false
24
23
  requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
- hash: 23
30
27
  segments:
31
28
  - 1
32
29
  - 0
@@ -38,11 +35,9 @@ dependencies:
38
35
  name: right_aws
39
36
  prerelease: false
40
37
  requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
38
  requirements:
43
39
  - - ">="
44
40
  - !ruby/object:Gem::Version
45
- hash: 27
46
41
  segments:
47
42
  - 1
48
43
  - 3
@@ -54,11 +49,9 @@ dependencies:
54
49
  name: json
55
50
  prerelease: false
56
51
  requirement: &id003 !ruby/object:Gem::Requirement
57
- none: false
58
52
  requirements:
59
53
  - - "="
60
54
  - !ruby/object:Gem::Version
61
- hash: 7
62
55
  segments:
63
56
  - 1
64
57
  - 5
@@ -70,11 +63,9 @@ dependencies:
70
63
  name: net-ssh-multi
71
64
  prerelease: false
72
65
  requirement: &id004 !ruby/object:Gem::Requirement
73
- none: false
74
66
  requirements:
75
67
  - - ">="
76
68
  - !ruby/object:Gem::Version
77
- hash: 13
78
69
  segments:
79
70
  - 1
80
71
  - 1
@@ -85,11 +76,9 @@ dependencies:
85
76
  name: highline
86
77
  prerelease: false
87
78
  requirement: &id005 !ruby/object:Gem::Requirement
88
- none: false
89
79
  requirements:
90
80
  - - ">="
91
81
  - !ruby/object:Gem::Version
92
- hash: 11
93
82
  segments:
94
83
  - 1
95
84
  - 6
@@ -101,11 +90,9 @@ dependencies:
101
90
  name: zzsharedlib
102
91
  prerelease: false
103
92
  requirement: &id006 !ruby/object:Gem::Requirement
104
- none: false
105
93
  requirements:
106
94
  - - ">="
107
95
  - !ruby/object:Gem::Version
108
- hash: 23
109
96
  segments:
110
97
  - 0
111
98
  - 0
@@ -117,11 +104,9 @@ dependencies:
117
104
  name: rake
118
105
  prerelease: false
119
106
  requirement: &id007 !ruby/object:Gem::Requirement
120
- none: false
121
107
  requirements:
122
108
  - - ~>
123
109
  - !ruby/object:Gem::Version
124
- hash: 63
125
110
  segments:
126
111
  - 0
127
112
  - 9
@@ -133,11 +118,9 @@ dependencies:
133
118
  name: rspec
134
119
  prerelease: false
135
120
  requirement: &id008 !ruby/object:Gem::Requirement
136
- none: false
137
121
  requirements:
138
122
  - - ~>
139
123
  - !ruby/object:Gem::Version
140
- hash: 11
141
124
  segments:
142
125
  - 2
143
126
  - 4
@@ -178,7 +161,6 @@ files:
178
161
  - Rakefile
179
162
  - LICENSE
180
163
  - README.rdoc
181
- - spec/spec_helper.rb
182
164
  has_rdoc: true
183
165
  homepage:
184
166
  licenses: []
@@ -190,21 +172,17 @@ require_paths:
190
172
  - lib
191
173
  - lib/commands
192
174
  required_ruby_version: !ruby/object:Gem::Requirement
193
- none: false
194
175
  requirements:
195
176
  - - ">="
196
177
  - !ruby/object:Gem::Version
197
- hash: 31
198
178
  segments:
199
179
  - 1
200
180
  - 8
201
181
  version: "1.8"
202
182
  required_rubygems_version: !ruby/object:Gem::Requirement
203
- none: false
204
183
  requirements:
205
184
  - - ">="
206
185
  - !ruby/object:Gem::Version
207
- hash: 9
208
186
  segments:
209
187
  - 1
210
188
  - 3
@@ -212,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
190
  requirements: []
213
191
 
214
192
  rubyforge_project:
215
- rubygems_version: 1.3.7
193
+ rubygems_version: 1.3.6
216
194
  signing_key:
217
195
  specification_version: 3
218
196
  summary: ZangZing Amazon Deploy tools