Skip to content

Commit 298c043

Browse files
committed
Add a template for the module class
This file is supposed to provide access to the same parameters for all choria modules, but some modules are lacking one or more of these parameters. By managing its content with modulesync, we ensure we have consistent interface for all modules.
1 parent 5333754 commit 298c043

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

moduleroot/manifests/init.pp.erb

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<% require_relative '../../lib/util.rb' -%>
2+
# Managed by modulesync - DO NOT EDIT
3+
# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/
4+
class <%= choria_module_name %> (
5+
String $config_name,
6+
Array[String] $client_files = [],
7+
Array[String] $client_directories = [],
8+
Array[String] $server_files = [],
9+
Array[String] $server_directories = [],
10+
Array[String] $common_files = [],
11+
Array[String] $common_directories = [],
12+
Array[String] $executable_files = [],
13+
Boolean $manage_gem_dependencies = true,
14+
Hash $gem_dependencies = {},
15+
Boolean $manage_package_dependencies = true,
16+
Hash $package_dependencies = {},
17+
Boolean $manage_class_dependencies = true,
18+
Array[String] $class_dependencies = [],
19+
Mcollective::Policy_action $policy_default = $mcollective::policy_default,
20+
Array[Mcollective::Policy] $policies = [],
21+
Array[Mcollective::Policy] $site_policies = $mcollective::site_policies,
22+
Hash $config = {},
23+
Hash $client_config = {},
24+
Hash $server_config = {},
25+
Boolean $client = $mcollective::client,
26+
Boolean $server = $mcollective::server,
27+
Enum["present", "absent"] $ensure = "present"
28+
) {
29+
mcollective::module_plugin{$name:
30+
config_name => $config_name,
31+
client_files => $client_files,
32+
server_files => $server_files,
33+
common_files => $common_files,
34+
executable_files => $executable_files,
35+
client_directories => $client_directories,
36+
server_directories => $server_directories,
37+
common_directories => $common_directories,
38+
gem_dependencies => $gem_dependencies,
39+
manage_gem_dependencies => $manage_gem_dependencies,
40+
package_dependencies => $package_dependencies,
41+
manage_package_dependencies => $manage_package_dependencies,
42+
class_dependencies => $class_dependencies,
43+
policy_default => $policy_default,
44+
policies => $policies,
45+
site_policies => $site_policies,
46+
config => $config,
47+
client_config => $client_config,
48+
server_config => $server_config,
49+
client => $client,
50+
server => $server,
51+
ensure => $ensure
52+
}
53+
}

0 commit comments

Comments
 (0)