class database { include mysql::server # Database definitions define instance($password, $ensure = 'present', $privileges = 'all') { mysql_database { "$name": ensure => $ensure, } 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@%"], } } } }