Defined Type: anubis::instance

Defined in:
manifests/instance.pp

Overview

Parameters:

  • target (Stdlib::HTTPUrl)
  • settings (Hash[String, String]) (defaults to: {})
  • ensure (Enum['present', 'absent']) (defaults to: 'present')
  • bot_policies (Optional[String[1]]) (defaults to: undef)


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
44
45
46
47
48
49
50
51
52
53
54
55
# File 'manifests/instance.pp', line 16

define anubis::instance (
  Stdlib::HTTPUrl $target,
  Hash[String, String] $settings = {},
  Enum['present', 'absent'] $ensure = 'present',
  Optional[String[1]] $bot_policies = undef,
) {
  require anubis

  $env_file = "/etc/anubis/${title}.env"

  if $bot_policies {
    $bot_policies_file = "/etc/anubis/${title}.botPolicies.yaml"
    file { $bot_policies_file:
      ensure  => $ensure,
      content => $bot_policies,
      notify  => Service["anubis@${title}"],
    }
  } else {
    $bot_policies_file = undef
  }

  $context = {
    'target'            => $target,
    'bot_policies_file' => $bot_policies_file,
    'settings'          => $settings,
  }

  file { $env_file:
    ensure  => $ensure,
    content => epp("${module_name}/env.epp", $context),
    notify  => Service["anubis@${title}"],
  }

  $service_ensure = $ensure == 'present'

  service { "anubis@${title}":
    ensure => $service_ensure,
    enable => $service_ensure,
  }
}