class Miasma::Contrib::RackspaceApiCore

Rackspace API core helper

Constants

API_MAP

@return [Smash] Mapping to external service name @note [“cloudFilesCDN”, “cloudFiles”, “cloudBlockStorage”, “cloudImages”, “cloudQueues”, “cloudBigData”, “cloudOrchestration”, “cloudServersOpenStack”, “autoscale”, “cloudDatabases”, “cloudBackup”, “cloudMetrics”, “cloudLoadBalancers”, “cloudNetworks”, “cloudFeeds”, “cloudMonitoring”, “cloudDNS”]

AUTH_ENDPOINT

@return [Smash] Authentication endpoints

Public Class Methods

new(creds) click to toggle source

Create a new api instance

@param creds [Smash] credential hash @return [self]

Calls superclass method
# File lib/miasma/contrib/rackspace.rb, line 86
def initialize(creds)
  if(creds[:rackspace_region].to_s == 'lon')
    endpoint = AUTH_ENDPOINT[:uk]
  else
    endpoint = AUTH_ENDPOINT[:us]
  end
  super Smash.new(
    :open_stack_username => creds[:rackspace_username],
    :open_stack_token => creds[:rackspace_api_key],
    :open_stack_region => creds[:rackspace_region],
    :open_stack_identity_url => endpoint
  )
end

Public Instance Methods

account_id() click to toggle source

@return [String] ID of account

# File lib/miasma/contrib/rackspace.rb, line 101
def account_id
  identity.token[:tenant][:id]
end