相关疑难解决方法(0)

为什么Augeas Puppet资源类型需要3个defnode参数?

我正在尝试使用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'",
    ],
  }
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

当我运行清单时,我收到错误:

Main/Augeas[nexus_user_newadmin]: Could not evaluate: missing string argument 3 for defnode
Run Code Online (Sandbox Code Playgroud)

看起来命令defnode在从puppet使用时需要3个强制参数,但在从augtool使用时只需要2(和1个可选).(见我原帖)

我怎样才能克服Puppet中augeas实现中的这些限制?

xml puppet augeas

1
推荐指数
1
解决办法
2003
查看次数

标签 统计

augeas ×1

puppet ×1

xml ×1