+# our bacula client configuration
+#
+# this mostly configures the file daemon, but also firewall rules and
+# fragments to sent to the other servers.
+#
+# @param director_server director server (address) that controls this client's backups
+# @param storage_server storage server (address) to use for this client
+# @param port_fd port that bacula-fd listens on
+# @param client_name bacula client name for this instance
+# @param ensure present or absent
+class bacula::client(
+ Stdlib::Host $director_server,
+ Stdlib::Host $storage_server,
+ Integer $port_fd = 9102,
+ String $client_name = "${::fqdn}-fd",
+ Enum['present', 'absent'] $ensure = defined(Class['bacula::not_a_client']) ? { true => 'absent', default => 'present' },
+) inherits bacula {
+ $package_ensure = $ensure ? { 'present' => 'installed', 'absent' => 'purged' }
+ $service_ensure = $ensure ? { 'present' => 'running', 'absent' => 'stopped' }
+ $service_enable = $ensure ? { 'present' => true, 'absent' => false }
+ $reverse_ensure = $ensure ? { 'present' => 'absent', 'absent' => 'present' }
+ $directory_ensure = $ensure ? { 'present' => 'directory', 'absent' => 'absent' }