class PoiseService::Resources::PoiseServiceUser::Provider

Provider for `poise_service_user`.

@since 1.0.0 @see Resource @provides poise_service_user

Public Instance Methods

action_create() click to toggle source

`create` action for `poise_service_user`. Ensure the user and group (if enabled) exist.

@return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 116
def action_create
  notifying_block do
    create_group if new_resource.group
    create_user
  end
end
action_remove() click to toggle source

`remove` action for `poise_service_user`. Ensure the user and group (if enabled) are destroyed.

@return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 127
def action_remove
  notifying_block do
    remove_user
    remove_group if new_resource.group
  end
end

Private Instance Methods

create_group() click to toggle source

Create the system group.

@api private @return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 140
def create_group
  group new_resource.group do
    gid new_resource.gid
    # Solaris doesn't support the idea of system groups.
    system true unless node.platform_family?('solaris2')
  end
end
create_user() click to toggle source

Create the system user.

@api private @return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 152
def create_user
  user new_resource.user do
    comment "Service user for #{new_resource.name}"
    gid new_resource.group if new_resource.group
    home new_resource.home
    shell new_resource.shell
    # Solaris doesn't support the idea of system users.
    system true unless node.platform_family?('solaris2')
    uid new_resource.uid
  end
end
remove_group() click to toggle source

Remove the system group.

@api private @return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 168
def remove_group
  create_group.tap do |r|
    r.action(:remove)
  end
end
remove_user() click to toggle source

Remove the system user.

@api private @return [void]

# File lib/poise_service/resources/poise_service_user.rb, line 178
def remove_user
  create_user.tap do |r|
    r.action(:remove)
  end
end