Defined Type: mcollective::plugin
- Defined in:
- manifests/plugin.pp
Overview
Definition: mcollective::plugin
Sets up an MCollective plugin using packages.
Parameters
['ensure'] - Whether the plugin should be present or absent.
['type'] - The type of plugin (agent, client, discovery, etc.),
Only applies to new naming
Defaults to 'agent'
['old_names'] - Whether to use old names
Defaults to true
Actions
-
Installs an MCollective plugin using packages.
Sample Usage
mcollective::plugin { 'puppetca':
ensure => present,
}
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 |
# File 'manifests/plugin.pp', line 24
define mcollective::plugin (
$ensure='present',
$type = 'agent',
$old_names = true,
$base_name = $name,
) {
include ::mcollective::params
validate_re($ensure, ['present', 'absent'])
validate_re($type, '\S+')
validate_bool($old_names)
$new_package = "mcollective-${base_name}-${type}"
$old_base_name = $type ? {
'agent' => $base_name,
default => "${base_name}-${type}",
}
$old_package = $::osfamily ? {
'Debian' => "mcollective-agent-${old_base_name}",
'RedHat' => "mcollective-plugins-${old_base_name}",
}
if $old_names {
package { $old_package:
ensure => $ensure,
require => $mcollective::params::plugin_require,
}
} else {
package { $old_package:
ensure => 'absent',
} ->
package { $new_package:
ensure => $ensure,
require => $mcollective::params::plugin_require,
}
}
Mcollective::Plugin[$title] ~> Class['mcollective::node::service']
}
|