# Database definitions define database::instance( $password, $ensure = 'present', $privileges = "all" ) { include mysql::server mysql_database { "${name}": ensure => $ensure, require => [ Service['mysql'], Exec['set_mysql_rootpw'] ], } mysql_user { "${name}@%": ensure => $ensure, password_hash => mysql_password($password), require => Mysql_database["${name}"], } if $ensure == 'present' { mysql_grant { "${name}@%/${name}": privileges => $privileges, require => Mysql_user["${name}@%"], } } }