Puppet の augeas リソース タイプを使用して、xml 構成ファイルでユーザーを追加または更新しようとしています。ここではマニフェスト:
augeas { "nexus_user_newadmin":
lens => "Xml.lns",
incl => "security.xml",
root => "/usr/local/nexus/conf",
changes => [
"defnode user /files/security.xml/security/users/user[id/#text='newadmin']",
"set $user/id/#text 'newadmin'",
"set $user/firstName/#text 'first name'",
"set $user/lastName/#text 'last name'",
"set $user/password/#text 'passhere'",
"set $user/status/#text 'active'",
"set $user/email/#text 'test@domain.com'",
],
}
xml ファイルは次のようになります。
<?xml version="1.0"?>
<security>
<users>
...
<user>
<id>deployment</id>
<firstName>Deployment</firstName>
<lastName>User</lastName>
<password>somepasshere</password>
<status>active</status>
<email>changeme1@yourcompany.com</email>
</user>
</users>
</security>
マニフェストを実行すると、次のエラーが表示されます。
Main/Augeas[nexus_user_newadmin]: Could not evaluate: missing string argument 3 for defnode
コマンド defnode を puppet から使用する場合は 3 つの必須引数が必要ですが、augtool から使用する場合は 2 つ (およびオプションで 1 つ) しか必要ないようです。(私の元の投稿を参照してください)
Puppet の augeas 実装でこの制限を克服するにはどうすればよいですか?