Sorry about that, google hotkeys (Grrr)

Hi folks,

I think i'm missing something obvious here.  I'm trying to search/replace
multiple times for n files but I keep hitting a 'ArgumentError: Duplicate
definition' or similar.

I guess this is because i'm using ${name} to for the multiple files, but as
far as I can tell, i'm unable to use another type of array. i.e. if I do:

$name = ["file1", "file2", etc.. ]

define replacetext ($cwd, $stext, $rtext, $sstext, $rrtext) {
        exec {$name:
                cwd     => $cwd,
                path    => ["/bin"],
                command => "sed -i 's/$stext/$rtext/' ./${name}",
        }
       exec {$name:
                cwd     => $cwd,
                path    => ["/bin"],
                command => "sed -i 's/$sstext/$rrtext/' ./${name}",
        }
}

replacetext { $myfiles:
      cwd     => "/opt",
      stext => "replacethis",
      rtext => "withthis",
      sstext => "replacethis2",
      rrtext => "withthis2",
}

It throws a Duplicate definition error.  If I take out one the exec calls it
works fine on each of the files.

I tried giving it another array of the files so I could do:

$files = ["file1", "file2", etc.. ]

define searchreplace ($cwd, $stext, $rtext, $sstext, $rrtext, $files) {
        exec {"1":
                cwd     => $cwd,
                path    => ["/bin"],
                command => "sed -i 's/$stext/$rtext/' ./${files}",
        }
        exec {"2":
                cwd     => $cwd,
                path    => ["/bin"],
                command => "sed -i 's/$stext/$rtext/' ./${files}",
        }
}

But that executed the sed command with all of the files as input.

I also tried with a general define searchreplace method but i'm only able to
call it once in a class with the $name due to the $name method again.

Is it possible to get puppet to iterate a definition other than using the
$name method?

Thanks,

Matt

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
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