Thanks, Steven.
I will try it out

On Feb 3, 2013, at 10:21 PM, Steven Nemetz wrote:

> You can read the hash directly, create_resource is not needed (may or may not 
> be desired)
> 
> $user_defs = hiera('os_users') will give you the full hash
> 
> What I tend to do for this type of data structure is:
> 
> $user_defs = hiera('os_users')
> $user_keys = keys($user_defs)
> if is_array($user_keys) {
>   process_users { $user_keys:; }
> }
> 
> define process_users {
>   # Do whatever you want for each element of the hash
>   # $name will be the hash key
>   # $user_defs[$name] is the hash of the current item
>   # $user_defs[$name]['comment'] to access the user's comment field
> }
> 
> 
> Steven
> 
> 
> From: y...@comcast.net
> Subject: Re: [Puppet Users] hiera query yaml parameters
> Date: Sun, 3 Feb 2013 19:19:25 -0500
> To: puppet-users@googlegroups.com
> 
> Could you show your solution, please ?
> 
> I would like to see how you did it.
> 
> On Feb 3, 2013, at 6:46 PM, roadtest wrote:
> 
> I figure out the solution. 
> 
> Using the create_resource to convert YAML to a hash array, then I can query 
> retrieve every individual value.  If there is better way, feel free to share 
> with group.
> 
> carl
> 
> On Saturday, February 2, 2013 3:25:33 PM UTC-5, roadtest wrote:
> Hello,
> 
> I have a yaml data file containing user account with following information.
> #more users.yaml
> ---
> os_users:
>  user1:
>   locked: false
>   comment: System Operator
>   uid: '700'
>   gid: '700'
>   groups:
>   - admin
>   - sudonopw
>   sshkeys:
>   - ssh-rsa 
> AAAAB3NzaC1yc2EAAAABIwAAAQEAwLBhQefRiXHSbVNZYKu2o8VWJjZJ/B4LqICXuxhiiNSCmL8j+5zE/VLPIMeDqNQt8L
>  user2:
>   locked: true
>   comment: Test Locked Account
>   uid: '701'
>   gid: '701'
>   groups:
>   - admin
>   - sudonopw
>   sshkeys:
>   - ssh-rsa 
> AAAAB3NzaC1yc2EAAAABIwAAAQEAwLBhQefRiXHSbVNZYKu2o8VWJjZJ/B4LqICXuxhiiNSCm
> 
> I can search os_users information like following:
> #hiera -c /etc/hiera.yaml os_users
> {"user1"=>{"groups"=>["admin", "sudonopw"], "locked"=>false, 
> "comment"=>"System Operator", "uid"=>"700", "sshkeys"=>["ssh-rsa 
> AAAAB3NzaC1yc2EAAAABIwAAAQEAwLBhQefRiXHSbVNZYKu2o8VWJjZJ/B4LqICXuxhiiNSCmL8j+5zE/VLPIMeDqNQt8L"],
>  "gid"=>"700"}, "user2"=>{"groups"=>["admin", "sudonopw"], "locked"=>true, 
> "comment"=>"Test Locked Account", "uid"=>"701", "sshkeys"=>["ssh-rsa 
> AAAAB3NzaC1yc2EAAAABIwAAAQEAwLBhQefRiXHSbVNZYKu2o8VWJjZJ/B4LqICXuxhiiNSCm"], 
> "gid"=>"701"}}
> 
> My question is how I can get value of os_users -> user1 -> sshkeys. I tried:
> #hiera -c /etc/hiera.yaml os_users[user1[sshkeys]]
> nil
> 
> Could you please advise whether this is doable or direct me to some document?
> 
> Thanks in advance,
> 
> carl
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to puppet-users+unsubscr...@googlegroups.com.
> To post to this group, send email to puppet-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/puppet-users?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.    

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to