Class: ChefMetalFog::Providers::Rackspace

Inherits:
FogDriver
  • Object
show all
Defined in:
lib/chef_metal_fog/providers/rackspace.rb

Constant Summary

Constants inherited from FogDriver

FogDriver::DEFAULT_OPTIONS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from FogDriver

__new__, #allocate_machine, #allocate_machines, canonicalize_url, #compute, #compute_options, #connect_to_machine, #destroy_machine, from_provider, from_url, #image_for, inherited, #initialize, new, #provider, provider_class_for, #ready_machine, register_provider_class, #stop_machine, #transport_for

Constructor Details

This class inherits a constructor from ChefMetalFog::FogDriver

Class Method Details

.compute_options_for(provider, id, config) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/chef_metal_fog/providers/rackspace.rb', line 12

def self.compute_options_for(provider, id, config)
  new_compute_options = {}
  new_compute_options[:provider] = provider
  new_config = { :driver_options => { :compute_options => new_compute_options }}
  new_defaults = {
    :driver_options => { :compute_options => {} },
    :machine_options => { :bootstrap_options => {} }
  }
  result = Cheffish::MergedConfig.new(new_config, config, new_defaults)

  new_compute_options[:rackspace_auth_url] = id if (id && id != '')
  credential = Fog.credentials

  new_compute_options[:rackspace_username] ||= credential[:rackspace_username]
  new_compute_options[:rackspace_api_key] ||= credential[:rackspace_api_key]
  new_compute_options[:rackspace_auth_url] ||= credential[:rackspace_auth_url]
  new_compute_options[:rackspace_region] ||= credential[:rackspace_region]
  new_compute_options[:rackspace_endpoint] ||= credential[:rackspace_endpoint]

  id = result[:driver_options][:compute_options][:rackspace_auth_url]

  [result, id]
end

Instance Method Details

#creatorObject



8
9
10
# File 'lib/chef_metal_fog/providers/rackspace.rb', line 8

def creator
  compute_options[:rackspace_username]
end