Module: Fog::Vcloud

Defined in:
lib/fog/vcloud.rb,
lib/fog/vcloud/terremark/all.rb,
lib/fog/vcloud/requests/login.rb,
lib/fog/vcloud/requests/get_vdc.rb,
lib/fog/vcloud/terremark/ecloud.rb,
lib/fog/vcloud/terremark/vcloud.rb,
lib/fog/vcloud/requests/get_versions.rb,
lib/fog/vcloud/requests/get_organization.rb,
lib/fog/vcloud/terremark/ecloud/requests/login.rb,
lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb,
lib/fog/vcloud/terremark/vcloud/requests/get_vdc.rb

Defined Under Namespace

Modules: Options, Terremark Classes: Mock, Real, UnsupportedVersion

Class Method Summary collapse

Class Method Details

.new(credentials = {}) ⇒ Object



251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
# File 'lib/fog/vcloud.rb', line 251

def new(credentials = {})
  unless @required
    require 'fog/vcloud/parser'
    require 'fog/vcloud/terremark/vcloud'
    require 'fog/vcloud/terremark/ecloud'
    require 'fog/vcloud/requests/get_organization'
    require 'fog/vcloud/requests/get_vdc'
    require 'fog/vcloud/requests/get_versions'
    require 'fog/vcloud/requests/login'
    require 'fog/vcloud/parsers/get_organization'
    require 'fog/vcloud/parsers/get_vdc'
    require 'fog/vcloud/parsers/get_versions'
    require 'fog/vcloud/parsers/login'

    Struct.new("VcloudLink", :rel, :href, :type, :name)
    Struct.new("VcloudVdc", :links, :href, :type, :name, :xmlns, :allocation_model, :description)
    Struct.new("VcloudOrganization", :links, :name, :href, :type, :xmlns, :description)
    Struct.new("VcloudVersion", :version, :login_url, :supported)
    Struct.new("VcloudOrgList", :organizations, :xmlns)
    Struct.new("VcloudOrgLink", :name, :href, :type)
    @required = true
  end

  instance = if Fog.mocking?
    Fog::Vcloud::Mock.new(credentials)
  else
    Fog::Vcloud::Real.new(credentials)
  end

  if mod = credentials[:module]
    instance.extend eval "#{mod}"
  end

  instance
end