I am using Puppet installed with the powershell module. I am struggling
with how to pass a puppet variable through to powershell. For instance I
have the following in my module *init.pp* file:
class windows_dns(
$forwarders = '1.1.1.1'
) {
anchor { 'windows_dns::begin': } ->
class{'windows_dns::install': } ->
class{'windows_dns::config': } ->
class{'windows_dns::service': } ->
anchor { 'windows_dns::end': }
}
Then in my *config.pp* file I have:
class windows_dns::config {
case $kernelmajversion {
6.3: {
$forwarder_execute =
'windows_dns/setdnsforwarders.ps1'
$forwarder_check = 'windows_dns/checkdnsforwarders.ps1'
$dnsforwarders = $windows_dns::forwarders
}
6.1: {
$forwarder_execute =
'windows_dns/setdnsforwarders_legacy.ps1'
$forwarder_check = 'windows_dns/checkdnsforwarders_legacy.ps1'
}
}
exec { 'forwarderscreate':
command => template ($forwarder_execute),
unless => template ($forwarder_check),
provider => powershell,
logoutput => true,
}
I have stored as a template in the manifest a powershell script file as:
$dnsforwarders | out-file C:\test.log
I obviously want to use a more complex output. I tried adding a parameter
to the top of my powershell script but dont understand how to pass that as
an option to puppet.
The variable passes through fine. I tested by changing the command to
*command=>
template ($dnsforwarders)* and i of course got an error from puppet about
it not being able to find the template named *1.1.1.1* in the manifest. I
just dont know how to pass this through to the shell.
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/6a394e94-7ec7-4cd5-b6b6-a89321f354b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.