Module: Fog::OpenStack::Core

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#auth_tokenObject

Returns the value of attribute auth_token.



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

def auth_token
  @auth_token
end

#auth_token_expirationObject (readonly)

Returns the value of attribute auth_token_expiration.



7
8
9
# File 'lib/fog/openstack/core.rb', line 7

def auth_token_expiration
  @auth_token_expiration
end

#current_tenantObject (readonly)

Returns the value of attribute current_tenant.



10
11
12
# File 'lib/fog/openstack/core.rb', line 10

def current_tenant
  @current_tenant
end

#current_userObject (readonly)

Returns the value of attribute current_user.



8
9
10
# File 'lib/fog/openstack/core.rb', line 8

def current_user
  @current_user
end

#current_user_idObject (readonly)

Returns the value of attribute current_user_id.



9
10
11
# File 'lib/fog/openstack/core.rb', line 9

def current_user_id
  @current_user_id
end

#openstack_cache_ttlObject (readonly)

Returns the value of attribute openstack_cache_ttl.



6
7
8
# File 'lib/fog/openstack/core.rb', line 6

def openstack_cache_ttl
  @openstack_cache_ttl
end

#openstack_domain_idObject (readonly)

Returns the value of attribute openstack_domain_id.



14
15
16
# File 'lib/fog/openstack/core.rb', line 14

def openstack_domain_id
  @openstack_domain_id
end

#openstack_domain_nameObject (readonly)

Returns the value of attribute openstack_domain_name.



11
12
13
# File 'lib/fog/openstack/core.rb', line 11

def openstack_domain_name
  @openstack_domain_name
end

#openstack_identity_prefixObject (readonly)

Returns the value of attribute openstack_identity_prefix.



18
19
20
# File 'lib/fog/openstack/core.rb', line 18

def openstack_identity_prefix
  @openstack_identity_prefix
end

#openstack_project_domainObject (readonly)

Returns the value of attribute openstack_project_domain.



13
14
15
# File 'lib/fog/openstack/core.rb', line 13

def openstack_project_domain
  @openstack_project_domain
end

#openstack_project_domain_idObject (readonly)

Returns the value of attribute openstack_project_domain_id.



17
18
19
# File 'lib/fog/openstack/core.rb', line 17

def openstack_project_domain_id
  @openstack_project_domain_id
end

#openstack_project_idObject (readonly)

Returns the value of attribute openstack_project_id.



16
17
18
# File 'lib/fog/openstack/core.rb', line 16

def openstack_project_id
  @openstack_project_id
end

#openstack_user_domainObject (readonly)

Returns the value of attribute openstack_user_domain.



12
13
14
# File 'lib/fog/openstack/core.rb', line 12

def openstack_user_domain
  @openstack_user_domain
end

#openstack_user_domain_idObject (readonly)

Returns the value of attribute openstack_user_domain_id.



15
16
17
# File 'lib/fog/openstack/core.rb', line 15

def openstack_user_domain_id
  @openstack_user_domain_id
end

#unscoped_tokenObject (readonly)

Returns the value of attribute unscoped_token.



5
6
7
# File 'lib/fog/openstack/core.rb', line 5

def unscoped_token
  @unscoped_token
end

Class Method Details

.not_found_classObject

fallback



21
22
23
# File 'lib/fog/openstack/core.rb', line 21

def self.not_found_class
  Fog::Compute::OpenStack::NotFound
end

Instance Method Details

#credentialsObject



58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/fog/openstack/core.rb', line 58

def credentials
  options = {
    :provider                    => 'openstack',
    :openstack_auth_url          => @openstack_auth_uri.to_s,
    :openstack_auth_token        => @auth_token,
    :openstack_identity_endpoint => @openstack_identity_public_endpoint,
    :current_user                => @current_user,
    :current_user_id             => @current_user_id,
    :current_tenant              => @current_tenant,
    :unscoped_token              => @unscoped_token
  }
  openstack_options.merge options
end

#initialize_identity(options) ⇒ Object



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
54
55
56
# File 'lib/fog/openstack/core.rb', line 25

def initialize_identity(options)
  # Create @openstack_* instance variables from all :openstack_* options
  options.select { |x| x.to_s.start_with? 'openstack' }.each do |openstack_param, value|
    instance_variable_set "@#{openstack_param}".to_sym, value
  end

  @auth_token ||= options[:openstack_auth_token]
  @openstack_identity_public_endpoint = options[:openstack_identity_endpoint]

  @openstack_auth_uri = URI.parse(options[:openstack_auth_url])
  @openstack_must_reauthenticate = false
  @openstack_endpoint_type = options[:openstack_endpoint_type] || 'publicURL'

  @openstack_cache_ttl = options[:openstack_cache_ttl] || 0

  if @auth_token
    @openstack_can_reauthenticate = false
  else
    missing_credentials = []

    missing_credentials << :openstack_api_key unless @openstack_api_key
    unless @openstack_username || @openstack_userid
      missing_credentials << 'openstack_username or openstack_userid'
    end
    raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty?
    @openstack_can_reauthenticate = true
  end

  @current_user    = options[:current_user]
  @current_user_id = options[:current_user_id]
  @current_tenant  = options[:current_tenant]
end

#reloadObject



72
73
74
# File 'lib/fog/openstack/core.rb', line 72

def reload
  @connection.reset
end