vmc 0.4.0.beta.18 → 0.4.0.beta.19
Sign up to get free protection for your applications and to get access to all the features.
- data/vmc-ng/lib/vmc/cli/service.rb +27 -16
- data/vmc-ng/lib/vmc/cli/start.rb +22 -17
- data/vmc-ng/lib/vmc/version.rb +1 -1
- metadata +7 -7
@@ -40,7 +40,13 @@ module VMC
|
|
40
40
|
:desc => "What kind of service (e.g. redis, mysql)",
|
41
41
|
:from_given => services_from_label) { |services|
|
42
42
|
[ask("What kind?", :choices => services.sort_by(&:label),
|
43
|
-
:display => proc { |s|
|
43
|
+
:display => proc { |s|
|
44
|
+
str = "#{c(s.label, :name)} v#{s.version}"
|
45
|
+
if s.provider != "core"
|
46
|
+
str << ", via #{s.provider}"
|
47
|
+
end
|
48
|
+
str
|
49
|
+
},
|
44
50
|
:complete => proc { |s| "#{s.label} v#{s.version}" })]
|
45
51
|
}
|
46
52
|
input(:name, :argument => true,
|
@@ -48,37 +54,42 @@ module VMC
|
|
48
54
|
random = sprintf("%x", rand(1000000))
|
49
55
|
ask "Name?", :default => "#{service.label}-#{random}"
|
50
56
|
}
|
51
|
-
input(:version, :desc => "Version of the service") { |services|
|
52
|
-
ask "Which version?", :choices => services,
|
53
|
-
:display => proc(&:version)
|
54
|
-
}
|
55
57
|
input(:plan, :desc => "Service plan",
|
56
58
|
:from_given => plan_from_name) { |plans|
|
57
|
-
|
58
|
-
|
59
|
-
|
59
|
+
if d100 = plans.find { |p| p.name == "D100" }
|
60
|
+
d100
|
61
|
+
else
|
62
|
+
ask "Which plan?", :choices => plans.sort_by(&:name),
|
63
|
+
:display => proc { |p| "#{p.name}: #{p.description}" },
|
64
|
+
:complete => proc(&:name)
|
65
|
+
end
|
60
66
|
}
|
67
|
+
input :provider, :desc => "Service provider"
|
61
68
|
input :bind, :alias => "--app",
|
62
69
|
:desc => "Application to immediately bind to"
|
63
70
|
def create_service(input)
|
64
71
|
services = client.services
|
65
72
|
|
66
|
-
|
73
|
+
if input[:provider]
|
74
|
+
services.reject! { |s| s.provider != input[:provider] }
|
75
|
+
end
|
67
76
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
77
|
+
until services.size < 2
|
78
|
+
services = input[:service, services]
|
79
|
+
input.forget(:service)
|
80
|
+
end
|
81
|
+
|
82
|
+
if services.empty?
|
83
|
+
fail "Cannot find services matching the given criteria."
|
72
84
|
end
|
73
85
|
|
74
|
-
|
75
|
-
plan = plans.find { |p| p.name == "D100" } || input[:plan, plans]
|
86
|
+
service = services.first
|
76
87
|
|
77
88
|
instance = client.service_instance
|
78
89
|
instance.name = input[:name, service]
|
79
90
|
|
80
91
|
if v2?
|
81
|
-
instance.service_plan = plan
|
92
|
+
instance.service_plan = input[:plan, service.service_plans]
|
82
93
|
instance.space = client.current_space
|
83
94
|
instance.credentials = {} # TODO: ?
|
84
95
|
else
|
data/vmc-ng/lib/vmc/cli/start.rb
CHANGED
@@ -2,6 +2,13 @@ require "vmc/cli"
|
|
2
2
|
|
3
3
|
module VMC
|
4
4
|
class Start < CLI
|
5
|
+
# Make sure we only show the target once
|
6
|
+
@@displayed_target = false
|
7
|
+
|
8
|
+
def displayed_target?
|
9
|
+
@@displayed_target
|
10
|
+
end
|
11
|
+
|
5
12
|
desc "Display information on the current target, user, etc."
|
6
13
|
group :start
|
7
14
|
input :runtimes, :type => :boolean,
|
@@ -113,12 +120,6 @@ module VMC
|
|
113
120
|
if !input.given?(:url) && !input.given?(:organization) &&
|
114
121
|
!input.given?(:space)
|
115
122
|
display_target
|
116
|
-
|
117
|
-
if v2? && client.current_organization && client.current_space
|
118
|
-
puts "Organization: #{c(client.current_organization.name, :name)}"
|
119
|
-
puts "Space: #{c(client.current_space.name, :name)}"
|
120
|
-
end
|
121
|
-
|
122
123
|
return
|
123
124
|
end
|
124
125
|
|
@@ -135,6 +136,7 @@ module VMC
|
|
135
136
|
return unless v2?
|
136
137
|
|
137
138
|
unless client.logged_in?
|
139
|
+
puts "" unless quiet?
|
138
140
|
invoke :login
|
139
141
|
@client = nil
|
140
142
|
end
|
@@ -187,10 +189,7 @@ module VMC
|
|
187
189
|
ask("Space", :choices => choices)
|
188
190
|
}
|
189
191
|
def login(input)
|
190
|
-
unless quiet?
|
191
|
-
display_target
|
192
|
-
puts ""
|
193
|
-
end
|
192
|
+
display_target unless quiet?
|
194
193
|
|
195
194
|
credentials =
|
196
195
|
{ :username => input[:username],
|
@@ -260,10 +259,7 @@ module VMC
|
|
260
259
|
input :login, :type => :boolean, :default => true,
|
261
260
|
:desc => "Automatically log in?"
|
262
261
|
def register(input)
|
263
|
-
unless quiet?
|
264
|
-
puts "Target: #{c(client_target, :name)}"
|
265
|
-
puts ""
|
266
|
-
end
|
262
|
+
display_target unless quiet?
|
267
263
|
|
268
264
|
email = input[:email]
|
269
265
|
password = input[:password]
|
@@ -277,9 +273,7 @@ module VMC
|
|
277
273
|
end
|
278
274
|
|
279
275
|
if input[:login]
|
280
|
-
|
281
|
-
save_token(client.login(email, password))
|
282
|
-
end
|
276
|
+
invoke :login, :username => email, :password => password
|
283
277
|
end
|
284
278
|
end
|
285
279
|
|
@@ -295,11 +289,22 @@ module VMC
|
|
295
289
|
private
|
296
290
|
|
297
291
|
def display_target
|
292
|
+
return if @@displayed_target
|
293
|
+
|
298
294
|
if quiet?
|
299
295
|
puts client.target
|
300
296
|
else
|
301
297
|
puts "Target: #{c(client.target, :name)}"
|
298
|
+
|
299
|
+
if v2? && client.current_organization && client.current_space
|
300
|
+
puts "Organization: #{c(client.current_organization.name, :name)}"
|
301
|
+
puts "Space: #{c(client.current_space.name, :name)}"
|
302
|
+
end
|
302
303
|
end
|
304
|
+
|
305
|
+
puts ""
|
306
|
+
|
307
|
+
@@displayed_target = true
|
303
308
|
end
|
304
309
|
|
305
310
|
def display_runtime(r)
|
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: 62196421
|
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
|
+
- 19
|
12
|
+
version: 0.4.0.beta.19
|
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-07-
|
20
|
+
date: 2012-07-16 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: json_pure
|
@@ -249,12 +249,12 @@ dependencies:
|
|
249
249
|
requirements:
|
250
250
|
- - ~>
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
hash:
|
252
|
+
hash: 25
|
253
253
|
segments:
|
254
254
|
- 0
|
255
255
|
- 3
|
256
|
-
-
|
257
|
-
version: 0.3.
|
256
|
+
- 5
|
257
|
+
version: 0.3.5
|
258
258
|
type: :runtime
|
259
259
|
version_requirements: *id014
|
260
260
|
- !ruby/object:Gem::Dependency
|