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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
# File 'manifests/agent/annotation.pp', line 21
define sensu::agent::annotation (
String $value,
Enum['present','absent'] $ensure = 'present',
String[1] $key = $name,
Boolean $redact = false,
String[1] $order = '50',
Optional[String[1]] $entity = undef,
Optional[String[1]] $namespace = undef,
) {
include sensu::agent
if ! $entity {
$_entity = $sensu::agent::config['name']
} else{
$_entity = $entity
}
if ! $namespace {
$_namespace = $sensu::agent::config['namespace']
} else {
$_namespace = $namespace
}
if $ensure == 'present' {
datacat_fragment { "sensu_agent_config-annotation-${name}":
target => 'sensu_agent_config',
data => {
'annotations' => { $key => $value },
},
order => $order,
}
}
if ! $sensu::agent::agent_managed_entity {
sensu_agent_entity_config { "sensu::agent::annotation ${name}":
ensure => $ensure,
config => 'annotations',
key => $key,
value => $value,
entity => $_entity,
namespace => $_namespace,
provider => 'sensu_api',
subscribe => File['sensu_agent_config'],
}
}
if $redact {
if $ensure == 'present' {
sensu::agent::config_entry { "redact-annotation-${name}":
key => 'redact',
value => [$key],
}
}
if ! $sensu::agent::agent_managed_entity {
sensu_agent_entity_config { "sensu::agent::annotation redact ${name}":
ensure => $ensure,
config => 'redact',
value => $key,
entity => $_entity,
namespace => $_namespace,
provider => 'sensu_api',
}
}
}
}
|