1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
module Fog
module OpenStack
class Identity < Fog::Service
autoload :V2, 'fog/openstack/identity/v2'
autoload :V3, 'fog/openstack/identity/v3'
def self.new(args = {})
if args[:openstack_identity_api_version] =~ /(v)*2(\.0)*/i
Fog::OpenStack::Identity::V2.new(args)
else
Fog::OpenStack::Identity::V3.new(args)
end
end
class Mock
attr_reader :config
def initialize(options = {})
@openstack_auth_uri = URI.parse(options[:openstack_auth_url])
@config = options
end
end
class Real
include Fog::OpenStack::Core
def self.not_found_class
Fog::OpenStack::Identity::NotFound
end
def config_service?
true
end
def config
self
end
def default_endpoint_type
'admin'
end
private
def configure(source)
source.instance_variables.each do |v|
instance_variable_set(v, source.instance_variable_get(v))
end
end
end
end
end
end
|