【问题标题】:Can't figure out how to properly add onlyif in augeas无法弄清楚如何在 augeas 中正确添加 onlyif
【发布时间】:2023-03-28 05:04:01
【问题描述】:

我有以下 xml:

<subsystem xmlns="urn:jboss:domain:undertow:1.1">
    <buffer-cache name="default"/>
    <server name="default-server">
        <http-listener max-post-size="104857600" name="undertow-http" proxy-address-forwarding="${proxy.address.forwarding}" receive-buffer="524288" redirect-socket="https" send-buffer="524288" socket-binding="http"/>
        <https-listener max-post-size="104857600" name="undertow-https" proxy-address-forwarding="${proxy.address.forwarding}" receive-buffer="524288" security-realm="ewb-ssl" send-buffer="524288" socket-binding="https" verify-client="NOT_REQUESTED"/>
        <host alias="localhost" name="default-host"/>
    </server>
    <servlet-container name="default">
        <jsp-config/>
        <persistent-sessions/>
    </servlet-container>
    <handlers/>
</subsystem>

我正在更改该 xml 中的一些值:

 set subsystem[#attribute/xmlns='urn:jboss:domain:undertow:1.1']/server[#attribute/name='default-server']/http-listener[#attribute/name='undertow-http']/#attribute/proxy-address-forwarding 'true'",

但在运行应用程序之后 xml 中的以下属性

xmlns='urn:jboss:domain:undertow:1.1

更改为:

xmlns='urn:jboss:domain:undertow:1.2

然后 augeas 开始在 xml 文件中添加新字段:

<subsystem><server><http-listener proxy-address-forwarding="true"></http-listener>

我尝试添加 onlyif 条件以避免添加额外字段但没有成功,有人可以帮忙吗?谢谢

【问题讨论】:

  • 我猜你正在使用 Puppet,因为你提到了 onlyif。明确地说,您的意思是使用 XML 的应用程序将 xmlns='urn:jboss:domain:undertow:1.1 更改为 xmlns='urn:jboss:domain:undertow:1.2。改变它的不是 Puppet 吗?
  • 是的,它由 jboss 服务器更改

标签: xml xml-parsing augeas


【解决方案1】:

适用于:

onlyif  => "get #attribute/xmlns == 'urn:jboss:domain:undertow:1.1'",

【讨论】:

    猜你喜欢
    • 2019-10-26
    • 2019-03-12
    • 1970-01-01
    • 2020-12-01
    • 2021-01-12
    • 1970-01-01
    • 2020-06-21
    • 2014-12-18
    • 2021-12-26
    相关资源
    最近更新 更多