Class: Inspec::Resources::UserInfo
- Inherits:
-
Object
- Object
- Inspec::Resources::UserInfo
- Includes:
- Converter
- Defined in:
- lib/resources/users.rb
Overview
This is an abstract class that every user provoider has to implement. A user provider implements a system abstracts and helps the InSpec resource hand-over system specific behavior to those providers
Direct Known Subclasses
Instance Attribute Summary collapse
-
#inspec ⇒ Object
readonly
Returns the value of attribute inspec.
Instance Method Summary collapse
-
#collect_user_details ⇒ Object
returns the full information list for a user.
-
#credentials(_username) ⇒ Object
returns a hash with meta-data about user credentials { mindays: 1, maxdays: 1, warndays: 1, } this method is optional and may not be implemented by each provider.
-
#identity(_username) ⇒ Object
returns a hash with user-specific values: { uid: ”, user: ”, gid: ”, group: ”, groups: ”, }.
-
#initialize(inspec) ⇒ UserInfo
constructor
A new instance of UserInfo.
-
#list_users ⇒ Object
returns an array with users.
-
#meta_info(_username) ⇒ Object
returns optional information about a user, eg shell.
-
#user_details(username) ⇒ Object
retuns all aspects of the user as one hash.
Methods included from Converter
Constructor Details
#initialize(inspec) ⇒ UserInfo
Returns a new instance of UserInfo.
284 285 286 |
# File 'lib/resources/users.rb', line 284 def initialize(inspec) @inspec = inspec end |
Instance Attribute Details
#inspec ⇒ Object (readonly)
Returns the value of attribute inspec.
283 284 285 |
# File 'lib/resources/users.rb', line 283 def inspec @inspec end |
Instance Method Details
#collect_user_details ⇒ Object
returns the full information list for a user
334 335 336 337 338 |
# File 'lib/resources/users.rb', line 334 def collect_user_details list_users.map { |username| user_details(username.chomp) } end |
#credentials(_username) ⇒ Object
returns a hash with meta-data about user credentials
mindays: 1,
maxdays: 1,
warndays: 1,
this method is optional and may not be implemented by each provider
312 313 314 |
# File 'lib/resources/users.rb', line 312 def credentials(_username) nil end |
#identity(_username) ⇒ Object
returns a hash with user-specific values:
uid: '',
user: '',
gid: '',
group: '',
groups: '',
296 297 298 |
# File 'lib/resources/users.rb', line 296 def identity(_username) raise 'user provider must implement the `identity` method' end |
#list_users ⇒ Object
returns an array with users
317 318 319 |
# File 'lib/resources/users.rb', line 317 def list_users raise 'user provider must implement the `list_users` method' end |
#meta_info(_username) ⇒ Object
returns optional information about a user, eg shell
301 302 303 |
# File 'lib/resources/users.rb', line 301 def (_username) nil end |
#user_details(username) ⇒ Object
retuns all aspects of the user as one hash
322 323 324 325 326 327 328 329 330 331 |
# File 'lib/resources/users.rb', line 322 def user_details(username) item = {} id = identity(username) item.merge!(id) unless id.nil? = (username) item.merge!() unless .nil? cred = credentials(username) item.merge!(cred) unless cred.nil? item end |