af 0.5.0.beta.5 → 0.5.0.beta.6
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.
- checksums.yaml +8 -8
- data/lib/af/version.rb +1 -1
- data/lib/vmc/cli/app/start.rb +1 -1
- data/lib/vmc/cli/route/map.rb +58 -10
- data/lib/vmc/cli/route/unmap.rb +60 -9
- data/lib/vmc/cli/service/create.rb +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDhjMjcyMGIzZWJiOGQ3ODkzYmMyN2U5OTRkZGZjMGVjZjJlOGY3NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTQyNGM4YmJjOWU0M2Q3ZTIxZmE2OGI5MDRjOGQwMjBlNmYzNDllNA==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTAyZDhlZDgwNDEyYTlkOTYwMzI5YTllN2I1NGNjZTUyZmI1ZjQyNDBhMjhm
|
10
|
+
NTFjMjczYTAyZDFhMDMxZDg1N2Q5ZGM2MDI0Yjc5ODI2MDNhZGRkYWIzZDYw
|
11
|
+
OTc3YWQ0YjU4ZTU0NmM1MGNhY2RmNzQ3ZjUyYzM0YmE4YzIzZmE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzQ5YjYxODU2NjQ0ZjY2ZWM2YjAwMGNiOTQ4Zjk2ZmI2MDkwZDlkMDBhNzI4
|
14
|
+
ZTdkNjM3N2YzZTNmYTRmNGNmZTg4MDI0YzhlZDQ3MTUyZjhmZjU5ZWI0NmM4
|
15
|
+
ZjlmMjJjMDA2NWM0MWExNWYwYzBiYWVmZTZmOWEwMDBhMjJkOGM=
|
data/lib/af/version.rb
CHANGED
data/lib/vmc/cli/app/start.rb
CHANGED
data/lib/vmc/cli/route/map.rb
CHANGED
@@ -5,28 +5,76 @@ module VMC::Route
|
|
5
5
|
def precondition; end
|
6
6
|
|
7
7
|
desc "Add a URL mapping"
|
8
|
-
group :apps, :info
|
8
|
+
group :apps, :info, :hidden => true
|
9
9
|
input :app, :desc => "Application to add the URL to",
|
10
10
|
:argument => :optional, :from_given => by_name(:app)
|
11
|
-
input :
|
11
|
+
input :host, :desc => "Host name for the route",
|
12
|
+
:argument => :optional, :default => ""
|
13
|
+
input :domain, :desc => "Domain to add the route to",
|
14
|
+
:argument => true,
|
15
|
+
:from_given => proc { |name, space|
|
16
|
+
if v2?
|
17
|
+
space.domain_by_name(name) ||
|
18
|
+
fail_unknown("domain", name)
|
19
|
+
else
|
20
|
+
name
|
21
|
+
end
|
22
|
+
}
|
12
23
|
def map
|
13
24
|
app = input[:app]
|
14
|
-
|
25
|
+
space = app.space if v2?
|
15
26
|
|
16
|
-
|
17
|
-
|
18
|
-
|
27
|
+
host = input[:host]
|
28
|
+
domain = input[:domain, space]
|
29
|
+
|
30
|
+
if v2?
|
31
|
+
route = find_or_create_route(domain, host, space)
|
32
|
+
bind_route(route, app) if app
|
33
|
+
else
|
34
|
+
with_progress("Updating #{c(app.name, :name)}") do
|
35
|
+
app.urls << domain
|
36
|
+
app.update!
|
37
|
+
end
|
19
38
|
end
|
20
39
|
end
|
21
40
|
|
22
41
|
private
|
23
42
|
|
24
|
-
def
|
25
|
-
|
43
|
+
def bind_route(route, app)
|
44
|
+
with_progress("Binding #{c(route.name, :name)} to #{c(app.name, :name)}") do
|
45
|
+
app.add_route(route)
|
46
|
+
end
|
26
47
|
end
|
27
48
|
|
28
|
-
def
|
29
|
-
|
49
|
+
def find_or_create_route(domain, host, space)
|
50
|
+
find_route(domain, host) || create_route(domain, host, space)
|
51
|
+
end
|
52
|
+
|
53
|
+
def find_route(domain, host)
|
54
|
+
client.routes_by_host(host, :depth => 0).find { |r| r.domain == domain }
|
55
|
+
end
|
56
|
+
|
57
|
+
def create_route(domain, host, space)
|
58
|
+
route = client.route
|
59
|
+
route.host = host
|
60
|
+
route.domain = domain
|
61
|
+
route.space = space
|
62
|
+
|
63
|
+
with_progress("Creating route #{c(route.name, :name)}") do
|
64
|
+
route.create!
|
65
|
+
end
|
66
|
+
|
67
|
+
route
|
68
|
+
end
|
69
|
+
|
70
|
+
def find_domain(space, name)
|
71
|
+
domain = space.domain_by_name(name, :depth => 0)
|
72
|
+
fail "Invalid domain '#{name}'" unless domain
|
73
|
+
domain
|
74
|
+
end
|
75
|
+
|
76
|
+
def ask_app
|
77
|
+
ask("Which application?", :choices => client.apps, :display => proc(&:name))
|
30
78
|
end
|
31
79
|
end
|
32
80
|
end
|
data/lib/vmc/cli/route/unmap.rb
CHANGED
@@ -3,23 +3,70 @@ require "vmc/cli/route/base"
|
|
3
3
|
module VMC::Route
|
4
4
|
class Unmap < Base
|
5
5
|
desc "Remove a URL mapping"
|
6
|
-
group :apps, :info
|
6
|
+
group :apps, :info, :hidden => true
|
7
|
+
input :url, :desc => "URL to unmap", :argument => :optional,
|
8
|
+
:from_given => find_by_name("route") { client.routes }
|
7
9
|
input :app, :desc => "Application to remove the URL from",
|
8
10
|
:argument => :optional, :from_given => by_name(:app)
|
9
|
-
input :
|
11
|
+
input :delete, :desc => "Delete route", :type => :boolean
|
10
12
|
input :all, :desc => "Act on all routes", :type => :boolean
|
13
|
+
input :really, :type => :boolean, :forget => true, :hidden => true,
|
14
|
+
:default => proc { force? || interact }
|
11
15
|
def unmap
|
16
|
+
return invoke :v1_unmap, input.inputs, input.given unless v2?
|
17
|
+
|
18
|
+
if input[:all]
|
19
|
+
if input.has?(:app)
|
20
|
+
app = target = input[:app]
|
21
|
+
return unless !input[:delete] || input[:really, "ALL URLS bound to #{target.name}", :bad]
|
22
|
+
else
|
23
|
+
target = client
|
24
|
+
return unless !input[:delete] || input[:really, "ALL URLS", :bad]
|
25
|
+
end
|
26
|
+
|
27
|
+
target.routes.each do |r|
|
28
|
+
begin
|
29
|
+
invoke :unmap, :delete => input[:delete], :url => r, :really => true, :app => app
|
30
|
+
rescue CFoundry::APIError => e
|
31
|
+
err "#{e.class}: #{e.message}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
return
|
36
|
+
end
|
37
|
+
|
12
38
|
app = input[:app]
|
39
|
+
url = input[:url, app ? app.routes : client.routes]
|
40
|
+
|
41
|
+
if input[:delete]
|
42
|
+
with_progress("Deleting route #{c(url.name, :name)}") do
|
43
|
+
url.delete!
|
44
|
+
end
|
45
|
+
elsif app
|
46
|
+
with_progress("Unbinding #{c(url.name, :name)} from #{c(app.name, :name)}") do
|
47
|
+
app.remove_route(url)
|
48
|
+
end
|
49
|
+
else
|
50
|
+
fail "Missing either --delete or --app."
|
51
|
+
end
|
52
|
+
end
|
13
53
|
|
14
|
-
fail "No urls to unmap." if app.urls.empty?
|
15
54
|
|
16
|
-
|
55
|
+
desc "V1 ONLY UNMAP YOU SHOULD NOT SEE THIS"
|
56
|
+
input :url, :desc => "URL to unmap", :argument => :optional,
|
57
|
+
:interact => :v1_ask_url
|
58
|
+
input :app, :desc => "Application to remove the URL from",
|
59
|
+
:argument => :optional, :from_given => by_name(:app)
|
60
|
+
input :all, :desc => "Act on all routes", :type => :boolean
|
61
|
+
def v1_unmap
|
62
|
+
app = input[:app]
|
63
|
+
url = input[:url, app.urls] unless input[:all]
|
17
64
|
|
18
65
|
with_progress("Updating #{c(app.name, :name)}") do |s|
|
19
66
|
if input[:all]
|
20
67
|
app.urls = []
|
21
68
|
else
|
22
|
-
simple = url.
|
69
|
+
simple = url.sub(/^https?:\/\/(.*)\/?/i, '\1')
|
23
70
|
|
24
71
|
unless app.urls.delete(simple)
|
25
72
|
fail "URL #{url} is not mapped to this application."
|
@@ -32,12 +79,16 @@ module VMC::Route
|
|
32
79
|
|
33
80
|
private
|
34
81
|
|
35
|
-
def ask_app
|
36
|
-
ask("Which application?", :choices => client.apps, :display => proc(&:name))
|
37
|
-
end
|
38
|
-
|
39
82
|
def ask_url(choices)
|
40
83
|
ask("Which URL?", :choices => choices.sort_by(&:name), :display => proc(&:name))
|
41
84
|
end
|
85
|
+
|
86
|
+
def v1_ask_url(choices)
|
87
|
+
ask("Which URL?", :choices => choices.sort)
|
88
|
+
end
|
89
|
+
|
90
|
+
def ask_really(name, color)
|
91
|
+
ask("Really delete #{c(name, color)}?", :default => false)
|
92
|
+
end
|
42
93
|
end
|
43
94
|
end
|
@@ -92,12 +92,12 @@ module VMC::Service
|
|
92
92
|
|
93
93
|
private
|
94
94
|
|
95
|
-
def ask_infra
|
96
|
-
|
95
|
+
def ask_infra
|
96
|
+
ask("Infrastructure?", :choices => client.infras,
|
97
97
|
:display => proc { |s|
|
98
98
|
str = "#{c(s.name, :name)} - #{s.description}"
|
99
99
|
},
|
100
|
-
:complete => proc { |s| "#{s.name} #{s.description}" })
|
100
|
+
:complete => proc { |s| "#{s.name} #{s.description}" })
|
101
101
|
end
|
102
102
|
|
103
103
|
def ask_offering(offerings)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: af
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.0.beta.
|
4
|
+
version: 0.5.0.beta.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cloud Foundry Team
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03-
|
12
|
+
date: 2013-03-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json_pure
|