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
@@ -8,16 +8,16 @@ module Fog
|
|
8
8
|
|
9
9
|
def end_element(name)
|
10
10
|
case name
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
11
|
+
when "Description", "Href", "IpAddress", "Name", "Protocol"
|
12
|
+
@response[name] = value
|
13
|
+
when "Enabled"
|
14
|
+
if value == "false"
|
15
|
+
@response[name] = false
|
16
|
+
else
|
17
|
+
@response[name] = true
|
18
|
+
end
|
19
|
+
when "Id", "Port"
|
20
|
+
@response[name] = value.to_i
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -8,10 +8,10 @@ module Fog
|
|
8
8
|
|
9
9
|
def end_element(name)
|
10
10
|
case name
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
when "Href", "Name"
|
12
|
+
@response[name.downcase] = value
|
13
|
+
when "Id"
|
14
|
+
@response["id"] = value.to_i
|
15
15
|
end
|
16
16
|
end
|
17
17
|
end
|
@@ -9,12 +9,12 @@ module Fog
|
|
9
9
|
def start_element(name, attributes)
|
10
10
|
super
|
11
11
|
case name
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
12
|
+
when "Owner", "Result", "Link", "Error"
|
13
|
+
data = extract_attributes(attributes)
|
14
|
+
@response[name] = data
|
15
|
+
when "Task"
|
16
|
+
task = extract_attributes(attributes)
|
17
|
+
@response.merge!(task.reject { |key, _value| !["endTime", "href", "startTime", "status", "type"].include?(key) })
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -3,7 +3,7 @@ module Fog
|
|
3
3
|
module Terremark
|
4
4
|
class Vapp < Base
|
5
5
|
def reset
|
6
|
-
@response = {
|
6
|
+
@response = { "Links" => [], "VirtualHardware" => {}, "OperatingSystem" => {} }
|
7
7
|
@in_operating_system = false
|
8
8
|
@resource_type = nil
|
9
9
|
end
|
@@ -11,46 +11,46 @@ module Fog
|
|
11
11
|
def start_element(name, attributes)
|
12
12
|
super
|
13
13
|
case name
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
when "Link"
|
15
|
+
link = extract_attributes(attributes)
|
16
|
+
@response["Links"] << link
|
17
|
+
when "OperatingSystemSection"
|
18
|
+
@in_operating_system = true
|
19
|
+
when "VApp"
|
20
|
+
vapp = extract_attributes(attributes)
|
21
|
+
@response.merge!(vapp.reject { |key, _value| !["href", "name", "size", "status", "type"].include?(key) })
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
25
|
def end_element(name)
|
26
26
|
case name
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
27
|
+
when "IpAddress"
|
28
|
+
@response["IpAddress"] = value
|
29
|
+
when "Description"
|
30
|
+
if @in_operating_system
|
31
|
+
@response["OperatingSystem"][name] = value
|
32
|
+
@in_operating_system = false
|
33
|
+
end
|
34
|
+
when "ResourceType"
|
35
|
+
@resource_type = value
|
36
|
+
case value
|
37
|
+
when "3"
|
38
|
+
@get_cpu = true # cpu
|
39
|
+
when "4" # memory
|
40
|
+
@get_ram = true
|
41
|
+
when "17" # disks
|
42
|
+
@get_disks = true
|
43
|
+
end
|
44
|
+
when "VirtualQuantity"
|
45
|
+
case @resource_type
|
46
|
+
when "3"
|
47
|
+
@response["VirtualHardware"]["cpu"] = value
|
48
|
+
when "4"
|
49
|
+
@response["VirtualHardware"]["ram"] = value
|
50
|
+
when "17"
|
51
|
+
@response["VirtualHardware"]["disks"] ||= []
|
52
|
+
@response["VirtualHardware"]["disks"] << value
|
53
|
+
end
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
data/lib/fog/terremark.rb
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "fog/core"
|
2
|
+
require "fog/xml"
|
3
|
+
require File.expand_path("../terremark/version", __FILE__)
|
4
4
|
|
5
5
|
module Fog
|
6
6
|
module Terremark
|
7
|
-
autoload :Vcloud,
|
7
|
+
autoload :Vcloud, File.expand_path("../terremark/vcloud", __FILE__)
|
8
8
|
end
|
9
9
|
|
10
10
|
module Compute
|
11
|
-
autoload :Terremark,
|
11
|
+
autoload :Terremark, File.expand_path("../compute/terremark", __FILE__)
|
12
12
|
end
|
13
13
|
|
14
14
|
module Parsers
|
15
|
-
autoload :Terremark,
|
15
|
+
autoload :Terremark, File.expand_path("../parsers/terremark", __FILE__)
|
16
16
|
end
|
17
17
|
end
|
data/lib/fog/terremark/vcloud.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
module Fog
|
2
2
|
module Terremark
|
3
3
|
class Vcloud < Fog::Compute::Terremark
|
4
|
-
autoload :Mock,
|
5
|
-
autoload :Real,
|
4
|
+
autoload :Mock, File.expand_path("../vcloud/mock", __FILE__)
|
5
|
+
autoload :Real, File.expand_path("../vcloud/real", __FILE__)
|
6
6
|
|
7
|
-
HOST =
|
8
|
-
PATH =
|
7
|
+
HOST = "services.vcloudexpress.terremark.com"
|
8
|
+
PATH = "/api/v0.8a-ext1.6"
|
9
9
|
PORT = 443
|
10
|
-
SCHEME =
|
10
|
+
SCHEME = "https"
|
11
11
|
|
12
12
|
def self.new(options = {})
|
13
13
|
Fog::Logger.deprecation("Fog::Terremark::Vcloud is deprecated, to be replaced with Vcloud 1.0 someday/maybe [light_black](#{caller.first})[/]")
|
@@ -17,11 +17,11 @@ module Fog
|
|
17
17
|
def default_vdc_id
|
18
18
|
if default_organization_id
|
19
19
|
@default_vdc_id ||= begin
|
20
|
-
vdcs = get_organization(default_organization_id).body[
|
21
|
-
link[
|
22
|
-
|
20
|
+
vdcs = get_organization(default_organization_id).body["Links"].select do |link|
|
21
|
+
link["type"] == "application/vnd.vmware.vcloud.vdc+xml"
|
22
|
+
end
|
23
23
|
if vdcs.length == 1
|
24
|
-
vdcs.first[
|
24
|
+
vdcs.first["href"].split("/").last.to_i
|
25
25
|
else
|
26
26
|
nil
|
27
27
|
end
|
@@ -34,9 +34,9 @@ module Fog
|
|
34
34
|
def default_network_id
|
35
35
|
if default_vdc_id
|
36
36
|
@default_network_id ||= begin
|
37
|
-
networks = get_vdc(default_vdc_id).body[
|
37
|
+
networks = get_vdc(default_vdc_id).body["AvailableNetworks"]
|
38
38
|
if networks.length == 1
|
39
|
-
networks.first[
|
39
|
+
networks.first["href"].split("/").last.to_i
|
40
40
|
else
|
41
41
|
nil
|
42
42
|
end
|
@@ -49,9 +49,9 @@ module Fog
|
|
49
49
|
def default_public_ip_id
|
50
50
|
if default_vdc_id
|
51
51
|
@default_public_ip_id ||= begin
|
52
|
-
ips = get_public_ips(default_vdc_id).body[
|
52
|
+
ips = get_public_ips(default_vdc_id).body["PublicIpAddresses"]
|
53
53
|
if ips.length == 1
|
54
|
-
ips.first[
|
54
|
+
ips.first["href"].split("/").last.to_i
|
55
55
|
else
|
56
56
|
nil
|
57
57
|
end
|
@@ -5,7 +5,7 @@ http_interactions:
|
|
5
5
|
uri: https://services.vcloudexpress.terremark.com/api/v0.8a-ext1.6/login
|
6
6
|
body:
|
7
7
|
encoding: US-ASCII
|
8
|
-
string:
|
8
|
+
string: ""
|
9
9
|
headers:
|
10
10
|
User-Agent:
|
11
11
|
- fog-core/1.25.0
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
Cache-Control:
|
22
22
|
- private
|
23
23
|
Content-Length:
|
24
|
-
-
|
24
|
+
- "328"
|
25
25
|
Content-Type:
|
26
26
|
- application/vnd.vmware.vcloud.orgList+xml
|
27
27
|
Server:
|
data/spec/minitest_helper.rb
CHANGED
@@ -5,9 +5,9 @@ require "vcr"
|
|
5
5
|
|
6
6
|
Turn.config do |c|
|
7
7
|
# use one of output formats:
|
8
|
-
# :outline - turn
|
8
|
+
# :outline - turn"s original case/test outline mode [default]
|
9
9
|
# :progress - indicates progress with progress bar
|
10
|
-
# :dotted - test/unit
|
10
|
+
# :dotted - test/unit"s traditional dot-progress mode
|
11
11
|
# :pretty - new pretty reporter
|
12
12
|
# :marshal - dump output as YAML (normal run mode only)
|
13
13
|
# :cue - interactive testing
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-terremark
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paulo Henrique Lopes Ribeiro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fog-core
|
@@ -147,7 +147,6 @@ extensions: []
|
|
147
147
|
extra_rdoc_files: []
|
148
148
|
files:
|
149
149
|
- ".gitignore"
|
150
|
-
- ".hound.yml"
|
151
150
|
- ".rubocop.yml"
|
152
151
|
- ".ruby-gemset"
|
153
152
|
- ".ruby-version"
|
data/.hound.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Metrics/LineLength:
|
2
|
-
Enabled: false
|
3
|
-
|
4
|
-
Style/EachWithObject:
|
5
|
-
Enabled: false
|
6
|
-
|
7
|
-
Style/Encoding:
|
8
|
-
EnforcedStyle: when_needed
|
9
|
-
|
10
|
-
Style/FormatString:
|
11
|
-
Enabled: false
|
12
|
-
|
13
|
-
Style/HashSyntax:
|
14
|
-
EnforcedStyle: hash_rockets
|
15
|
-
|
16
|
-
Style/SignalException:
|
17
|
-
EnforcedStyle: only_raise
|
18
|
-
|
19
|
-
Style/StringLiterals:
|
20
|
-
EnforcedStyle: double_quotes
|