Hi Martin,
What do you mean by "translating to Puppet DSL"? Do you have an example of what you want to achieve? Raphaël On Thursday, February 26, 2015 at 9:02:24 AM UTC+1, Martin Alfke wrote: > > Hi Raphael, > > can the Augeas provider “translate” from xml into Puppet DSL and vice > versa? > That would be nice. > > Best, > Martin > > > On 26 Feb 2015, at 00:45, Raphaël Pinson <[email protected] > <javascript:>> wrote: > > > Hi Martin, > > > > > > Have you considered using an Augeas provider here, using the Xml lens? > > > > > > Cheers, > > > > Raphaël > > > > > > > > On Wednesday, February 25, 2015 at 6:18:02 PM UTC+1, Martin Alfke wrote: > > Hi, > > > > I am stuck at a puppet provider where I need to read data from xml. > > > > Data which needs to get parsed: > > > > <AR> > > <AR_ID><![CDATA[8]]></AR_ID> > > <IP><![CDATA[172.16.100.208]]></IP> > > <MAC><![CDATA[02:00:ac:10:64:d0]]></MAC> > > <SIZE><![CDATA[1]]></SIZE> > > <TYPE><![CDATA[IP4]]></TYPE> > > <USED_LEASES>0</USED_LEASES> > > <LEASES/> > > </AR> > > <AR> > > <AR_ID><![CDATA[9]]></AR_ID> > > <IP><![CDATA[172.16.100.209]]></IP> > > <MAC><![CDATA[02:00:ac:10:64:d1]]></MAC> > > <SIZE><![CDATA[1]]></SIZE> > > <TYPE><![CDATA[IP4]]></TYPE> > > <USED_LEASES>0</USED_LEASES> > > <LEASES/> > > </AR> > > > > > > Expected result: > > > > :addressrange => > > { ‘1' => > > { ‘ip' => ‘172.16.100.208’, ‘mac' => ’02:00:ac:10:64:d0’ }, > > ‘2' => > > { ‘ip' => ‘172.16.100.209’, ‘mac' => ’02:00:ac:10:64:d1’ } > > } > > > > > > Actual code (Note: I was never good at coding an will never be): > > > > vnets.collect do |vnet| > > new( > > :addressrange => Hash[vnet.xpath('./AR_POOL/AR/AR_ID').collect { > |ar| [ar.text, ar.xpath('..').collect { |singlear| > singlear.xpath('./*').collect { |arvalue| {arvalue.name, arvalue.text} } > } ] } ] > > ) > > end > > > > > > But this code return: > > :addressrange=> > > {"9"=> > > [[{"AR_ID"=>"9"}, > > {"IP"=>"172.16.100.209"}, > > {"MAC"=>"02:00:ac:10:64:d1"}, > > {"SIZE"=>"1"}, > > {"TYPE"=>"IP4"}]], > > "8"=> > > [[{"AR_ID"=>"8"}, > > {"IP"=>"172.16.100.208"}, > > {"MAC"=>"02:00:ac:10:64:d0"}, > > {"SIZE"=>"1"}, > > {"TYPE"=>"IP4"}]], > > > > What would be proper code to build the hash as expected? > > > > Thanks, > > > > Martin > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "Puppet Developers" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to [email protected] <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-dev/81914d3c-aeab-4991-80ca-4a4544e2f3cb%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > > -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/21fd88cd-f298-4b50-84d7-421a140680b9%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
