3

puppet を使用して jenkins config.xml を編集しようとしています。私はさまざまな理由から augeas が最も理にかなっていると判断しました。必要なものはほぼ揃っていますが、フォーマットはかなり粗いです。

これは私のパペットファイルです:

augeas { 'jenkins_config.xml' :
  incl    => '/tmp/config.xml',
  lens    => 'Xml.lns',
  context => '/files/tmp/config.xml/hudson',
  changes => [
    "set securityRealm/#attribute/class hudson.security.PAMSecurityRealm",
    "set securityRealm/#attribute/plugin pam-auth@1.0",
    "set securityRealm/serviceName/#text sshd",
  ],
}

私が探しているもの:

<hudson>
  <securityRealm class="hudson.security.PAMSecurityRealm" plugin="pam-auth@1.0">
    <serviceName>sshd</serviceName>
  </securityRealm>
</hudson>

私が得ているもの:

<hudson>
<securityRealm class="hudson.security.PAMSecurityRealm" plugin="pam-auth@1.0"><serviceName>sshd</serviceName>
</securityRealm>
</hudson>

内容は素晴らしい(ちなみにとても素晴らしい)が、読んでいて面白くない。augeas はインデントと改行を処理できますか? 自分でやらなければならない場合、誰かがインデントに関するヒントを提供できますか? 私の試みはすべて失敗しました。

4

1 に答える 1