Class: ManageIQ::ApplianceConsole::Principal

Inherits:
Object
  • Object
show all
Defined in:
lib/manageiq/appliance_console/principal.rb

Overview

Kerberos principal

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Principal

Returns a new instance of Principal.



15
16
17
18
19
20
21
# File 'lib/manageiq/appliance_console/principal.rb', line 15

def initialize(options = {})
  options.each { |n, v| public_send("#{n}=", v) }
  @ca_name ||= "ipa"
  @realm = @realm.upcase if @realm
  @service_principal ||= "#{service}/#{hostname}"
  @name ||= "#{service_principal}@#{realm}"
end

Instance Attribute Details

#ca_nameObject

Returns the value of attribute ca_name.



7
8
9
# File 'lib/manageiq/appliance_console/principal.rb', line 7

def ca_name
  @ca_name
end

#hostnameObject

Returns the value of attribute hostname.



8
9
10
# File 'lib/manageiq/appliance_console/principal.rb', line 8

def hostname
  @hostname
end

#nameObject

kerberos principal name



12
13
14
# File 'lib/manageiq/appliance_console/principal.rb', line 12

def name
  @name
end

#realmObject

Returns the value of attribute realm.



9
10
11
# File 'lib/manageiq/appliance_console/principal.rb', line 9

def realm
  @realm
end

#serviceObject

Returns the value of attribute service.



10
11
12
# File 'lib/manageiq/appliance_console/principal.rb', line 10

def service
  @service
end

#service_principalObject

Returns the value of attribute service_principal.



13
14
15
# File 'lib/manageiq/appliance_console/principal.rb', line 13

def service_principal
  @service_principal
end

Instance Method Details

#ipa?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/manageiq/appliance_console/principal.rb', line 31

def ipa?
  @ca_name == "ipa"
end

#registerObject



23
24
25
# File 'lib/manageiq/appliance_console/principal.rb', line 23

def register
  request if ipa? && !exist?
end

#subject_nameObject



27
28
29
# File 'lib/manageiq/appliance_console/principal.rb', line 27

def subject_name
  "CN=#{hostname},OU=#{service},O=#{realm}"
end