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,
}

Parameters:

  • ensure (Any) (defaults to: 'present')
  • type (Any) (defaults to: 'agent')
  • old_names (Any) (defaults to: true)
  • base_name (Any) (defaults to: $name)


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']
}