Class: Fog::Vcloud::Real
- Inherits:
-
Object
- Object
- Fog::Vcloud::Real
- 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
Instance Attribute Summary collapse
-
#login_uri ⇒ Object
Returns the value of attribute login_uri.
-
#supported_versions ⇒ Object
readonly
Returns the value of attribute supported_versions.
-
#versions_uri ⇒ Object
readonly
Returns the value of attribute versions_uri.
Instance Method Summary collapse
- #default_organization_uri ⇒ Object
-
#initialize(options = {}) ⇒ Real
constructor
A new instance of Real.
- #login ⇒ Object
- #reload ⇒ Object
-
#request(params) ⇒ Object
If the cookie isn’t set, do a get_organizations call to set it and try the request.
- #vdcs(options = {}) ⇒ Object
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 58 |
# File 'lib/fog/vcloud.rb', line 49 def initialize( = {}) @connections = {} @versions_uri = URI.parse([:versions_uri]) @module = [:module] @version = [:version] @username = [:username] @password = [:password] @login_uri = get_login_uri @persistent = [: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 |
#supported_versions ⇒ Object (readonly)
Returns the value of attribute supported_versions.
47 48 49 |
# File 'lib/fog/vcloud.rb', line 47 def supported_versions @supported_versions end |
#versions_uri ⇒ Object (readonly)
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
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/fog/vcloud.rb', line 60 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
76 77 78 |
# File 'lib/fog/vcloud.rb', line 76 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
83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/fog/vcloud.rb', line 83 def request(params) unless @cookie do_login end begin do_request(params) rescue Excon::Errors::Unauthorized => e do_login do_request(params) end end |