Puppet Plan: terraform::apply

Defined in:
plans/apply.pp

Overview

Parameters:

  • dir (Optional[String[1]]) (defaults to: undef)
  • state (Optional[String[1]]) (defaults to: undef)
  • state_out (Optional[String[1]]) (defaults to: undef)
  • target (Optional[Variant[String[1], Array[String[1]]]]) (defaults to: undef)
  • var (Optional[Hash]) (defaults to: undef)
  • var_file (Optional[Variant[String[1], Array[String[1]]]]) (defaults to: undef)
  • return_output (Optional[Boolean]) (defaults to: false)
  • refresh_state (Optional[Boolean]) (defaults to: false)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'plans/apply.pp', line 1

plan terraform::apply(
  Optional[String[1]]                            $dir           = undef,
  Optional[String[1]]                            $state         = undef,
  Optional[String[1]]                            $state_out     = undef,
  Optional[Variant[String[1], Array[String[1]]]] $target        = undef,
  Optional[Hash]                                 $var           = undef,
  Optional[Variant[String[1], Array[String[1]]]] $var_file      = undef,
  Optional[Boolean]                              $return_output = false,
  Optional[Boolean]                              $refresh_state = false
) {
  $apply_opts = {
    'dir'       => $dir,
    'state'     => $state,
    'state_out' => $state_out,
    'target'    => $target,
    'var'       => $var,
    'var_file'  => $var_file,
  }

  $apply_logs = run_task('terraform::apply', 'localhost', $apply_opts)

  unless $return_output {
    return $apply_logs
  }

  if $refresh_state {
    $refresh_opts = {
      'dir'      => $dir,
      'state'    => $state,
      'var'      => $var,
      'var_file' => $var_file,
    }
    run_task('terraform::refresh', 'localhost', $refresh_opts)
  }

  $post_apply_opts = {
    'dir'   => $dir,
    'state' => $state,
  }

  $output = run_task('terraform::output', 'localhost', $post_apply_opts)
  return $output[0].value
}