On Aug 11, 9:11 pm, Nan Liu <[email protected]> wrote:
> On Thu, Aug 11, 2011 at 7:19 PM, treydock <[email protected]> wrote:
> > Looking up the use of create_resources which is mentioned in the bug
> > you linked, looks like it's available only in 2.7.x.  I'm currently
> > running 2.6.9, but may be worth upgrading for.
>
> Pretty sure you can be backport to 2.6 since it's just a function:
>
> https://github.com/puppetlabs/puppetlabs-create_resources
>
> > I tried you suggestion, but get this error...
>
> > err: Could not retrieve catalog from remote server: Error 400 on
> > SERVER: Invalid tag "dump_dir/backups/redmine-
> > sqldumpsdatabasesredminebackup_dir/var/www/rails/redmine" at /etc/
> > puppet/modules/backuppc/manifests/definitions/sqldump.pp:11 on
> > node ...
>
> Can't say for sure without more code, but this simple example should
> demonstrate how this works:
>
> $myhash = {
>   var1 => {
>     message => 'hi'
>   },
>   var2 => {
>     message => 'bye'
>   }
>
> }
>
> define my_notify ($var) {
>   notify { $name:
>     message => $var[$name]['message']
>   }
>
> }
>
> my_notify { ['var1', 'var2']:
>   var => $myhash
>
> }
> > Also I am not sure what you mean by "functions that get an array of
> > first level hash keys".
>
> I mean if you need this to work with any hash without manually
> providing an array of resource titles write a custom puppet function
> that returns hash keys as a custom puppet function.
>
> Thanks,
>
> Nan

Got it working now!

Your first example would have worked, but I had put double quotes
around the file resource name which was breaking the module.  In case
anyone runs into something similar, here's exactly what I used to make
this definition work...


My node definition contains...


    $backuppc_db_dumps =  {
        'redmine' => {
                backup_dir  => '/var/www/rails/redmine',
                databases   => 'redmine',
                dump_dir    => '/backups/redmine-sqldumps',
        },
        'general' => {
                backup_dir  => '/etc',
                databases   => 'mysql',
                dump_dir    => '/backups/misc-sqldumps',
        },
    }

    backuppc::sqldump { [ 'redmine', 'general' ]:
        backup_db => $backuppc_db_dumps,
    }


This is the define ...

define backuppc::sqldump ($backup_db) {

    file {
        $backup_db[$name]['dump_dir']:
            ensure  => directory,
            owner   => 'root',
            group   => 'root',
            mode    => '0770';
    }
}

Thanks Nan for your help!

- Trey

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to