2014年1月26日日曜日

Puppet の manifests で長い行を改行する

exec resource の command などは、行が長くなってしまうことがあります。
exec { 'build-mosh':
  command => 'tar xvzf mosh-X.X.X.tar.gz && cd mosh-X.X.X && ./configure --prefix=/usr/local/mosh-X.X.X && make && make install',
  ...
}

manifests を見やすくするために、できれば1行を 80 文字程度にしたいですよね。
その場合、下記のページにあるように '\' の後に改行が続くようにすると、(少し違和感はありますが)次の行に続けることができます。


あとは、コマンドを変数に入れておいて exec から呼び出すようにすると、さらにすっきりしますね。
$build_mosh = 'tar xvzf mosh-X.X.X.tar.gz && cd mosh-X.X.X && \
  ./configure --prefix=/usr/local/mosh-X.X.X && make && make install'

exec { 'build-mosh':   command => $build_mosh,   ... }