2016-05-24 7 views
1

Ich versuche, die Konfiguration für eine Windows CFG-Datei mit Puppet festzulegen.Puppet XML Auges Objektiv

augeas{ "bbdisplay_setting": 
    incl => '/tmp/BBWin.cfg', 
    lens => "Xml.lns", 
    # How do I change the value of `value=1.1.1.1 to value=9.9.9.9 
} 

ich nicht ein gutes Beispiel dafür, wie sich ändern den Wert des ersten bbdisplay in diesem Beispiel XML-Datei finden:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <bbwin> 
    <setting name="bbdisplay" value="1.1.1.1" /> 
    <setting name="bbdisplay" value="2.2.2.2" /> 
    </bbwin> 
</configuration> 

Augtool listet die Config als:

/files 
/files/tmp 
/files/tmp/BBWin.cfg 
/files/tmp/BBWin.cfg/#declaration 
/files/tmp/BBWin.cfg/#declaration/#attribute 
/files/tmp/BBWin.cfg/#declaration/#attribute/version = "1.0" 
/files/tmp/BBWin.cfg/#declaration/#attribute/encoding = "utf-8" 
/files/tmp/BBWin.cfg/configuration 
/files/tmp/BBWin.cfg/configuration/#text = "\n " 
/files/tmp/BBWin.cfg/configuration/bbwin 
/files/tmp/BBWin.cfg/configuration/bbwin/#text[1] = "\n" 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[1] = "#empty" 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[1]/#attribute 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[1]/#attribute/name = "bbdisplay" 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[1]/#attribute/value = "1.1.1.1" 
/files/tmp/BBWin.cfg/configuration/bbwin/#text[2] = " " 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[2] = "#empty" 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[2]/#attribute 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[2]/#attribute/name = "bbdisplay" 
/files/tmp/BBWin.cfg/configuration/bbwin/setting[2]/#attribute/value = "2.2.2.2" 
/files/tmp/BBWin.cfg/configuration/bbwin/#text[3] = " " 

Antwort

2

Wenn Sie das erste bbdisplay ändern möchten, dann:

augeas{ "bbdisplay_setting": 
    incl => '/tmp/BBWin.cfg', 
    lens => "Xml.lns", 
    changes => "set configuration/bbwin/setting[#attribute/name="bbdisplay"][1]/#attribute/value 9.9.9.9", 
} 

oder ein anderes Beispiel, es wird von dem vorhandenen Wert zu ändern:

augeas{ "bbdisplay_setting": 
    incl => '/tmp/BBWin.cfg', 
    lens => "Xml.lns", 
    changes => "set configuration/bbwin/setting[#attribute/value = "1.1.1.1"]/#attribute/value 9.9.9.9", 
}