Merge Key?

Nov 30, 2010 at 6:35 PM

I've been building some custom configuration files in YAML and have had good success using your powershell module.

Would you consider adding support for the special merge key like Ruby has?
http://www.yaml.org/YAML_for_ruby.html#merge_key

This would allow you to create an anchor of default values to include elsewhere in the document.  A good example of this functionality is described in the Wikipedia article
http://en.wikipedia.org/wiki/YAML in the section called "Data merge and references".  I think this kind of functionality, especially the override concept, would greatly increase the flexibility of the parser.

Dec 7, 2010 at 5:12 PM

Sure, I'd consider it.   More feedback on how you have used what I've done so far would be good motivation.

My efforts on this have been somewhat dormant since last December.  I've got more use-it-or-loose-it vacation coming up, which has usually been when I get some work done on this project.   I'm just starting to think about that now...

I've seen information about the merge idea from the spec here: http://yaml.org/type/merge.pdf.   I've been operating under the beleive that this is really a higher-level function one of the parser.   Its something I want to have hooks for in the parser, but implement in the serialization/deserialization logic (which isn't very well developed at this point.)   The example you point to on Wikipedia seems much clearer to me, thanks.

Jan 16, 2011 at 10:38 PM

We've been on a mission to document the configuration of our application infrastructure from load balancer to virtual machine configuration and everything in between.  YAML has turned out to be a great way to depict the relationships between network definitions, load balancer entries, virtual machines, etc.  We use your implementation to write powershel scripts to recreate just about any of the items or configuration files in our infrastructure using YAML as the source.

Having the merge capability allows us to easily create default values for things like memory, hdd size, number of CPUs, and connected networks for a particular class of VM.  We can then create or recreate any of our VMs via powershell using the YAML configuration file as our authoritative source.

We really appreciate what you've done already.  It's been very useful so far.