Module: Fog::Identity

Defined in:
lib/fog/identity.rb,
lib/fog/openstack/identity.rb,
lib/fog/openstack/models/identity/role.rb,
lib/fog/openstack/models/identity/user.rb,
lib/fog/openstack/models/identity/roles.rb,
lib/fog/openstack/models/identity/users.rb,
lib/fog/openstack/models/identity/tenant.rb,
lib/fog/openstack/models/identity/tenants.rb,
lib/fog/openstack/requests/identity/get_role.rb,
lib/fog/openstack/requests/identity/get_tenant.rb,
lib/fog/openstack/requests/identity/list_roles.rb,
lib/fog/openstack/requests/identity/list_users.rb,
lib/fog/openstack/requests/identity/set_tenant.rb,
lib/fog/openstack/requests/identity/check_token.rb,
lib/fog/openstack/requests/identity/create_role.rb,
lib/fog/openstack/requests/identity/create_user.rb,
lib/fog/openstack/requests/identity/delete_role.rb,
lib/fog/openstack/requests/identity/delete_user.rb,
lib/fog/openstack/requests/identity/update_user.rb,
lib/fog/openstack/models/identity/ec2_credential.rb,
lib/fog/openstack/requests/identity/list_tenants.rb,
lib/fog/openstack/models/identity/ec2_credentials.rb,
lib/fog/openstack/requests/identity/create_tenant.rb,
lib/fog/openstack/requests/identity/delete_tenant.rb,
lib/fog/openstack/requests/identity/update_tenant.rb,
lib/fog/openstack/requests/identity/get_user_by_id.rb,
lib/fog/openstack/requests/identity/validate_token.rb,
lib/fog/openstack/requests/identity/create_user_role.rb,
lib/fog/openstack/requests/identity/delete_user_role.rb,
lib/fog/openstack/requests/identity/get_user_by_name.rb,
lib/fog/openstack/requests/identity/get_tenants_by_id.rb,
lib/fog/openstack/requests/identity/add_user_to_tenant.rb,
lib/fog/openstack/requests/identity/get_ec2_credential.rb,
lib/fog/openstack/requests/identity/get_tenants_by_name.rb,
lib/fog/openstack/requests/identity/list_ec2_credentials.rb,
lib/fog/openstack/requests/identity/create_ec2_credential.rb,
lib/fog/openstack/requests/identity/delete_ec2_credential.rb,
lib/fog/openstack/requests/identity/list_user_global_roles.rb,
lib/fog/openstack/requests/identity/remove_user_from_tenant.rb,
lib/fog/openstack/requests/identity/list_endpoints_for_token.rb,
lib/fog/openstack/requests/identity/list_roles_for_user_on_tenant.rb

Defined Under Namespace

Classes: OpenStack

Class Method Summary collapse

Class Method Details

.[](provider) ⇒ Object



4
5
6
# File 'lib/fog/identity.rb', line 4

def self.[](provider)
  self.new(:provider => provider)
end

.new(attributes) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/fog/identity.rb', line 8

def self.new(attributes)
  attributes = attributes.dup # Prevent delete from having side effects
  case provider = attributes.delete(:provider).to_s.downcase.to_sym
  when :rackspace
    require 'fog/rackspace/identity'
    Fog::Rackspace::Identity.new(attributes)
  else
    if self.providers.include?(provider)
      require "fog/#{provider}/identity"
      return Fog::Identity.const_get(Fog.providers[provider]).new(attributes)
    end
    raise ArgumentError.new("#{provider} has no identity service")
  end
end

.providersObject



23
24
25
# File 'lib/fog/identity.rb', line 23

def self.providers
  Fog.services[:identity]
end