specifying tidy resources in hiera (solved)

81 views
Skip to first unread message

Derek Dresser

unread,
Oct 11, 2013, 3:27:47 PM10/11/13
to puppet...@googlegroups.com
Hello,

I was looking for a clean way to specify tidy resources in my hiera hierarchy.  Basically, I wanted to be able to specify common tidy resources, or tidy resources specific to a host without editing a module or class each time, essentially separating the data from the logic.  Here I'm using this for tidy, but the same model could be used for other resources.

I came up with a solution using "create_resources" that works so I thought I'd share.

assuming the two following yaml files.

#### common.yaml #######
---
tidyup:
  /tmp:
     age: '4w'
     backup: 'false'
     recurse: 'true'

#### myhost.yaml #####
---
classes : [ 'tidyup' ]

tidyup:
  /tmp/dir1:
     age: '1s'
     backup: 'false'
     recurse: 'true'
  /tmp/dir3:
     age: '1s'
     backup: 'false'
     recurse: 'true'

I created a module named 'tidyup' that contains one class.

class tidyup {
$tidydirs = hiera_hash('tidyup', [])
create_resources('tidy',$tidydirs)
}

This class gathers up the tidyup resources defined at all levels of the hierarchy and performs the specified tidy tasks.  You can see what is returned by running 'hiera' on the command line.
hiera -h tidyup hostname=myhost

result:
{"/tmp/dir3"=>{"age"=>"1s", "backup"=>"false", "recurse"=>"true"}, "/tmp/dir1"=>{"age"=>"1s", "backup"=>"false", "recurse"=>"true"}, "/tmp"=>{"age"=>"4w", "backup"=>"false", "recurse"=>"true"}}





Reply all
Reply to author
Forward
0 new messages