fog-terremark 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/Gemfile +1 -1
- data/README.md +3 -3
- data/Rakefile +4 -4
- data/fog-terremark.gemspec +4 -1
- data/gemfiles/Gemfile.1.9.2- +5 -5
- data/gemfiles/Gemfile.1.9.3+ +4 -4
- data/lib/fog/compute/terremark.rb +6 -6
- data/lib/fog/compute/terremark/mock.rb +4 -4
- data/lib/fog/compute/terremark/models/address.rb +2 -2
- data/lib/fog/compute/terremark/models/addresses.rb +1 -1
- data/lib/fog/compute/terremark/models/image.rb +1 -1
- data/lib/fog/compute/terremark/models/images.rb +2 -2
- data/lib/fog/compute/terremark/models/internetservice.rb +5 -5
- data/lib/fog/compute/terremark/models/network.rb +2 -2
- data/lib/fog/compute/terremark/models/networks.rb +1 -1
- data/lib/fog/compute/terremark/models/nodeservice.rb +7 -9
- data/lib/fog/compute/terremark/models/server.rb +8 -8
- data/lib/fog/compute/terremark/models/servers.rb +2 -2
- data/lib/fog/compute/terremark/models/task.rb +12 -12
- data/lib/fog/compute/terremark/models/tasks.rb +2 -2
- data/lib/fog/compute/terremark/models/vdc.rb +1 -1
- data/lib/fog/compute/terremark/models/vdcs.rb +2 -2
- data/lib/fog/compute/terremark/parser.rb +5 -5
- data/lib/fog/compute/terremark/requests/add_internet_service.rb +18 -18
- data/lib/fog/compute/terremark/requests/add_node_service.rb +18 -18
- data/lib/fog/compute/terremark/requests/configure_vapp.rb +9 -9
- data/lib/fog/compute/terremark/requests/create_internet_service.rb +14 -14
- data/lib/fog/compute/terremark/requests/delete_internet_service.rb +4 -4
- data/lib/fog/compute/terremark/requests/delete_node_service.rb +4 -4
- data/lib/fog/compute/terremark/requests/delete_public_ip.rb +4 -4
- data/lib/fog/compute/terremark/requests/delete_vapp.rb +3 -3
- data/lib/fog/compute/terremark/requests/deploy_vapp.rb +13 -13
- data/lib/fog/compute/terremark/requests/get_catalog.rb +10 -10
- data/lib/fog/compute/terremark/requests/get_catalog_item.rb +10 -10
- data/lib/fog/compute/terremark/requests/get_internet_services.rb +11 -11
- data/lib/fog/compute/terremark/requests/get_keys_list.rb +11 -11
- data/lib/fog/compute/terremark/requests/get_network.rb +12 -12
- data/lib/fog/compute/terremark/requests/get_network_ips.rb +4 -4
- data/lib/fog/compute/terremark/requests/get_node_services.rb +5 -5
- data/lib/fog/compute/terremark/requests/get_organization.rb +18 -18
- data/lib/fog/compute/terremark/requests/get_organizations.rb +5 -4
- data/lib/fog/compute/terremark/requests/get_public_ip.rb +7 -7
- data/lib/fog/compute/terremark/requests/get_public_ips.rb +15 -15
- data/lib/fog/compute/terremark/requests/get_task.rb +17 -17
- data/lib/fog/compute/terremark/requests/get_tasks_list.rb +10 -10
- data/lib/fog/compute/terremark/requests/get_vapp.rb +17 -17
- data/lib/fog/compute/terremark/requests/get_vapp_template.rb +10 -10
- data/lib/fog/compute/terremark/requests/get_vdc.rb +50 -50
- data/lib/fog/compute/terremark/requests/instantiate_vapp_template.rb +15 -15
- data/lib/fog/compute/terremark/requests/power_off.rb +13 -13
- data/lib/fog/compute/terremark/requests/power_on.rb +13 -13
- data/lib/fog/compute/terremark/requests/power_reset.rb +13 -13
- data/lib/fog/compute/terremark/requests/power_shutdown.rb +3 -3
- data/lib/fog/parsers/terremark.rb +20 -20
- data/lib/fog/parsers/terremark/get_catalog.rb +9 -9
- data/lib/fog/parsers/terremark/get_catalog_item.rb +10 -10
- data/lib/fog/parsers/terremark/get_internet_services.rb +30 -30
- data/lib/fog/parsers/terremark/get_keys_list.rb +14 -14
- data/lib/fog/parsers/terremark/get_network_ips.rb +6 -6
- data/lib/fog/parsers/terremark/get_node_services.rb +14 -14
- data/lib/fog/parsers/terremark/get_organization.rb +23 -23
- data/lib/fog/parsers/terremark/get_organizations.rb +3 -3
- data/lib/fog/parsers/terremark/get_public_ips.rb +8 -8
- data/lib/fog/parsers/terremark/get_tasks_list.rb +11 -11
- data/lib/fog/parsers/terremark/get_vapp_template.rb +9 -9
- data/lib/fog/parsers/terremark/get_vdc.rb +57 -57
- data/lib/fog/parsers/terremark/instantiate_vapp_template.rb +7 -7
- data/lib/fog/parsers/terremark/internet_service.rb +33 -33
- data/lib/fog/parsers/terremark/network.rb +13 -13
- data/lib/fog/parsers/terremark/node_service.rb +10 -10
- data/lib/fog/parsers/terremark/public_ip.rb +4 -4
- data/lib/fog/parsers/terremark/task.rb +6 -6
- data/lib/fog/parsers/terremark/vapp.rb +36 -36
- data/lib/fog/terremark.rb +6 -6
- data/lib/fog/terremark/vcloud.rb +5 -5
- data/lib/fog/terremark/vcloud/real.rb +8 -8
- data/lib/fog/terremark/version.rb +1 -1
- data/spec/cassettes/get_login_token.yml +2 -2
- data/spec/minitest_helper.rb +2 -2
- metadata +2 -3
- data/.hound.yml +0 -20
@@ -13,10 +13,10 @@ module Fog
|
|
13
13
|
# FIXME
|
14
14
|
def get_network_ips(network_id)
|
15
15
|
opts = {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
:expects => 200,
|
17
|
+
:method => "GET",
|
18
|
+
:parser => Fog::Parsers::Terremark::GetNetworkIps.new,
|
19
|
+
:path => "network/#{network_id}/ipAddresses"
|
20
20
|
}
|
21
21
|
if self.is_a?(Fog::Terremark::Ecloud::Real)
|
22
22
|
opts[:path] = "/extensions/network/#{network_id}/ips"
|
@@ -14,11 +14,11 @@ module Fog
|
|
14
14
|
#
|
15
15
|
def get_node_services(service_id)
|
16
16
|
request(
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
:expects => 200,
|
18
|
+
:method => "GET",
|
19
|
+
:parser => Fog::Parsers::Terremark::GetNodeServices.new,
|
20
|
+
:path => "api/extensions/v1.6/internetService/#{service_id}/nodeServices",
|
21
|
+
:override_path => true
|
22
22
|
)
|
23
23
|
end
|
24
24
|
end
|
@@ -10,19 +10,19 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
13
|
+
# * "description"<~String> - Description of organization
|
14
|
+
# * "links"<~Array> - An array of links to entities in the organization
|
15
|
+
# * "href"<~String> - location of link
|
16
|
+
# * "name"<~String> - name of link
|
17
|
+
# * "rel"<~String> - action to perform
|
18
|
+
# * "type"<~String> - type of link
|
19
|
+
# * "name"<~String> - Name of organization
|
20
20
|
def get_organization(organization_id)
|
21
21
|
response = request(
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
:expects => 200,
|
23
|
+
:method => "GET",
|
24
|
+
:parser => Fog::Parsers::Terremark::GetOrganization.new,
|
25
|
+
:path => "org/#{organization_id}"
|
26
26
|
)
|
27
27
|
response
|
28
28
|
end
|
@@ -33,19 +33,19 @@ module Fog
|
|
33
33
|
organization_id = organization_id.to_i
|
34
34
|
response = Excon::Response.new
|
35
35
|
|
36
|
-
if org =
|
36
|
+
if org = data[:organizations].detect { |attributes| attributes[:info][:id] == organization_id }
|
37
37
|
|
38
38
|
body = { "name" => org[:info][:name],
|
39
39
|
"href" => "#{@base_url}/org/#{org[:info][:id]}",
|
40
40
|
"Links" => [] }
|
41
41
|
|
42
42
|
body["Links"] = case self
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
43
|
+
when Fog::Terremark::Vcloud::Mock
|
44
|
+
_vdc_links(org[:vdcs][0])
|
45
|
+
when Fog::Terremark::Ecloud::Mock
|
46
|
+
org[:vdcs].map do |vdc|
|
47
|
+
_vdc_links(vdc)
|
48
|
+
end.flatten
|
49
49
|
end
|
50
50
|
|
51
51
|
response.status = 200
|
@@ -8,9 +8,9 @@ module Fog
|
|
8
8
|
# ==== Returns
|
9
9
|
# * response<~Excon::Response>:
|
10
10
|
# * body<~Array>:
|
11
|
-
# *
|
12
|
-
# *
|
13
|
-
# *
|
11
|
+
# * "description"<~String> - Description of organization
|
12
|
+
# * "links"<~Array> - An array of links to entities in the organization
|
13
|
+
# * "name"<~String> - Name of organization
|
14
14
|
def organizations
|
15
15
|
request(
|
16
16
|
:expects => 200,
|
@@ -34,7 +34,8 @@ module Fog
|
|
34
34
|
|
35
35
|
def org_fixture
|
36
36
|
data[:organizations].map do |organization|
|
37
|
-
{
|
37
|
+
{
|
38
|
+
"name" => organization[:info][:name],
|
38
39
|
"href" => "#{@base_url}/org/#{organization[:info][:id]}",
|
39
40
|
"type" => "application/vnd.vmware.vcloud.org+xml"
|
40
41
|
}
|
@@ -10,15 +10,15 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
13
|
+
# * "PublicIpAddresses"<~Array>
|
14
|
+
# * "href"<~String> - linke to item
|
15
|
+
# * "name"<~String> - name of item
|
16
16
|
def get_public_ip(public_ip_id)
|
17
17
|
opts = {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
:expects => 200,
|
19
|
+
:method => "GET",
|
20
|
+
:parser => Fog::Parsers::Terremark::PublicIp.new,
|
21
|
+
:path => "publicIps/#{public_ip_id}"
|
22
22
|
}
|
23
23
|
if self.class == Fog::Terremark::Ecloud::Real
|
24
24
|
opts[:path] = "extensions/publicIp/#{public_ip_id}"
|
@@ -10,15 +10,15 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
13
|
+
# * "PublicIpAddresses"<~Array>
|
14
|
+
# * "href"<~String> - link to item
|
15
|
+
# * "name"<~String> - name of item
|
16
16
|
def get_public_ips(vdc_id)
|
17
17
|
opts = {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
:expects => 200,
|
19
|
+
:method => "GET",
|
20
|
+
:parser => Fog::Parsers::Terremark::GetPublicIps.new,
|
21
|
+
:path => "vdc/#{vdc_id}/publicIps"
|
22
22
|
}
|
23
23
|
if self.class == Fog::Terremark::Ecloud::Real
|
24
24
|
opts[:path] = "extensions/vdc/#{vdc_id}/publicIps"
|
@@ -38,10 +38,10 @@ module Fog
|
|
38
38
|
vdc[:public_ips].each do |ip|
|
39
39
|
ip = { "name" => ip[:name],
|
40
40
|
"href" => case self
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
41
|
+
when Fog::Terremark::Ecloud::Mock
|
42
|
+
"#{@base_url}/extensions/publicIp/#{ip[:id]}"
|
43
|
+
when Fog::Terremark::Vcloud::Mock
|
44
|
+
"#{@base_url}/PublicIps/#{ip[:id]}"
|
45
45
|
end,
|
46
46
|
"id" => ip[:id].to_s }
|
47
47
|
body["PublicIpAddresses"] << ip
|
@@ -50,10 +50,10 @@ module Fog
|
|
50
50
|
response.body = body
|
51
51
|
response.headers = Fog::Compute::Terremark::Mock.headers(response.body,
|
52
52
|
case self
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
53
|
+
when Fog::Terremark::Ecloud::Mock
|
54
|
+
"application/vnd.tmrk.ecloud.publicIpsList+xml"
|
55
|
+
when Fog::Terremark::Vcloud::Mock
|
56
|
+
"application/xml; charset=utf-8"
|
57
57
|
end
|
58
58
|
)
|
59
59
|
else
|
@@ -10,25 +10,25 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
20
|
-
# *
|
21
|
-
# *
|
22
|
-
# *
|
23
|
-
# *
|
24
|
-
# *
|
25
|
-
# *
|
13
|
+
# * "endTime"<~String> - endTime of task
|
14
|
+
# * "href"<~String> - link to task
|
15
|
+
# * "startTime"<~String> - startTime of task
|
16
|
+
# * "status"<~String> - status of task
|
17
|
+
# * "type"<~String> - type of task
|
18
|
+
# * "Owner"<~String> -
|
19
|
+
# * "href"<~String> - href of owner
|
20
|
+
# * "name"<~String> - name of owner
|
21
|
+
# * "type"<~String> - type of owner
|
22
|
+
# * "Result"<~String> -
|
23
|
+
# * "href"<~String> - href of result
|
24
|
+
# * "name"<~String> - name of result
|
25
|
+
# * "type"<~String> - type of result
|
26
26
|
def get_task(task_id)
|
27
27
|
request(
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
:expects => 200,
|
29
|
+
:method => "GET",
|
30
|
+
:parser => Fog::Parsers::Terremark::Task.new,
|
31
|
+
:path => "task/#{task_id}"
|
32
32
|
)
|
33
33
|
end
|
34
34
|
end
|
@@ -10,18 +10,18 @@ module Fog
|
|
10
10
|
# ==== Returns
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
|
-
# *
|
14
|
-
# *
|
15
|
-
# *
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
13
|
+
# * "CatalogItems"<~Array>
|
14
|
+
# * "href"<~String> - linke to item
|
15
|
+
# * "name"<~String> - name of item
|
16
|
+
# * "type"<~String> - type of item
|
17
|
+
# * "description"<~String> - Description of catalog
|
18
|
+
# * "name"<~String> - Name of catalog
|
19
19
|
def get_tasks_list(tasks_list_id)
|
20
20
|
request(
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
21
|
+
:expects => 200,
|
22
|
+
:method => "GET",
|
23
|
+
:parser => Fog::Parsers::Terremark::GetTasksList.new,
|
24
|
+
:path => "tasksList/#{tasks_list_id}"
|
25
25
|
)
|
26
26
|
end
|
27
27
|
end
|
@@ -13,25 +13,25 @@ module Fog
|
|
13
13
|
|
14
14
|
# FIXME
|
15
15
|
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
20
|
-
# *
|
21
|
-
# *
|
22
|
-
# *
|
23
|
-
# *
|
24
|
-
# *
|
25
|
-
# *
|
26
|
-
# *
|
27
|
-
# *
|
28
|
-
# *
|
16
|
+
# * "endTime"<~String> - endTime of task
|
17
|
+
# * "href"<~String> - link to task
|
18
|
+
# * "startTime"<~String> - startTime of task
|
19
|
+
# * "status"<~String> - status of task
|
20
|
+
# * "type"<~String> - type of task
|
21
|
+
# * "Owner"<~String> -
|
22
|
+
# * "href"<~String> - href of owner
|
23
|
+
# * "name"<~String> - name of owner
|
24
|
+
# * "type"<~String> - type of owner
|
25
|
+
# * "Result"<~String> -
|
26
|
+
# * "href"<~String> - href of result
|
27
|
+
# * "name"<~String> - name of result
|
28
|
+
# * "type"<~String> - type of result
|
29
29
|
def get_vapp(vapp_id)
|
30
30
|
request(
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
:expects => 200,
|
32
|
+
:method => "GET",
|
33
|
+
:parser => Fog::Parsers::Terremark::Vapp.new,
|
34
|
+
:path => "vapp/#{vapp_id}"
|
35
35
|
)
|
36
36
|
end
|
37
37
|
end
|
@@ -13,18 +13,18 @@ module Fog
|
|
13
13
|
|
14
14
|
# FIXME
|
15
15
|
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
20
|
-
# *
|
21
|
-
# *
|
16
|
+
# * "CatalogItems"<~Array>
|
17
|
+
# * "href"<~String> - linke to item
|
18
|
+
# * "name"<~String> - name of item
|
19
|
+
# * "type"<~String> - type of item
|
20
|
+
# * "description"<~String> - Description of catalog
|
21
|
+
# * "name"<~String> - Name of catalog
|
22
22
|
def get_vapp_template(vapp_template_id)
|
23
23
|
request(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
:expects => 200,
|
25
|
+
:method => "GET",
|
26
|
+
:parser => Fog::Parsers::Terremark::GetVappTemplate.new,
|
27
|
+
:path => "vAppTemplate/#{vapp_template_id}"
|
28
28
|
)
|
29
29
|
end
|
30
30
|
end
|
@@ -13,18 +13,18 @@ module Fog
|
|
13
13
|
|
14
14
|
# FIXME
|
15
15
|
|
16
|
-
# *
|
17
|
-
# *
|
18
|
-
# *
|
19
|
-
# *
|
20
|
-
# *
|
21
|
-
# *
|
16
|
+
# * "CatalogItems"<~Array>
|
17
|
+
# * "href"<~String> - linke to item
|
18
|
+
# * "name"<~String> - name of item
|
19
|
+
# * "type"<~String> - type of item
|
20
|
+
# * "description"<~String> - Description of catalog
|
21
|
+
# * "name"<~String> - Name of catalog
|
22
22
|
def get_vdc(vdc_id)
|
23
23
|
request(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
:expects => 200,
|
25
|
+
:method => "GET",
|
26
|
+
:parser => Fog::Parsers::Terremark::GetVdc.new,
|
27
|
+
:path => "vdc/#{vdc_id}"
|
28
28
|
)
|
29
29
|
end
|
30
30
|
end
|
@@ -41,10 +41,10 @@ module Fog
|
|
41
41
|
"href" => "#{@base_url}/vdc/#{vdc[:id]}",
|
42
42
|
"StorageCapacity" => {},
|
43
43
|
"ComputeCapacity" => {
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
"InstantiatedVmsQuota" => {},
|
45
|
+
"DeployedVmsQuota" => {},
|
46
|
+
"Cpu" => {},
|
47
|
+
"Memory" => {}
|
48
48
|
},
|
49
49
|
"ResourceEntities" => [],
|
50
50
|
"AvailableNetworks" => [],
|
@@ -58,18 +58,18 @@ module Fog
|
|
58
58
|
|
59
59
|
body["ComputeCapacity"] = {
|
60
60
|
"InstantiatedVmsQuota" => {
|
61
|
-
|
62
|
-
|
61
|
+
"Limit" => "-1",
|
62
|
+
"Used" => "-1"
|
63
63
|
},
|
64
64
|
"DeployedVmsQuota" => {
|
65
|
-
|
66
|
-
|
65
|
+
"Limit" => "-1",
|
66
|
+
"Used" => "-1"
|
67
67
|
},
|
68
68
|
"Cpu" => {
|
69
|
-
|
69
|
+
"Units" => "hz * 10^6"
|
70
70
|
},
|
71
71
|
"Memory" => {
|
72
|
-
|
72
|
+
"Units" => "bytes * 2^20"
|
73
73
|
}
|
74
74
|
}
|
75
75
|
|
@@ -78,63 +78,63 @@ module Fog
|
|
78
78
|
end
|
79
79
|
|
80
80
|
body["links"] << {
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
81
|
+
"name" => "Public IPs",
|
82
|
+
"href" => "#{@base_url}/extensions/vdc/#{vdc[:id]}/publicIps",
|
83
|
+
"rel" => "down",
|
84
|
+
"type" => "application/vnd.tmrk.ecloud.publicIpsList+xml"
|
85
85
|
}
|
86
86
|
|
87
87
|
body["links"] << {
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
88
|
+
"name" => "Internet Services",
|
89
|
+
"href" => "#{@base_url}/extensions/vdc/#{vdc[:id]}/internetServices",
|
90
|
+
"rel" => "down",
|
91
|
+
"type" => "application/vnd.tmrk.ecloud.internetServicesList+xml"
|
92
92
|
}
|
93
93
|
|
94
94
|
body["links"] << {
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
95
|
+
"name" => "Firewall Access List",
|
96
|
+
"href" => "#{@base_url}/extensions/vdc/#{vdc[:id]}/firewallAcls",
|
97
|
+
"rel" => "down",
|
98
|
+
"type" => "application/vnd.tmrk.ecloud.firewallAclsList+xml"
|
99
99
|
}
|
100
100
|
|
101
101
|
when Fog::Terremark::Vcloud::Mock
|
102
102
|
body["links"] << {
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
103
|
+
"name" => "Public IPs",
|
104
|
+
"href" => "#{@base_url}/vdc/#{vdc[:id]}/publicIps",
|
105
|
+
"rel" => "down",
|
106
|
+
"type" => "application/xml"
|
107
107
|
}
|
108
108
|
|
109
109
|
body["links"] << {
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
"name" => "Internet Services",
|
111
|
+
"href" => "#{@base_url}/vdc/#{vdc[:id]}/internetServices",
|
112
|
+
"rel" => "down",
|
113
|
+
"type" => "application/xml"
|
114
114
|
}
|
115
115
|
end
|
116
116
|
|
117
117
|
vdc[:vms].each do |vm|
|
118
118
|
body["ResourceEntities"] << {
|
119
|
-
|
120
|
-
|
121
|
-
|
119
|
+
"name" => vm[:name],
|
120
|
+
"href" => "#{@base_url}/vapp/#{vm[:id]}",
|
121
|
+
"type" => "application/vnd.vmware.vcloud.vApp+xml"
|
122
122
|
}
|
123
123
|
end
|
124
124
|
|
125
125
|
vdc[:networks].each do |network|
|
126
126
|
body["AvailableNetworks"] << {
|
127
|
-
|
128
|
-
|
129
|
-
|
127
|
+
"name" => network[:name],
|
128
|
+
"href" => "#{@base_url}/network/#{network[:id]}",
|
129
|
+
"type" => "application/vnd.vmware.vcloud.network+xml"
|
130
130
|
}
|
131
131
|
end
|
132
132
|
|
133
133
|
body["links"] << {
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
134
|
+
"name" => vdc[:name],
|
135
|
+
"href" => "#{@base_url}/vdc/#{vdc[:id]}/catalog",
|
136
|
+
"rel" => "down",
|
137
|
+
"type" => "application/vnd.vmware.vcloud.catalog+xml"
|
138
138
|
}
|
139
139
|
|
140
140
|
response.status = 200
|