如何在augeas puppet中使用条件操作

How to use conditional operation in augeas puppet

我可以 insert/edit XML 文件中的任何属性或任何文本。

是否可以 insert/edit XML 文件中的任何属性或任何文本。

例如: 我想改变一个属性的值,如果它被命名为“modcluster.proxylist”。

<server-group name="ServiceGroupOne" profile="full-ha">
    <system-properties>
        <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
        <property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
        <property name="modcluster.lbgroup" value="SearchGroupOne" boot-time="true"/>
    </system-properties>
</server-group>
<server-group name="ServiceGroupTwo" profile="full-ha">
    <system-properties>
        <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
        <property name="modcluster.lbgroup" value="SearchGroupTwo" boot-time="true"/>
        <property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
    </system-properties>
</server-group>
<server-group name="ServiceGroupThree" profile="full-ha">
    <system-properties>
        <property name="modcluster.lbgroup" value="CommonSearchGroup" boot-time="true"/>
        <property name="modcluster.proxylist" value="192.168.79.77:7777" boot-time="true"/>
        <property name="jboss.default.multicast.address" value="232.0.2.20" boot-time="true"/>
    </system-properties>
</server-group>

augeas 人偶类型有一个 onlyif 属性,可以让您决定它是否是 运行。这几乎是目前唯一的条件选项。

如果您的需求变得相当复杂,我建议您改为编写 Ruby augeasprovider。