vmc 0.4.0.beta.69 → 0.4.0.beta.70
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/help.rb +1 -0
- data/vmc-ng/lib/vmc/cli/route.rb +103 -0
- data/vmc-ng/lib/vmc/version.rb +1 -1
- data/vmc-ng/lib/vmc.rb +1 -0
- metadata +7 -6
data/vmc-ng/lib/vmc/cli/help.rb
CHANGED
@@ -0,0 +1,103 @@
|
|
1
|
+
require "vmc/cli"
|
2
|
+
|
3
|
+
module VMC
|
4
|
+
class Route < CLI
|
5
|
+
def precondition
|
6
|
+
super
|
7
|
+
fail "This command is v2-only." unless v2?
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
desc "List routes in a space"
|
12
|
+
group :routes
|
13
|
+
def routes
|
14
|
+
routes =
|
15
|
+
with_progress("Getting routes") do
|
16
|
+
client.routes
|
17
|
+
end
|
18
|
+
|
19
|
+
line unless quiet?
|
20
|
+
|
21
|
+
table(
|
22
|
+
%w{host domain},
|
23
|
+
routes.sort_by { |r| "#{r.domain.name} #{r.host}" }.collect { |r|
|
24
|
+
[ c(r.host, :name),
|
25
|
+
r.domain.name
|
26
|
+
]
|
27
|
+
})
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
desc "Delete a route"
|
32
|
+
group :routes
|
33
|
+
input(:route, :argument => :optional,
|
34
|
+
:desc => "URL to map to the application") {
|
35
|
+
routes = client.routes
|
36
|
+
fail "No routes." if routes.empty?
|
37
|
+
|
38
|
+
ask "Which route?", :choices => routes.sort_by(&:name),
|
39
|
+
:display => proc(&:name)
|
40
|
+
}
|
41
|
+
input(:really, :type => :boolean, :forget => true,
|
42
|
+
:default => proc { force? || interact }) { |name, color|
|
43
|
+
ask("Really delete #{c(name, color)}?", :default => false)
|
44
|
+
}
|
45
|
+
input :all, :type => :boolean, :default => false,
|
46
|
+
:desc => "Delete all routes"
|
47
|
+
def delete_route
|
48
|
+
if input[:all]
|
49
|
+
return unless input[:really, "ALL ROUTES", :bad]
|
50
|
+
|
51
|
+
client.routes.each do |r|
|
52
|
+
invoke :delete_route, :route => r, :really => true
|
53
|
+
end
|
54
|
+
|
55
|
+
return
|
56
|
+
end
|
57
|
+
|
58
|
+
route = input[:route]
|
59
|
+
|
60
|
+
return unless input[:really, route.name, :name]
|
61
|
+
|
62
|
+
with_progress("Deleting route #{c(route.name, :name)}") do
|
63
|
+
route.delete!
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
desc "Create a route"
|
69
|
+
group :routes
|
70
|
+
input :url, :argument => :optional,
|
71
|
+
:desc => "Full route in URL form"
|
72
|
+
input(:host, :desc => "Host name") {
|
73
|
+
ask "Host name?"
|
74
|
+
}
|
75
|
+
input(:domain, :desc => "Domain to add the route to",
|
76
|
+
:from_given => find_by_name("domain")) { |domains|
|
77
|
+
ask "Which domain?", :choices => domains,
|
78
|
+
:display => proc(&:name)
|
79
|
+
}
|
80
|
+
def create_route
|
81
|
+
if url = input[:url]
|
82
|
+
host, domain_name = url.split(".", 2)
|
83
|
+
return invoke :create_route, {}, :host => host, :domain => domain_name
|
84
|
+
end
|
85
|
+
|
86
|
+
domain = input[:domain, client.current_organization.domains]
|
87
|
+
host = input[:host]
|
88
|
+
|
89
|
+
route = client.route
|
90
|
+
route.host = host
|
91
|
+
route.domain = domain
|
92
|
+
|
93
|
+
with_progress("Creating route #{c("#{host}.#{domain.name}", :name)}") do
|
94
|
+
route.create!
|
95
|
+
end
|
96
|
+
rescue CFoundry::APIError => e
|
97
|
+
line c(e.description, :error)
|
98
|
+
line
|
99
|
+
self.input = input.without(:host)
|
100
|
+
retry
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
data/vmc-ng/lib/vmc/version.rb
CHANGED
data/vmc-ng/lib/vmc.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: -1829125600
|
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
|
+
- 70
|
12
|
+
version: 0.4.0.beta.70
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- VMware
|
@@ -265,12 +265,12 @@ dependencies:
|
|
265
265
|
requirements:
|
266
266
|
- - ~>
|
267
267
|
- !ruby/object:Gem::Version
|
268
|
-
hash:
|
268
|
+
hash: 73
|
269
269
|
segments:
|
270
270
|
- 0
|
271
271
|
- 3
|
272
|
-
-
|
273
|
-
version: 0.3.
|
272
|
+
- 45
|
273
|
+
version: 0.3.45
|
274
274
|
type: :runtime
|
275
275
|
version_requirements: *id015
|
276
276
|
- !ruby/object:Gem::Dependency
|
@@ -459,6 +459,7 @@ files:
|
|
459
459
|
- vmc-ng/lib/vmc/cli/help.rb
|
460
460
|
- vmc-ng/lib/vmc/cli/interactive.rb
|
461
461
|
- vmc-ng/lib/vmc/cli/organization.rb
|
462
|
+
- vmc-ng/lib/vmc/cli/route.rb
|
462
463
|
- vmc-ng/lib/vmc/cli/service.rb
|
463
464
|
- vmc-ng/lib/vmc/cli/space.rb
|
464
465
|
- vmc-ng/lib/vmc/cli/start.rb
|