Class: Fog::Vcloud::Real
- Inherits:
-
Object
show all
- Extended by:
- Generators
- Defined in:
- lib/fog/vcloud.rb,
lib/fog/vcloud/models/vdcs.rb,
lib/fog/vcloud/requests/login.rb,
lib/fog/vcloud/requests/get_vdc.rb,
lib/fog/vcloud/requests/get_network.rb,
lib/fog/vcloud/requests/get_versions.rb,
lib/fog/vcloud/requests/get_organization.rb
Direct Known Subclasses
Mock
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Generators
basic_request, unauthenticated_basic_request
Constructor Details
#initialize(options = {}) ⇒ Real
Returns a new instance of Real.
49
50
51
52
53
54
55
56
57
|
# File 'lib/fog/vcloud.rb', line 49
def initialize(options = {})
@connections = {}
@versions_uri = URI.parse(options[:versions_uri])
@module = options[:module]
@version = options[:version]
@username = options[:username]
@password = options[:password]
@persistent = options[:persistent]
end
|
Instance Attribute Details
#login_uri ⇒ Object
Returns the value of attribute login_uri.
46
47
48
|
# File 'lib/fog/vcloud.rb', line 46
def login_uri
@login_uri
end
|
#versions_uri ⇒ Object
Returns the value of attribute versions_uri.
47
48
49
|
# File 'lib/fog/vcloud.rb', line 47
def versions_uri
@versions_uri
end
|
Instance Method Details
#default_organization_uri ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/fog/vcloud.rb', line 59
def default_organization_uri
@default_organization_uri ||= begin
unless @login_results
do_login
end
case @login_results.body[:Org]
when Array
@login_results.body[:Org].first[:href]
when Hash
@login_results.body[:Org][:href]
else
nil
end
end
end
|
#login ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
|
# File 'lib/fog/vcloud/requests/login.rb', line 7
def login
unauthenticated_request({
:expects => 200,
:headers => {
'Authorization' =>
},
:method => 'POST',
:parse => true,
:uri => @login_uri
})
end
|
#reload ⇒ Object
81
82
83
|
# File 'lib/fog/vcloud.rb', line 81
def reload
@connections.each_value { |k,v| v.reset if v }
end
|
#request(params) ⇒ Object
If the cookie isn’t set, do a get_organizations call to set it and try the request. If we get an Unauthorized error, we assume the token expired, re-auth and try again
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/fog/vcloud.rb', line 88
def request(params)
unless @cookie
do_login
end
begin
do_request(params)
rescue Excon::Errors::Unauthorized => e
do_login
do_request(params)
end
end
|
#supported_versions ⇒ Object
100
101
102
|
# File 'lib/fog/vcloud.rb', line 100
def supported_versions
@supported_versions ||= get_versions(@versions_uri).body[:VersionInfo]
end
|
#vdcs(options = {}) ⇒ Object
5
6
7
|
# File 'lib/fog/vcloud/models/vdcs.rb', line 5
def vdcs(options = {})
@vdcs ||= Fog::Vcloud::Vdcs.new(options.merge(:connection => self))
end
|
#xmlns ⇒ Object
75
76
77
78
79
|
# File 'lib/fog/vcloud.rb', line 75
def xmlns
{ "xmlns" => "http://www.vmware.com/vcloud/v0.8",
"xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
"xmlns:xsd" => "http://www.w3.org/2001/XMLSchema" }
end
|