summaryrefslogtreecommitdiff
path: root/manifests/default_database.pp
blob: 7465eaf7c472f1d42564a1489cf8bfe9a5795430 (plain)
1
2
3
4
5
6
7
8
9
10
11
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
37
38
39
40
41
42
43
44
45
46
47
48
49
# create default database
define mysql::default_database(
  $username = 'absent',
  $password = 'absent',
  $password_is_encrypted = true,
  $privileges = 'all',
  $host = '127.0.0.1',
  $ensure = 'present'
) {
  $real_username = $username ? {
    'absent' => $name,
    default => $username
  }
  mysql_database{"$name":
    ensure => $ensure
  }
  if $password == 'absent' and $ensure != 'absent' {
      info("we don't create the user for database: ${name}")
      $grant_require = Mysql_database["$name"]
  } else {
    mysql_user{"${real_username}@${host}":
      ensure => $ensure,
      require => [
        Mysql_database["$name"]
      ],
    }
    $grant_require = [
      Mysql_database["$name"],
      Mysql_user["${real_username}@${host}"]
    ]
    if $ensure == 'present' {
      Mysql_user["${real_username}@${host}"]{
        password_hash => $password ? {
        'trocla' => trocla("mysql_${real_username}",'mysql'),
        default => $password_is_encrypted ? {
            true => "$password",
            default => mysql_password("$password")
          },
        },
      }
    }
  }
  if $ensure == 'present' {
    mysql_grant{"${real_username}@${host}/${name}":
      privileges => "$privileges",
      require => $grant_require,
    }
  }
}