zzdeploy 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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