Defined Type: postgresql::server::database_grant

Defined in:
manifests/server/database_grant.pp

Summary

Manage a database grant.

Overview

Parameters:

  • privilege (Enum['ALL', 'CREATE', 'CONNECT', 'TEMPORARY', 'TEMP', 'all', 'create', 'connect', 'temporary', 'temp'])

    Specifies comma-separated list of privileges to grant. Valid options: ‘ALL’, ‘CREATE’, ‘CONNECT’, ‘TEMPORARY’, ‘TEMP’.

  • db (String[1])

    Specifies the database to which you are granting access.

  • role (String[1])

    Specifies the role or user whom you are granting access to.

  • ensure (Optional[Enum['present', 'absent']]) (defaults to: undef)

    Specifies whether to grant or revoke the privilege. Revoke or ‘absent’ works only in PostgreSQL version 9.1.24 or later.

  • psql_db (Optional[String[1]]) (defaults to: undef)

    Defines the database to execute the grant against. This should not ordinarily be changed from the default

  • psql_user (String[1]) (defaults to: $postgresql::server::user)

    Specifies the OS user for running psql. Default value: The default user for the module, usually ‘postgres’.

  • psql_group (String[1]) (defaults to: $postgresql::server::group)

    Overrides the default postgres user group to be used for related files in the file system.

  • connect_settings (Hash) (defaults to: $postgresql::server::default_connect_settings)

    Specifies a hash of environment variables used when connecting to a remote server.

  • port (Stdlib::Port) (defaults to: $postgresql::server::port)

    Port to use when connecting.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'manifests/server/database_grant.pp', line 12

define postgresql::server::database_grant (
  Enum['ALL', 'CREATE', 'CONNECT', 'TEMPORARY', 'TEMP', 'all', 'create', 'connect', 'temporary', 'temp'] $privilege,
  String[1]                           $db,
  String[1]                           $role,
  Optional[Enum['present', 'absent']] $ensure           = undef,
  Optional[String[1]]                 $psql_db          = undef,
  String[1]                           $psql_user        = $postgresql::server::user,
  Hash $connect_settings = $postgresql::server::default_connect_settings,
  String[1] $psql_group = $postgresql::server::group,
  Stdlib::Port $port = $postgresql::server::port,
) {
  postgresql::server::grant { "database:${name}":
    ensure           => $ensure,
    role             => $role,
    db               => $db,
    privilege        => $privilege,
    object_type      => 'DATABASE',
    object_name      => $db,
    psql_db          => $psql_db,
    psql_user        => $psql_user,
    group            => $psql_group,
    port             => $port,
    connect_settings => $connect_settings,
  }
}