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.


Reply via email to