既存の puppet モジュールを使用して、サーバー上で複数のセットをプロビジョニングしたいのですが、最も簡単な例は次のとおりです。
file { "/var/www/MYVARIABLEHERE":
ensure => "directory",
}
mysql::db { MYVARIABLEHERE:
user => MYVARIABLEHERE,
password => MYVARIABLEHERE,
host => 'localhost',
grant => ['all'],
}
これを抽象化して、事前に定義されたオプションの配列を言い、それらを既存のパペットモジュールに渡して、数千行の長さのマニフェストファイルにならないようにする方法はありますか?
以下の答えに従って、私はセットアップしました:
define mySites {
mysql::db { $name:
user => $name,
password => $name,
host => 'localhost',
grant => ['all'],
}
file { "/var/www/${name}.drupal.dev":
ensure => "directory",
}
}
次に、次のように呼び出します。
mySites {"site": $name => "test", }
次のエラーが表示されます。
Could not parse for environment production: Syntax error at 'name'; expected '}'