dev/provisioning/modules/puppi/manifests/initialize.pp
author ymh <ymh.work@gmail.com>
Tue, 20 Mar 2018 15:02:40 +0100
changeset 573 25f3d28f51b2
parent 28 b0b56e0f8c7f
permissions -rwxr-xr-x
Added tag 0.0.25 for changeset 190ae1dee68d

# Define puppi::initialize
#
# This define creates a file with a initialize command that can be used locally.
#
# Usage:
# puppi::initialize { "Retrieve files":
#   command  => "get_file.sh",
#   argument => "/remote/dir/file",
#   priority => "10",
#   user   => "root",
#   project  => "spysite",
# }
#
define puppi::initialize (
  $command,
  $project,
  $arguments = '',
  $priority  = '50',
  $user      = 'root',
  $enable    = true ) {

  require puppi
  require puppi::params

  $ensure = bool2ensure($enable)

  file { "${puppi::params::projectsdir}/${project}/initialize/${priority}-${name}":
    ensure  => $ensure,
    mode    => '0750',
    owner   => $puppi::params::configfile_owner,
    group   => $puppi::params::configfile_group,
    require => Class['puppi'],
    content => "su - ${user} -c \"export project=${project} && ${puppi::params::scriptsdir}/${command} ${arguments}\"\n",
    tag     => 'puppi_initialize',
  }

}