Puppet Plan: puppet::agent::hostname

Defined in:
plans/agent/hostname.pp

Summary

Set hostname on target hosts

Overview

Set hostname on target hosts

Parameters:

  • targets (TargetSpec)

    Nodes for which hostname should be set

  • hostname (Optional[Stdlib::Fqdn]) (defaults to: undef)


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'plans/agent/hostname.pp', line 8

plan puppet::agent::hostname (
  TargetSpec $targets,
  Optional[Stdlib::Fqdn] $hostname = undef,
) {
  if $hostname and get_targets($targets).size > 1 {
    fail("You can set up the hostname \"${hostname}\" on only one target.")
  }

  get_targets($targets).each |$target| {
    $target_name = $hostname ? {
      Stdlib::Fqdn => $hostname,
      default      => $target.name,
    }

    run_task(
      'puppet::hostname',
      $target,
      "Set hostname on ${target_name}",
      '_catch_errors' => true,
      '_run_as'       => 'root',
      'hostname'      => $target_name,
    )
  }
}