vmc 0.4.0.beta.66 → 0.4.0.beta.67
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/vmc-ng/lib/vmc/cli/app.rb +4 -5
- data/vmc-ng/lib/vmc/cli/start.rb +50 -105
- data/vmc-ng/lib/vmc/cli.rb +15 -19
- data/vmc-ng/lib/vmc/spacing.rb +1 -1
- data/vmc-ng/lib/vmc/version.rb +1 -1
- metadata +10 -10
data/vmc-ng/lib/vmc/cli/app.rb
CHANGED
@@ -47,6 +47,10 @@ module VMC
|
|
47
47
|
spaced(apps) do |a|
|
48
48
|
display_app(a)
|
49
49
|
end
|
50
|
+
elsif quiet?
|
51
|
+
apps.each do |a|
|
52
|
+
line a.name
|
53
|
+
end
|
50
54
|
else
|
51
55
|
table(
|
52
56
|
["name", "status", "usage", v2? && "plan", "runtime", "url"],
|
@@ -769,11 +773,6 @@ module VMC
|
|
769
773
|
IS_UTF8 = !!(ENV["LC_ALL"] || ENV["LC_CTYPE"] || ENV["LANG"])["UTF-8"]
|
770
774
|
|
771
775
|
def display_app(a)
|
772
|
-
if quiet?
|
773
|
-
line a.name
|
774
|
-
return
|
775
|
-
end
|
776
|
-
|
777
776
|
status = app_status(a)
|
778
777
|
|
779
778
|
line "#{c(a.name, :name)}: #{status}"
|
data/vmc-ng/lib/vmc/cli/start.rb
CHANGED
@@ -78,63 +78,68 @@ module VMC
|
|
78
78
|
end
|
79
79
|
|
80
80
|
if runtimes
|
81
|
-
unless quiet?
|
82
|
-
line
|
83
|
-
line "runtimes:"
|
84
|
-
end
|
81
|
+
line unless quiet?
|
85
82
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
display_runtime(r)
|
92
|
-
end
|
83
|
+
if runtimes.empty? && !quiet?
|
84
|
+
line "#{d("none")}"
|
85
|
+
elsif input[:quiet]
|
86
|
+
runtimes.each do |r|
|
87
|
+
line r.name
|
93
88
|
end
|
89
|
+
else
|
90
|
+
table(
|
91
|
+
%w{runtime description},
|
92
|
+
runtimes.sort_by(&:name).collect { |r|
|
93
|
+
[c(r.name, :name), r.description]
|
94
|
+
})
|
94
95
|
end
|
95
96
|
end
|
96
97
|
|
97
98
|
if frameworks
|
98
|
-
unless quiet?
|
99
|
-
line
|
100
|
-
line "frameworks:"
|
101
|
-
end
|
99
|
+
line unless quiet?
|
102
100
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
display_framework(f)
|
109
|
-
end
|
101
|
+
if frameworks.empty? && !quiet?
|
102
|
+
line "#{d("none")}"
|
103
|
+
elsif input[:quiet]
|
104
|
+
frameworks.each do |f|
|
105
|
+
line f.name
|
110
106
|
end
|
107
|
+
else
|
108
|
+
table(
|
109
|
+
%w{framework description},
|
110
|
+
frameworks.sort_by(&:name).collect { |f|
|
111
|
+
[c(f.name, :name), f.description]
|
112
|
+
})
|
111
113
|
end
|
112
114
|
end
|
113
115
|
|
114
116
|
if services
|
115
|
-
unless quiet?
|
116
|
-
line
|
117
|
-
line "services:"
|
118
|
-
end
|
117
|
+
line unless quiet?
|
119
118
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
display_service(s)
|
126
|
-
end
|
119
|
+
if services.empty? && !quiet?
|
120
|
+
line "#{d("none")}"
|
121
|
+
elsif input[:quiet]
|
122
|
+
services.each do |s|
|
123
|
+
line s.label
|
127
124
|
end
|
125
|
+
else
|
126
|
+
table(
|
127
|
+
["service", "version", "provider", v2? && "plans", "description"],
|
128
|
+
services.sort_by(&:label).collect { |s|
|
129
|
+
[ c(s.label, :name),
|
130
|
+
s.version,
|
131
|
+
s.provider,
|
132
|
+
v2? && s.service_plans.collect(&:name).join(", "),
|
133
|
+
s.description
|
134
|
+
]
|
135
|
+
})
|
128
136
|
end
|
129
137
|
end
|
130
138
|
end
|
131
139
|
|
132
140
|
desc "Set or display the target cloud, organization, and space"
|
133
141
|
group :start
|
134
|
-
input :url, :argument => :optional,
|
135
|
-
:desc => "Target URL to switch to"
|
136
|
-
input :interactive, :alias => "-i", :type => :boolean,
|
137
|
-
:desc => "Interactively select organization/space"
|
142
|
+
input :url, :argument => :optional, :desc => "Target URL to switch to"
|
138
143
|
input(:organization, :aliases => ["--org", "-o"],
|
139
144
|
:from_given => find_by_name("organization"),
|
140
145
|
:desc => "Organization") { |orgs|
|
@@ -146,8 +151,7 @@ module VMC
|
|
146
151
|
ask("Space", :choices => spaces, :display => proc(&:name))
|
147
152
|
}
|
148
153
|
def target
|
149
|
-
if !input
|
150
|
-
!input.given?(:organization) && !input.given?(:space)
|
154
|
+
if !input.given?(:url) && !input.given?(:organization) && !input.given?(:space)
|
151
155
|
display_target
|
152
156
|
display_org_and_space unless quiet?
|
153
157
|
return
|
@@ -163,8 +167,7 @@ module VMC
|
|
163
167
|
|
164
168
|
return unless v2? && client.logged_in?
|
165
169
|
|
166
|
-
if input
|
167
|
-
input.given?(:space)
|
170
|
+
if input.given?(:organization) || input.given?(:space)
|
168
171
|
info = target_info
|
169
172
|
|
170
173
|
select_org_and_space(input, info)
|
@@ -197,8 +200,6 @@ module VMC
|
|
197
200
|
input :username, :alias => "--email", :argument => :optional,
|
198
201
|
:desc => "Account email"
|
199
202
|
input :password, :desc => "Account password"
|
200
|
-
input :interactive, :alias => "-i", :type => :boolean,
|
201
|
-
:desc => "Interactively select organization/space"
|
202
203
|
input(:organization, :aliases => ["--org", "-o"],
|
203
204
|
:from_given => find_by_name("organization"),
|
204
205
|
:desc => "Organization") { |orgs|
|
@@ -255,7 +256,7 @@ module VMC
|
|
255
256
|
invalidate_client
|
256
257
|
|
257
258
|
if v2?
|
258
|
-
line if input
|
259
|
+
line if input.interactive?(:organization) || input.interactive?(:space)
|
259
260
|
select_org_and_space(input, info)
|
260
261
|
save_target_info(info)
|
261
262
|
end
|
@@ -364,60 +365,6 @@ module VMC
|
|
364
365
|
rescue CFoundry::APIError
|
365
366
|
end
|
366
367
|
|
367
|
-
def display_runtime(r)
|
368
|
-
if quiet?
|
369
|
-
line r.name
|
370
|
-
else
|
371
|
-
line "#{c(r.name, :name)}:"
|
372
|
-
|
373
|
-
indented do
|
374
|
-
line "description: #{b(r.description)}" if r.description
|
375
|
-
|
376
|
-
# TODO: probably won't have this in final version
|
377
|
-
line "apps: #{name_list(r.apps)}"
|
378
|
-
end
|
379
|
-
end
|
380
|
-
end
|
381
|
-
|
382
|
-
def display_service(s)
|
383
|
-
if quiet?
|
384
|
-
line s.label
|
385
|
-
else
|
386
|
-
line "#{c(s.label, :name)}:"
|
387
|
-
|
388
|
-
indented do
|
389
|
-
line "description: #{s.description}"
|
390
|
-
line "version: #{s.version}"
|
391
|
-
line "provider: #{s.provider}"
|
392
|
-
|
393
|
-
if v2?
|
394
|
-
line "plans:"
|
395
|
-
indented do
|
396
|
-
s.service_plans.sort_by(&:name).each do |p|
|
397
|
-
line "#{c(p.name, :name)}: #{p.description}"
|
398
|
-
end
|
399
|
-
end
|
400
|
-
end
|
401
|
-
end
|
402
|
-
end
|
403
|
-
end
|
404
|
-
|
405
|
-
def display_framework(f)
|
406
|
-
if quiet?
|
407
|
-
line f.name
|
408
|
-
else
|
409
|
-
line "#{c(f.name, :name)}:"
|
410
|
-
|
411
|
-
indented do
|
412
|
-
line "description: #{b(f.description)}" if f.description
|
413
|
-
|
414
|
-
# TODO: probably won't show this in final version; just for show
|
415
|
-
apps = f.apps.collect { |a| c(a.name, :name) }
|
416
|
-
line "apps: #{apps.empty? ? d("none") : apps.join(", ")}"
|
417
|
-
end
|
418
|
-
end
|
419
|
-
end
|
420
|
-
|
421
368
|
def org_valid?(guid, user = client.current_user)
|
422
369
|
return false unless guid
|
423
370
|
client.organization(guid).users.include? user
|
@@ -435,12 +382,11 @@ module VMC
|
|
435
382
|
def select_org_and_space(input, info)
|
436
383
|
changed_org = false
|
437
384
|
|
438
|
-
if input
|
439
|
-
!org_valid?(info[:organization])
|
385
|
+
if input.given?(:organization) || !org_valid?(info[:organization])
|
440
386
|
orgs = client.organizations
|
441
387
|
fail "No organizations!" if orgs.empty?
|
442
388
|
|
443
|
-
if
|
389
|
+
if orgs.size == 1 && !input.given?(:organization)
|
444
390
|
org = orgs.first
|
445
391
|
else
|
446
392
|
org = input[:organization, orgs.sort_by(&:name)]
|
@@ -455,16 +401,15 @@ module VMC
|
|
455
401
|
end
|
456
402
|
|
457
403
|
# switching org means switching space
|
458
|
-
if
|
459
|
-
!space_valid?(info[:space])
|
404
|
+
if changed_org || input.given?(:space) || !space_valid?(info[:space])
|
460
405
|
spaces = org.spaces
|
461
406
|
|
462
407
|
fail "No spaces!" if spaces.empty?
|
463
408
|
|
464
|
-
if
|
409
|
+
if spaces.size == 1 && !input.given?(:space)
|
465
410
|
space = spaces.first
|
466
411
|
else
|
467
|
-
line if
|
412
|
+
line if changed_org && input.interactive?(:organization)
|
468
413
|
space = input[:space, spaces.sort_by(&:name)]
|
469
414
|
end
|
470
415
|
|
data/vmc-ng/lib/vmc/cli.rb
CHANGED
@@ -38,25 +38,21 @@ module VMC
|
|
38
38
|
option :verbose, :alias => "-V", :type => :boolean,
|
39
39
|
:desc => "Print extra information"
|
40
40
|
|
41
|
-
option
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
option(:color, :type => :boolean, :default => true,
|
57
|
-
:desc => "Use colorful output") {
|
58
|
-
!input[:quiet]
|
59
|
-
}
|
41
|
+
option :force, :alias => "-f", :type => :boolean,
|
42
|
+
:default => proc { input[:script] },
|
43
|
+
:desc => "Skip interaction when possible"
|
44
|
+
|
45
|
+
option :quiet, :alias => "-q", :type => :boolean,
|
46
|
+
:default => proc { input[:script] },
|
47
|
+
:desc => "Simplify output format"
|
48
|
+
|
49
|
+
option :script, :type => :boolean,
|
50
|
+
:default => proc { !$stdout.tty? },
|
51
|
+
:desc => "Shortcut for --quiet and --force"
|
52
|
+
|
53
|
+
option :color, :type => :boolean,
|
54
|
+
:default => proc { !input[:quiet] },
|
55
|
+
:desc => "Use colorful output"
|
60
56
|
|
61
57
|
option :trace, :alias => "-t", :type => :boolean,
|
62
58
|
:desc => "Show API requests and responses"
|
data/vmc-ng/lib/vmc/spacing.rb
CHANGED
data/vmc-ng/lib/vmc/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1620813125
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
9
|
- 0
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 0.4.0.beta.
|
11
|
+
- 67
|
12
|
+
version: 0.4.0.beta.67
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- VMware
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-10-
|
20
|
+
date: 2012-10-16 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: json_pure
|
@@ -265,12 +265,12 @@ dependencies:
|
|
265
265
|
requirements:
|
266
266
|
- - ~>
|
267
267
|
- !ruby/object:Gem::Version
|
268
|
-
hash:
|
268
|
+
hash: 69
|
269
269
|
segments:
|
270
270
|
- 0
|
271
271
|
- 3
|
272
|
-
-
|
273
|
-
version: 0.3.
|
272
|
+
- 43
|
273
|
+
version: 0.3.43
|
274
274
|
type: :runtime
|
275
275
|
version_requirements: *id015
|
276
276
|
- !ruby/object:Gem::Dependency
|
@@ -297,12 +297,12 @@ dependencies:
|
|
297
297
|
requirements:
|
298
298
|
- - ~>
|
299
299
|
- !ruby/object:Gem::Version
|
300
|
-
hash:
|
300
|
+
hash: 17
|
301
301
|
segments:
|
302
302
|
- 0
|
303
303
|
- 2
|
304
|
-
-
|
305
|
-
version: 0.2.
|
304
|
+
- 3
|
305
|
+
version: 0.2.3
|
306
306
|
type: :runtime
|
307
307
|
version_requirements: *id017
|
308
308
|
- !ruby/object:Gem::Dependency
|