## confdroid_postgresql::server::roles::role_df
# Module name: confdroid_postgresql
# Author: 12ww1160 (12ww1160@confdroid.com)

# @summary define manages databases
# @see https://www.postgresql.org/docs/9.6/static/managing-databases.html
# @param [string] pl_role_name the name of the role to be created.
# @param [string] pl_role_pw the password to be created
# @param [string] pl_role_attributes  attributes for the role to be created
# @param [string] pl_role_status what to do with the role
##############################################################################
define confdroid_postgresql::server::roles::role_df (

  Optional[String] $pl_role_name      = undef,
  Optional[String] $pl_role_pw        = undef,
  String $pl_role_attributes          = 'LOGIN',
  String $pl_role_status              = 'CREATE ROLE',

) {
  $pl_manage_content  = $confdroid_postgresql::params::pl_manage_content

  if $pl_manage_content == true {
    # create the role

    exec { "role_${name}":
      command => template('confdroid_postgresql/server/roles/role.sql.erb'),
      user    => 'postgres',
      path    => ['/usr/bin','/bin'],
      cwd     => '/tmp',
      unless  => template('confdroid_postgresql/server/roles/unless_sql.erb'),
    }
  }
}
