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 <raphael...@camptocamp.com > <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 puppet-dev+...@googlegroups.com <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 puppet-dev+unsubscr...@googlegroups.com. 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.