Yes. Hiera understands general YAML values (at least YAML 1.1; I don't know about 1.2) associated with top-level scalar keys. Complex values are presented in Puppet via the natural mapping to Puppet hashes and arrays, nested as needed.
What can I do in order to get a list of items that contain attributes? I understand taht this type of parsing happens for example when an ENC produces YAML in this way:
clasees:
myapp:
parameter1: 'value1'
parameter2: 'value2'
Can I do something similar to this with puppet-hiera?
Again, yes. The only caveat here is that the top level of your data document should associate values with scalar keys. Hiera looks up values by those top-level keys.
And also, is the a decent piece of documentation for hiera and hiera-puppet? there seems to be almost nothing but fragmented documentation. I am happy top read and research all this in my own but I have struggled finding documentation.
I am unaware of any comprehensive documentation for Hiera. Perhaps that overstates the case a bit, though, as "comprehensive" suggests big and complicated, and that's not a good characterization of Hiera.
If you have not already seen these documents, then you should read them:
https://github.com/puppetlabs/hiera (scroll down)
https://github.com/puppetlabs/hiera-puppet (scroll down)
http://puppetlabs.com/blog/first-look-installing-and-using-hiera/Those should be enough to get anyone up and going with Hiera, but they do, I think, miss details about some of Hiera's more advanced capabilities. Until better documentation becomes available, this forum is a good place to pose questions. And there's always the code, of course, which is fairly small.
John