diff --git a/REFERENCE.md b/REFERENCE.md index bd7db9281..798e5d325 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -36,6 +36,7 @@ * [`Bacula::JobType`](#Bacula--JobType): The type of job * [`Bacula::Message`](#Bacula--Message): A Bacula message specification +* [`Bacula::Password`](#Bacula--Password): Temporary workarond to accept Sensitive and non-Sensitive passwords * [`Bacula::Runscript`](#Bacula--Runscript): A Bacula Runscript specification * [`Bacula::Size`](#Bacula--Size): A size indication * [`Bacula::Time`](#Bacula--Time): A time indication @@ -88,55 +89,55 @@ The following parameters are available in the `bacula` class: ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The path to the bacula configuration directory ##### `bacula_user` -Data type: `String` +Data type: `String[1]` The posix user for bacula ##### `bacula_group` -Data type: `String` +Data type: `String[1]` The posix group for bacula ##### `homedir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The bacula user's home directory path ##### `rundir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The run dir for the daemons ##### `director_address` -Data type: `String` +Data type: `String[1]` The default address of the director used by bconsole ##### `director_name` -Data type: `String` +Data type: `String[1]` The default director name ##### `storage_name` -Data type: `String` +Data type: `String[1]` The default storage name ##### `db_type` -Data type: `String` +Data type: `String[1]` The database provider used by Bacula @@ -144,7 +145,7 @@ Default value: `'pgsql'` ##### `homedir_mode` -Data type: `String` +Data type: `String[1]` The bacula user's home director mode @@ -160,7 +161,7 @@ Default value: `true` ##### `device_seltype` -Data type: `String` +Data type: `String[1]` SELinux type for the device @@ -184,7 +185,7 @@ Default value: `undef` ##### `tls_certificate` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` The full path and filename of a PEM encoded TLS certificate @@ -192,7 +193,7 @@ Default value: `undef` ##### `tls_key` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` The full path and filename of a PEM encoded TLS private key @@ -208,7 +209,7 @@ Default value: `undef` ##### `tls_allowed_cn` -Data type: `Array[String]` +Data type: `Array[String[1]]` Common name attribute of allowed peer certificates @@ -216,7 +217,7 @@ Default value: `[]` ##### `tls_ca_certificate_file` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` The full path and filename specifying a PEM encoded TLS CA certificate(s) @@ -224,7 +225,7 @@ Default value: `undef` ##### `tls_ca_certificate_dir` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` Full path to TLS CA certificate directory @@ -232,7 +233,7 @@ Default value: `undef` ##### `tls_dh_file` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` Path to PEM encoded Diffie-Hellman parameter file @@ -240,7 +241,7 @@ Default value: `undef` ##### `job_tag` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` A tag to add to all job resources @@ -293,43 +294,43 @@ Logging configuration; loaded from hiera ##### `packages` -Data type: `Array[String]` +Data type: `Array[String[1]]` A list of packages to install; loaded from hiera ##### `services` -Data type: `String` +Data type: `String[1]` A list of services to operate; loaded from hiera ##### `default_pool` -Data type: `String` +Data type: `String[1]` The name of the Pool for this FD to use by default ##### `default_pool_full` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The name of the Pool to use for Full jobs ##### `default_pool_inc` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The name of the Pool to use for Incremental jobs ##### `default_pool_diff` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The name of the Pool to use for Differential jobs ##### `port` -Data type: `Integer` +Data type: `Stdlib::Port` The listening port for the File Daemon @@ -368,7 +369,7 @@ Default value: `[]` ##### `password` -Data type: `String` +Data type: `Bacula::Password` A password to use for communication with this File Daemon @@ -376,7 +377,7 @@ Default value: `'secret'` ##### `max_concurrent_jobs` -Data type: `Integer` +Data type: `Integer[1]` Bacula FD option for 'Maximum Concurrent Jobs' @@ -384,7 +385,7 @@ Default value: `2` ##### `director_name` -Data type: `String` +Data type: `String[1]` The hostname of the director for this FD @@ -416,7 +417,7 @@ Default value: `'6 months'` ##### `client` -Data type: `String` +Data type: `String[1]` The name or address by which to contact this FD @@ -424,7 +425,7 @@ Default value: `$trusted['certname']` ##### `address` -Data type: `String` +Data type: `String[1]` The listening address for the File Daemon @@ -448,7 +449,7 @@ Default value: `undef` ##### `pki_keypair` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` Bacula FD option for 'PKI Keypair' @@ -456,7 +457,7 @@ Default value: `undef` ##### `pki_master_key` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` Bacula FD option for 'PKI Master Key' @@ -464,7 +465,7 @@ Default value: `undef` ##### `plugin_dir` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Absolutepath]` Bacula FD option for the 'Plugin Directory' @@ -522,19 +523,19 @@ The following parameters are available in the `bacula::director` class: ##### `messages` -Data type: `Hash[String, Bacula::Message]` +Data type: `Hash[String[1], Bacula::Message]` Logging configuration; loaded from hiera ##### `packages` -Data type: `Array[String]` +Data type: `Array[String[1]]` A list of packages to install; loaded from hiera ##### `services` -Data type: `String` +Data type: `String[1]` A list of services to operate; loaded from hiera @@ -548,7 +549,7 @@ Default value: `true` ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Path to bacula configuration directory @@ -556,7 +557,7 @@ Default value: `$bacula::conf_dir` ##### `db_name` -Data type: `String` +Data type: `String[1]` The database name @@ -564,7 +565,7 @@ Default value: `'bacula'` ##### `db_pw` -Data type: `String` +Data type: `Bacula::Password` The database user's password @@ -572,7 +573,7 @@ Default value: `'notverysecret'` ##### `db_user` -Data type: `String` +Data type: `String[1]` The database user @@ -580,7 +581,7 @@ Default value: `'bacula'` ##### `db_address` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The database address @@ -588,7 +589,7 @@ Default value: `undef` ##### `db_port` -Data type: `Optional[String]` +Data type: `Optional[Stdlib::Port]` The database port @@ -596,7 +597,7 @@ Default value: `undef` ##### `director_address` -Data type: `String` +Data type: `String[1]` The address of the director used by bconsole @@ -604,7 +605,7 @@ Default value: `$bacula::director_address` ##### `director` -Data type: `String` +Data type: `String[1]` The name of the director @@ -612,7 +613,7 @@ Default value: `$trusted['certname']` ##### `group` -Data type: `String` +Data type: `String[1]` The posix group for bacula @@ -620,7 +621,7 @@ Default value: `$bacula::bacula_group` ##### `homedir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The bacula director working directory @@ -628,7 +629,7 @@ Default value: `$bacula::homedir` ##### `job_tag` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` A string to use when realizing jobs and filesets @@ -645,7 +646,7 @@ Default value: `[]` ##### `max_concurrent_jobs` -Data type: `Integer` +Data type: `Integer[1]` Bacula Director option for 'Maximum Concurrent Jobs' @@ -661,7 +662,7 @@ Default value: `true` ##### `password` -Data type: `String` +Data type: `Bacula::Password` password to connect to the director @@ -669,7 +670,7 @@ Default value: `'secret'` ##### `port` -Data type: `Integer` +Data type: `Stdlib::Port` The listening port for the Director @@ -677,7 +678,7 @@ Default value: `9101` ##### `rundir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Bacula Director option for 'Pid Directory' @@ -685,7 +686,7 @@ Default value: `$bacula::rundir` ##### `storage_name` -Data type: `String` +Data type: `String[1]` The Name of the Storage daemon @@ -693,7 +694,7 @@ Default value: `$bacula::storage_name` ##### `make_bacula_tables` -Data type: `String` +Data type: `String[1]` Path to the script that loads the database schema @@ -719,7 +720,7 @@ The following parameters are available in the `bacula::director::postgresql` cla ##### `make_bacula_tables` -Data type: `String` +Data type: `String[1]` Path to the script that loads the database schema @@ -727,7 +728,7 @@ Default value: `$bacula::director::make_bacula_tables` ##### `db_name` -Data type: `String` +Data type: `String[1]` The database name @@ -735,7 +736,7 @@ Default value: `$bacula::director::db_name` ##### `db_pw` -Data type: `String` +Data type: `Bacula::Password` The database user's password @@ -743,7 +744,7 @@ Default value: `$bacula::director::db_pw` ##### `db_user` -Data type: `String` +Data type: `String[1]` The database user @@ -780,19 +781,19 @@ The following parameters are available in the `bacula::storage` class: ##### `services` -Data type: `String` +Data type: `String[1]` A list of services to operate; loaded from hiera ##### `packages` -Data type: `Array[String]` +Data type: `Array[String[1]]` A list of packages to install; loaded from hiera ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Path to bacula configuration directory @@ -800,7 +801,7 @@ Default value: `$bacula::conf_dir` ##### `device` -Data type: `String` +Data type: `Stdlib::Absolutepath` The system file name of the storage device managed by this storage daemon @@ -816,7 +817,7 @@ Default value: `'0770'` ##### `device_name` -Data type: `String` +Data type: `String[1]` The Name that the Director will use when asking to backup or restore to or from to this device @@ -824,7 +825,7 @@ Default value: `"${trusted['certname']}-device"` ##### `device_owner` -Data type: `String` +Data type: `String[1]` The posix user owning the device directory @@ -832,7 +833,7 @@ Default value: `$bacula::bacula_user` ##### `device_seltype` -Data type: `String` +Data type: `String[1]` SELinux type for the device @@ -840,7 +841,7 @@ Default value: `$bacula::device_seltype` ##### `director_name` -Data type: `String` +Data type: `String[1]` Specifies the Name of the Director allowed to connect to the Storage daemon @@ -848,7 +849,7 @@ Default value: `$bacula::director_name` ##### `group` -Data type: `String` +Data type: `String[1]` The posix group for bacula @@ -856,7 +857,7 @@ Default value: `$bacula::bacula_group` ##### `homedir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The directory in which the Storage daemon may put its status files @@ -873,7 +874,7 @@ Default value: `[]` ##### `maxconcurjobs` -Data type: `Integer` +Data type: `Integer[1]` maximum number of Jobs that may run concurrently @@ -881,7 +882,7 @@ Default value: `5` ##### `media_type` -Data type: `String` +Data type: `String[1]` The type of media supported by this device @@ -889,7 +890,7 @@ Default value: `'File'` ##### `password` -Data type: `String` +Data type: `Bacula::Password` Specifies the password that must be supplied by the named Director @@ -897,7 +898,7 @@ Default value: `'secret'` ##### `port` -Data type: `Integer` +Data type: `Stdlib::Port` The listening port for the Storage Daemon @@ -905,7 +906,7 @@ Default value: `9103` ##### `rundir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The directory in which the Director may put its process Id file files @@ -913,7 +914,7 @@ Default value: `$bacula::rundir` ##### `storage` -Data type: `String` +Data type: `String[1]` The address to be configured on the director to communicate with this storage server @@ -921,7 +922,7 @@ Default value: `$trusted['certname']` ##### `address` -Data type: `String` +Data type: `String[1]` The listening address for the Storage Daemon @@ -929,7 +930,7 @@ Default value: `$facts['networking']['fqdn']` ##### `user` -Data type: `String` +Data type: `String[1]` The posix user for bacula @@ -972,19 +973,19 @@ The following parameters are available in the `bacula::director::client` defined ##### `address` -Data type: `String` +Data type: `String[1]` The address of the Bacula File server daemon ##### `port` -Data type: `Variant[String,Integer]` +Data type: `Variant[String[1],Stdlib::Port]` The port of the Bacula File server daemon ##### `password` -Data type: `String` +Data type: `Bacula::Password` The password to be used when establishing a connection with the File services @@ -1008,7 +1009,7 @@ If AutoPrune is set to yes, Bacula will automatically apply the File retention p ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The path to the bacula configuration directory @@ -1042,13 +1043,13 @@ The following parameters are available in the `bacula::director::fileset` define ##### `files` -Data type: `Array[String]` +Data type: `Array[Stdlib::Absolutepath]` The list of directories and/or files to be processed in the backup job ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The bacula configuration director. Should not need adjusting @@ -1056,7 +1057,7 @@ Default value: `$bacula::conf_dir` ##### `director_name` -Data type: `String` +Data type: `String[1]` The name of the director intended to receive this fileset @@ -1064,7 +1065,7 @@ Default value: `$bacula::director_name` ##### `excludes` -Data type: `Array[String]` +Data type: `Array[Stdlib::Absolutepath]` A list of paths to exclude from the filest @@ -1072,7 +1073,7 @@ Default value: `[]` ##### `options` -Data type: `Hash[String, Variant[String, Array[String], Bacula::Yesno]]` +Data type: `Hash[String[1], Variant[String[1], Array[String[1]], Bacula::Yesno]]` A hash of options to include in the fileset @@ -1114,13 +1115,13 @@ The following parameters are available in the `bacula::director::job` defined ty ##### `content` -Data type: `String` +Data type: `String[1]` The full content of the job definition ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Overridden at realize, should not need adjusting @@ -1167,7 +1168,7 @@ The following parameters are available in the `bacula::director::pool` defined t ##### `volret` -Data type: `Optional[String]` +Data type: `Optional[Bacula::Time]` Bacula pool configuration option "Volume Retention" @@ -1175,7 +1176,7 @@ Default value: `undef` ##### `maxvoljobs` -Data type: `Optional[Variant[String,Integer]]` +Data type: `Optional[Variant[String[1],Integer[1]]]` Bacula pool configuration option "Maximum Volume Jobs" @@ -1191,7 +1192,7 @@ Default value: `undef` ##### `maxvols` -Data type: `Optional[Variant[String,Integer]]` +Data type: `Optional[Variant[String[1],Integer[1]]]` Bacula pool configuration option "Maximum Volumes" @@ -1199,7 +1200,7 @@ Default value: `undef` ##### `label` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Bacula pool configuration option "Label Format" @@ -1207,7 +1208,7 @@ Default value: `undef` ##### `voluseduration` -Data type: `Optional[String]` +Data type: `Optional[Bacula::Time]` Bacula pool configuration option "Volume Use Duration" @@ -1215,7 +1216,7 @@ Default value: `undef` ##### `storage` -Data type: `String` +Data type: `String[1]` Bacula pool configuration option "Storage" @@ -1223,7 +1224,7 @@ Default value: `$bacula::director::storage` ##### `pooltype` -Data type: `String` +Data type: `String[1]` Bacula pool configuration option "Pool Type" @@ -1247,7 +1248,7 @@ Default value: `true` ##### `purgeaction` -Data type: `String` +Data type: `String[1]` Bacula pool configuration option "Action On Purge" @@ -1255,7 +1256,7 @@ Default value: `'Truncate'` ##### `next_pool` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Bacula pool configuration option "Next Pool" @@ -1263,7 +1264,7 @@ Default value: `undef` ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` The path to the bacula configuration directory @@ -1292,7 +1293,7 @@ The following parameters are available in the `bacula::director::storage` define ##### `address` -Data type: `String` +Data type: `String[1]` Bacula director configuration for Storage option 'SDAddress' @@ -1300,7 +1301,7 @@ Default value: `$name` ##### `port` -Data type: `Integer` +Data type: `Stdlib::Port` Bacula director configuration for Storage option 'SDPort' @@ -1308,7 +1309,7 @@ Default value: `9103` ##### `password` -Data type: `String` +Data type: `Bacula::Password` Bacula director configuration for Storage option 'Password' @@ -1316,7 +1317,7 @@ Default value: `'secret'` ##### `device_name` -Data type: `String` +Data type: `String[1]` Bacula director configuration for Storage option 'Device' @@ -1324,7 +1325,7 @@ Default value: `"${facts['networking']['fqdn']}-device"` ##### `media_type` -Data type: `String` +Data type: `String[1]` Bacula director configuration for Storage option 'Media Type' @@ -1332,7 +1333,7 @@ Default value: `'File'` ##### `maxconcurjobs` -Data type: `Integer` +Data type: `Integer[1]` Bacula director configuration for Storage option 'Maximum Concurrent Jobs' @@ -1340,7 +1341,7 @@ Default value: `1` ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Bacula configuration directory @@ -1403,7 +1404,7 @@ The following parameters are available in the `bacula::job` defined type: ##### `files` -Data type: `Array[String]` +Data type: `Array[Stdlib::Absolutepath]` An array of files that you wish to get backed up on this job for this host. ie: ["/etc","/usr/local"] @@ -1411,7 +1412,7 @@ Default value: `[]` ##### `excludes` -Data type: `Array[String]` +Data type: `Array[Stdlib::Absolutepath]` An array of files to skip for the given job. ie: ["/usr/local/src"] @@ -1419,7 +1420,7 @@ Default value: `[]` ##### `fileset` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` If set to true, a fileset will be genereated based on the files and excludes paramaters specified above. If set to false, the job will attempt to use the fileset named "Common". If set to anything else, provided it's a String, that named fileset will be used. NOTE: the fileset Common or the defined fileset must be declared elsewhere for this to work. See Class::Bacula for details @@ -1435,7 +1436,7 @@ Default value: `'Backup'` ##### `template` -Data type: `String` +Data type: `String[1]` Template to use for generating the job configuration fragment @@ -1443,7 +1444,7 @@ Default value: `'bacula/job.conf.epp'` ##### `pool` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Name of the pool to use by default for this job @@ -1451,7 +1452,7 @@ Default value: `undef` ##### `pool_full` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Name of the pool to use for Full jobs @@ -1459,7 +1460,7 @@ Default value: `undef` ##### `pool_inc` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Name of the pool to use for Incremental jobs @@ -1467,7 +1468,7 @@ Default value: `undef` ##### `pool_diff` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Name of the pool to use for Differential jobs @@ -1475,7 +1476,7 @@ Default value: `undef` ##### `storage` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Name of the storage service to use @@ -1483,7 +1484,7 @@ Default value: `undef` ##### `jobdef` -Data type: `Variant[Boolean, String]` +Data type: `Variant[Boolean, String[1]]` If a JobDefs-Resource-Name is specified, all the values contained in the named JobDefs resource will be used as the defaults for the current Job @@ -1499,7 +1500,7 @@ Default value: `[]` ##### `level` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The Level directive specifies the default Job level to be run @@ -1539,7 +1540,7 @@ Default value: `10` ##### `messages` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` containing the name of the message resource to use for this job set to false to disable this option @@ -1555,7 +1556,7 @@ Default value: `'/tmp/bacula-restores'` ##### `sched` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` containing the name of the scheduler set to false to disable this option @@ -1571,7 +1572,7 @@ Default value: `undef` ##### `job_tag` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` that might be used for grouping of jobs. Pass this to bacula::director to only collect jobs that match this tag @@ -1579,7 +1580,7 @@ Default value: `undef` ##### `selection_type` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Determines how the migration job will go about selecting what JobIds to migrate @@ -1587,7 +1588,7 @@ Default value: `undef` ##### `selection_pattern` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Pattern to match against to filter items with selection_type @@ -1595,7 +1596,7 @@ Default value: `undef` ##### `max_concurrent_jobs` -Data type: `Integer` +Data type: `Integer[1]` Maximum number of Jobs from the current Job resource that can run concurrently @@ -1603,7 +1604,7 @@ Default value: `1` ##### `write_bootstrap` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The writebootstrap directive specifies a file name where Bacula will write a bootstrap file for each Backup job run @@ -1611,7 +1612,7 @@ Default value: `undef` ##### `max_full_interval` -Data type: `Optional[String]` +Data type: `Optional[Bacula::Time]` The time specifies the maximum allowed age (counting from start time) of the most recent successful Full backup that is required in order to run Incremental or Differential backup jobs. f the most recent Full backup is older than this interval, Incremental and Differential backups will be upgraded to Full backups automatically. @@ -1651,7 +1652,7 @@ Default value: `'Backup'` ##### `sched` -Data type: `String` +Data type: `String[1]` The Schedule directive defines what schedule is to be used for the Job @@ -1659,7 +1660,7 @@ Default value: `'Default'` ##### `messages` -Data type: `String` +Data type: `String[1]` The Messages directive defines what Messages resource should be used for this job, and thus how and where the various messages are to be delivered @@ -1675,7 +1676,7 @@ Default value: `10` ##### `pool` -Data type: `String` +Data type: `String[1]` The Pool directive defines the pool of Volumes where your data can be backed up @@ -1683,7 +1684,7 @@ Default value: `'Default'` ##### `full_backup_pool` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The Full Backup Pool specifies a Pool to be used for Full backups @@ -1691,7 +1692,7 @@ Default value: `undef` ##### `differential_backup_pool` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The Differential Backup Pool specifies a Pool to be used for Differential backups @@ -1699,7 +1700,7 @@ Default value: `undef` ##### `level` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The Level directive specifies the default Job level to be run @@ -1739,7 +1740,7 @@ Default value: `10` ##### `max_concurrent_jobs` -Data type: `Integer` +Data type: `Integer[1]` Maximum number of Jobs from the current Job resource that can run concurrently @@ -1747,7 +1748,7 @@ Default value: `1` ##### `write_bootstrap` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` The writebootstrap directive specifies a file name where Bacula will write a bootstrap file for each Backup job run @@ -1755,7 +1756,7 @@ Default value: `undef` ##### `max_full_interval` -Data type: `Optional[String]` +Data type: `Optional[Bacula::Time]` The time specifies the maximum allowed age (counting from start time) of the most recent successful Full backup that is required in order to run Incremental or Differential backup jobs. f the most recent Full backup is older than this interval, Incremental and Differential backups will be upgraded to Full backups automatically. @@ -1787,7 +1788,7 @@ The following parameters are available in the `bacula::messages` defined type: ##### `append` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Append the message to the filename given in the address field @@ -1795,7 +1796,7 @@ Default value: `undef` ##### `catalog` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the Catalog database @@ -1803,7 +1804,7 @@ Default value: `undef` ##### `console` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the Bacula console @@ -1819,7 +1820,7 @@ Default value: `'dir'` ##### `director` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the Director whose name is given in the address field @@ -1827,7 +1828,7 @@ Default value: `undef` ##### `mailcmd` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Specify exactly how to send the mail @@ -1835,7 +1836,7 @@ Default value: `undef` ##### `mail` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the email addresses that are given as a comma separated list in the address field @@ -1843,7 +1844,7 @@ Default value: `undef` ##### `mailonerrorcmd` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Specify exactly how to send error mail @@ -1851,7 +1852,7 @@ Default value: `undef` ##### `mailonerror` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the error message to the email addresses that are given as a comma separated list in the address field @@ -1859,7 +1860,7 @@ Default value: `undef` ##### `mailonsuccesscmd` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Specify exactly how to send success mail @@ -1867,7 +1868,7 @@ Default value: `undef` ##### `mailonsuccess` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the success message to the email addresses that are given as a comma separated list in the address field @@ -1875,7 +1876,7 @@ Default value: `undef` ##### `mname` -Data type: `String` +Data type: `String[1]` The name of the Messages resource. The name you specify here will be used to tie this Messages resource to a Job and/or to the daemon @@ -1883,7 +1884,7 @@ Default value: `'Standard'` ##### `operatorcmd` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` This resource specification is similar to the MailCommand except that it is used for Operator messages @@ -1891,7 +1892,7 @@ Default value: `undef` ##### `operator` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the email addresses that are specified as a comma separated list in the address field @@ -1899,7 +1900,7 @@ Default value: `undef` ##### `syslog` -Data type: `Optional[String]` +Data type: `Optional[String[1]]` Send the message to the system log (syslog) using the facility specified in the address field @@ -1932,13 +1933,13 @@ The following parameters are available in the `bacula::schedule` defined type: ##### `runs` -Data type: `Array[String]` +Data type: `Array[String[1]]` A list of Bacula Run directives ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Path to bacula configuration directory @@ -1971,7 +1972,7 @@ The following parameters are available in the `bacula::storage::device` defined ##### `device_name` -Data type: `String` +Data type: `String[1]` Bacula director configuration for Device option 'Name' @@ -1979,7 +1980,7 @@ Default value: `$name` ##### `media_type` -Data type: `String` +Data type: `String[1]` Bacula director configuration for Device option 'Media Type' @@ -1987,7 +1988,7 @@ Default value: `'File'` ##### `device` -Data type: `String` +Data type: `Stdlib::Absolutepath` Bacula director configuration for Device option 'Archive Device' @@ -2035,7 +2036,7 @@ Default value: `false` ##### `maxconcurjobs` -Data type: `Integer` +Data type: `Integer[1]` Bacula director configuration for Device option 'Maximum Concurrent Jobs' @@ -2043,7 +2044,7 @@ Default value: `1` ##### `conf_dir` -Data type: `String` +Data type: `Stdlib::Absolutepath` Path to bacula configuration directory @@ -2059,7 +2060,7 @@ Default value: `'0770'` ##### `device_owner` -Data type: `String` +Data type: `String[1]` Owner of the Archive Device directory @@ -2067,7 +2068,7 @@ Default value: `$bacula::bacula_user` ##### `device_seltype` -Data type: `String` +Data type: `String[1]` SELinux type for the device @@ -2075,7 +2076,7 @@ Default value: `$bacula::device_seltype` ##### `director_name` -Data type: `String` +Data type: `String[1]` Name of the Director allowed to connect to the Storage daemon @@ -2083,7 +2084,7 @@ Default value: `$bacula::director_name` ##### `group` -Data type: `String` +Data type: `String[1]` The posix group for bacula @@ -2203,6 +2204,12 @@ Struct[{ }] ``` +### `Bacula::Password` + +Temporary workarond to accept Sensitive and non-Sensitive passwords + +Alias of `Variant[String[1], Sensitive[String[1]]]` + ### `Bacula::Runscript` A Bacula Runscript specification diff --git a/manifests/client.pp b/manifests/client.pp index 5418a74e5..4fc303bac 100644 --- a/manifests/client.pp +++ b/manifests/client.pp @@ -52,28 +52,28 @@ # class { 'bacula::client': director_name => 'mydirector.example.com' } # class bacula::client ( - Hash[String, Bacula::Message] $messages, - Array[String] $packages, - String $services, - String $default_pool, - Optional[String] $default_pool_full, - Optional[String] $default_pool_inc, - Optional[String] $default_pool_diff, - Integer $port = 9102, - Array[String[1]] $listen_address = [], - String $password = 'secret', - Integer $max_concurrent_jobs = 2, - String $director_name = $bacula::director_name, - Bacula::Yesno $autoprune = true, - Bacula::Time $file_retention = '45 days', - Bacula::Time $job_retention = '6 months', - String $client = $trusted['certname'], - String $address = $facts['networking']['fqdn'], - Optional[Bacula::Yesno] $pki_signatures = undef, - Optional[Bacula::Yesno] $pki_encryption = undef, - Optional[String] $pki_keypair = undef, - Optional[String] $pki_master_key = undef, - Optional[String] $plugin_dir = undef, + Hash[String, Bacula::Message] $messages, + Array[String[1]] $packages, + String[1] $services, + String[1] $default_pool, + Optional[String[1]] $default_pool_full, + Optional[String[1]] $default_pool_inc, + Optional[String[1]] $default_pool_diff, + Stdlib::Port $port = 9102, + Array[String[1]] $listen_address = [], + Bacula::Password $password = 'secret', + Integer[1] $max_concurrent_jobs = 2, + String[1] $director_name = $bacula::director_name, + Bacula::Yesno $autoprune = true, + Bacula::Time $file_retention = '45 days', + Bacula::Time $job_retention = '6 months', + String[1] $client = $trusted['certname'], + String[1] $address = $facts['networking']['fqdn'], + Optional[Bacula::Yesno] $pki_signatures = undef, + Optional[Bacula::Yesno] $pki_encryption = undef, + Optional[Stdlib::Absolutepath] $pki_keypair = undef, + Optional[Stdlib::Absolutepath] $pki_master_key = undef, + Optional[Stdlib::Absolutepath] $plugin_dir = undef, ) inherits bacula { $group = $bacula::bacula_group $conf_dir = $bacula::conf_dir diff --git a/manifests/director.pp b/manifests/director.pp index 40e0b7b1c..9d9b9761e 100644 --- a/manifests/director.pp +++ b/manifests/director.pp @@ -35,29 +35,29 @@ # @todo director_address is only used by bconsole, and is confusing as director is likely the same # class bacula::director ( - Hash[String, Bacula::Message] $messages, - Array[String] $packages, - String $services, - String $make_bacula_tables, - Bacula::Yesno $manage_db = true, - String $conf_dir = $bacula::conf_dir, - String $db_name = 'bacula', - String $db_pw = 'notverysecret', - String $db_user = 'bacula', - Optional[String] $db_address = undef, - Optional[String] $db_port = undef, - String $director_address = $bacula::director_address, - String $director = $trusted['certname'], # director here is not bacula::director - String $group = $bacula::bacula_group, - String $homedir = $bacula::homedir, - Optional[String] $job_tag = $bacula::job_tag, - Array[String[1]] $listen_address = [], - Integer $max_concurrent_jobs = 20, - Boolean $manage_defaults = true, - String $password = 'secret', - Integer $port = 9101, - String $rundir = $bacula::rundir, - String $storage_name = $bacula::storage_name, + Hash[String[1], Bacula::Message] $messages, + Array[String[1]] $packages, + String[1] $services, + String[1] $make_bacula_tables, + Bacula::Yesno $manage_db = true, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, + String[1] $db_name = 'bacula', + Bacula::Password $db_pw = 'notverysecret', + String[1] $db_user = 'bacula', + Optional[String[1]] $db_address = undef, + Optional[Stdlib::Port] $db_port = undef, + String[1] $director_address = $bacula::director_address, + String[1] $director = $trusted['certname'], # director here is not bacula::director + String[1] $group = $bacula::bacula_group, + Stdlib::Absolutepath $homedir = $bacula::homedir, + Optional[String[1]] $job_tag = $bacula::job_tag, + Array[String[1]] $listen_address = [], + Integer[1] $max_concurrent_jobs = 20, + Boolean $manage_defaults = true, + Bacula::Password $password = 'secret', + Stdlib::Port $port = 9101, + Stdlib::Absolutepath $rundir = $bacula::rundir, + String[1] $storage_name = $bacula::storage_name, ) inherits bacula { if $manage_defaults { include bacula::director::defaults diff --git a/manifests/director/client.pp b/manifests/director/client.pp index af1623655..d08dd7a0a 100644 --- a/manifests/director/client.pp +++ b/manifests/director/client.pp @@ -23,13 +23,13 @@ # } # define bacula::director::client ( - String $address, - Variant[String,Integer] $port, # FIXME: Remove String - String $password, - Bacula::Time $file_retention, - Bacula::Time $job_retention, - Bacula::Yesno $autoprune, - String $conf_dir = $bacula::conf_dir, + String[1] $address, + Variant[String[1],Stdlib::Port] $port, # FIXME: Remove String + Bacula::Password $password, + Bacula::Time $file_retention, + Bacula::Time $job_retention, + Bacula::Yesno $autoprune, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, ) { $epp_client_variables = { name => $name, diff --git a/manifests/director/fileset.pp b/manifests/director/fileset.pp index 4b80eb85c..0d2de9511 100644 --- a/manifests/director/fileset.pp +++ b/manifests/director/fileset.pp @@ -16,11 +16,11 @@ # } # define bacula::director::fileset ( - Array[String] $files, - String $conf_dir = $bacula::conf_dir, - String $director_name = $bacula::director_name, - Array[String] $excludes = [], - Hash[String, Variant[String, Array[String], Bacula::Yesno]] $options = { + Array[Stdlib::Absolutepath] $files, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, + String[1] $director_name = $bacula::director_name, + Array[Stdlib::Absolutepath] $excludes = [], + Hash[String[1], Variant[String[1], Array[String[1]], Bacula::Yesno]] $options = { 'signature' => 'SHA1', 'compression' => 'GZIP9', }, diff --git a/manifests/director/job.pp b/manifests/director/job.pp index 6ca29fef9..a1a50bf40 100644 --- a/manifests/director/job.pp +++ b/manifests/director/job.pp @@ -17,8 +17,8 @@ # } # define bacula::director::job ( - String $content, - String $conf_dir = $bacula::conf_dir, + String[1] $content, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, ) { include bacula diff --git a/manifests/director/pool.pp b/manifests/director/pool.pp index f12849520..892cfc3c6 100644 --- a/manifests/director/pool.pp +++ b/manifests/director/pool.pp @@ -29,19 +29,19 @@ # } # define bacula::director::pool ( - Optional[String] $volret = undef, - Optional[Variant[String,Integer]] $maxvoljobs = undef, # FIXME: Remove String - Optional[Bacula::Size] $maxvolbytes = undef, - Optional[Variant[String,Integer]] $maxvols = undef, # FIXME: Remove String - Optional[String] $label = undef, - Optional[String] $voluseduration = undef, - String $storage = $bacula::director::storage, - String $pooltype = 'Backup', - Bacula::Yesno $recycle = true, - Bacula::Yesno $autoprune = true, - String $purgeaction = 'Truncate', - Optional[String] $next_pool = undef, - String $conf_dir = $bacula::conf_dir, + Optional[Bacula::Time] $volret = undef, + Optional[Variant[String[1],Integer[1]]] $maxvoljobs = undef, # FIXME: Remove String + Optional[Bacula::Size] $maxvolbytes = undef, + Optional[Variant[String[1],Integer[1]]] $maxvols = undef, # FIXME: Remove String + Optional[String[1]] $label = undef, + Optional[Bacula::Time] $voluseduration = undef, + String[1] $storage = $bacula::director::storage, + String[1] $pooltype = 'Backup', + Bacula::Yesno $recycle = true, + Bacula::Yesno $autoprune = true, + String[1] $purgeaction = 'Truncate', + Optional[String[1]] $next_pool = undef, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, ) { $epp_pool_variables = { name => $name, diff --git a/manifests/director/postgresql.pp b/manifests/director/postgresql.pp index 3fe223733..3bc6d4340 100644 --- a/manifests/director/postgresql.pp +++ b/manifests/director/postgresql.pp @@ -8,10 +8,10 @@ # @param db_user The database user # class bacula::director::postgresql ( - String $make_bacula_tables = $bacula::director::make_bacula_tables, - String $db_name = $bacula::director::db_name, - String $db_pw = $bacula::director::db_pw, - String $db_user = $bacula::director::db_user, + String[1] $make_bacula_tables = $bacula::director::make_bacula_tables, + String[1] $db_name = $bacula::director::db_name, + Bacula::Password $db_pw = $bacula::director::db_pw, + String[1] $db_user = $bacula::director::db_user, ) { include bacula diff --git a/manifests/director/storage.pp b/manifests/director/storage.pp index 4f4a47b9a..8dc7c2813 100644 --- a/manifests/director/storage.pp +++ b/manifests/director/storage.pp @@ -16,13 +16,13 @@ # @param conf_dir Bacula configuration directory # define bacula::director::storage ( - String $address = $name, - Integer $port = 9103, - String $password = 'secret', - String $device_name = "${facts['networking']['fqdn']}-device", - String $media_type = 'File', - Integer $maxconcurjobs = 1, - String $conf_dir = $bacula::conf_dir, + String[1] $address = $name, + Stdlib::Port $port = 9103, + Bacula::Password $password = 'secret', + String[1] $device_name = "${facts['networking']['fqdn']}-device", + String[1] $media_type = 'File', + Integer[1] $maxconcurjobs = 1, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, ) { $epp_storage_variables = { name => $name, diff --git a/manifests/init.pp b/manifests/init.pp index 289e2444e..396930d13 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -33,28 +33,28 @@ # @todo director_address is confusing, and is only used by the bconsole template; Document the use of storage_name; Document the use of director_name # class bacula ( - String $conf_dir, - String $bacula_user, - String $bacula_group, - String $homedir, - String $rundir, - String $director_address, - String $director_name, - String $storage_name, - String $db_type = 'pgsql', - String $homedir_mode = '0770', - Bacula::Yesno $monitor = true, - String $device_seltype = 'bacula_store_t', - Optional[Bacula::Yesno] $tls_enable = undef, - Optional[Bacula::Yesno] $tls_require = undef, - Optional[String] $tls_certificate = undef, - Optional[String] $tls_key = undef, - Optional[Bacula::Yesno] $tls_verify_peer = undef, - Array[String] $tls_allowed_cn = [], - Optional[String] $tls_ca_certificate_file = undef, - Optional[String] $tls_ca_certificate_dir = undef, - Optional[String] $tls_dh_file = undef, - Optional[String] $job_tag = undef, + Stdlib::Absolutepath $conf_dir, + String[1] $bacula_user, + String[1] $bacula_group, + Stdlib::Absolutepath $homedir, + Stdlib::Absolutepath $rundir, + String[1] $director_address, + String[1] $director_name, + String[1] $storage_name, + String[1] $db_type = 'pgsql', + String[1] $homedir_mode = '0770', + Bacula::Yesno $monitor = true, + String[1] $device_seltype = 'bacula_store_t', + Optional[Bacula::Yesno] $tls_enable = undef, + Optional[Bacula::Yesno] $tls_require = undef, + Optional[Stdlib::Absolutepath] $tls_certificate = undef, + Optional[Stdlib::Absolutepath] $tls_key = undef, + Optional[Bacula::Yesno] $tls_verify_peer = undef, + Array[String[1]] $tls_allowed_cn = [], + Optional[Stdlib::Absolutepath] $tls_ca_certificate_file = undef, + Optional[Stdlib::Absolutepath] $tls_ca_certificate_dir = undef, + Optional[Stdlib::Absolutepath] $tls_dh_file = undef, + Optional[String[1]] $job_tag = undef, ) { # Do nothing } diff --git a/manifests/job.pp b/manifests/job.pp index 4c6384f11..1ad66da8d 100644 --- a/manifests/job.pp +++ b/manifests/job.pp @@ -42,33 +42,33 @@ # } # define bacula::job ( - Array[String] $files = [], - Array[String] $excludes = [], - Optional[String] $fileset = undef, - Bacula::JobType $jobtype = 'Backup', - String $template = 'bacula/job.conf.epp', - Optional[String] $pool = undef, - Optional[String] $pool_full = undef, - Optional[String] $pool_inc = undef, - Optional[String] $pool_diff = undef, - Optional[String] $storage = undef, - Variant[Boolean, String] $jobdef = 'Default', - Array[Bacula::Runscript] $runscript = [], - Optional[String] $level = undef, - Bacula::Yesno $accurate = false, - Bacula::Yesno $reschedule_on_error = false, - Bacula::Time $reschedule_interval = '1 hour', - Integer $reschedule_times = 10, - Optional[String] $messages = undef, - Stdlib::Absolutepath $restoredir = '/tmp/bacula-restores', - Optional[String] $sched = undef, - Optional[Integer] $priority = undef, - Optional[String] $job_tag = undef, - Optional[String] $selection_type = undef, - Optional[String] $selection_pattern = undef, - Integer $max_concurrent_jobs = 1, - Optional[String] $write_bootstrap = undef, - Optional[String] $max_full_interval = undef, + Array[Stdlib::Absolutepath] $files = [], + Array[Stdlib::Absolutepath] $excludes = [], + Optional[String[1]] $fileset = undef, + Bacula::JobType $jobtype = 'Backup', + String[1] $template = 'bacula/job.conf.epp', + Optional[String[1]] $pool = undef, + Optional[String[1]] $pool_full = undef, + Optional[String[1]] $pool_inc = undef, + Optional[String[1]] $pool_diff = undef, + Optional[String[1]] $storage = undef, + Variant[Boolean, String[1]] $jobdef = 'Default', + Array[Bacula::Runscript] $runscript = [], + Optional[String[1]] $level = undef, + Bacula::Yesno $accurate = false, + Bacula::Yesno $reschedule_on_error = false, + Bacula::Time $reschedule_interval = '1 hour', + Integer $reschedule_times = 10, + Optional[String[1]] $messages = undef, + Stdlib::Absolutepath $restoredir = '/tmp/bacula-restores', + Optional[String[1]] $sched = undef, + Optional[Integer] $priority = undef, + Optional[String[1]] $job_tag = undef, + Optional[String[1]] $selection_type = undef, + Optional[String[1]] $selection_pattern = undef, + Integer[1] $max_concurrent_jobs = 1, + Optional[String[1]] $write_bootstrap = undef, + Optional[Bacula::Time] $max_full_interval = undef, ) { include bacula include bacula::client diff --git a/manifests/jobdefs.pp b/manifests/jobdefs.pp index 1b826c107..b6280f7f9 100644 --- a/manifests/jobdefs.pp +++ b/manifests/jobdefs.pp @@ -19,21 +19,21 @@ # @param max_full_interval The time specifies the maximum allowed age (counting from start time) of the most recent successful Full backup that is required in order to run Incremental or Differential backup jobs. f the most recent Full backup is older than this interval, Incremental and Differential backups will be upgraded to Full backups automatically. # define bacula::jobdefs ( - Bacula::JobType $jobtype = 'Backup', - String $sched = 'Default', - String $messages = 'Standard', - Integer $priority = 10, - String $pool = 'Default', - Optional[String] $full_backup_pool = undef, - Optional[String] $differential_backup_pool = undef, - Optional[String] $level = undef, - Bacula::Yesno $accurate = false, - Bacula::Yesno $reschedule_on_error = false, - Bacula::Time $reschedule_interval = '1 hour', - Integer $reschedule_times = 10, - Integer $max_concurrent_jobs = 1, - Optional[String] $write_bootstrap = undef, - Optional[String] $max_full_interval = undef, + Bacula::JobType $jobtype = 'Backup', + String[1] $sched = 'Default', + String[1] $messages = 'Standard', + Integer $priority = 10, + String[1] $pool = 'Default', + Optional[String[1]] $full_backup_pool = undef, + Optional[String[1]] $differential_backup_pool = undef, + Optional[String[1]] $level = undef, + Bacula::Yesno $accurate = false, + Bacula::Yesno $reschedule_on_error = false, + Bacula::Time $reschedule_interval = '1 hour', + Integer $reschedule_times = 10, + Integer[1] $max_concurrent_jobs = 1, + Optional[String[1]] $write_bootstrap = undef, + Optional[Bacula::Time] $max_full_interval = undef, ) { include bacula $conf_dir = $bacula::conf_dir diff --git a/manifests/messages.pp b/manifests/messages.pp index ecf1db1c0..7be9946ef 100644 --- a/manifests/messages.pp +++ b/manifests/messages.pp @@ -19,21 +19,21 @@ # @param syslog Send the message to the system log (syslog) using the facility specified in the address field # define bacula::messages ( - Optional[String] $append = undef, - Optional[String] $catalog = undef, - Optional[String] $console = undef, + Optional[String[1]] $append = undef, + Optional[String[1]] $catalog = undef, + Optional[String[1]] $console = undef, Enum['dir', 'fd', 'sd'] $daemon = 'dir', - Optional[String] $director = undef, - Optional[String] $mailcmd = undef, - Optional[String] $mail = undef, - Optional[String] $mailonerrorcmd = undef, - Optional[String] $mailonerror = undef, - Optional[String] $mailonsuccesscmd = undef, - Optional[String] $mailonsuccess = undef, - String $mname = 'Standard', - Optional[String] $operatorcmd = undef, - Optional[String] $operator = undef, - Optional[String] $syslog = undef, + Optional[String[1]] $director = undef, + Optional[String[1]] $mailcmd = undef, + Optional[String[1]] $mail = undef, + Optional[String[1]] $mailonerrorcmd = undef, + Optional[String[1]] $mailonerror = undef, + Optional[String[1]] $mailonsuccesscmd = undef, + Optional[String[1]] $mailonsuccess = undef, + String[1] $mname = 'Standard', + Optional[String[1]] $operatorcmd = undef, + Optional[String[1]] $operator = undef, + Optional[String[1]] $syslog = undef, ) { include bacula include bacula::common diff --git a/manifests/schedule.pp b/manifests/schedule.pp index 1f389005c..32d8e6478 100644 --- a/manifests/schedule.pp +++ b/manifests/schedule.pp @@ -15,8 +15,8 @@ # } # define bacula::schedule ( - Array[String] $runs, - String $conf_dir = $bacula::conf_dir, + Array[String[1]] $runs, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, ) { concat::fragment { "bacula-schedule-${name}": target => "${conf_dir}/conf.d/schedule.conf", diff --git a/manifests/storage.pp b/manifests/storage.pp index f407d648f..710404836 100644 --- a/manifests/storage.pp +++ b/manifests/storage.pp @@ -25,26 +25,26 @@ # @param user The posix user for bacula # class bacula::storage ( - String $services, - Array[String] $packages, - String $conf_dir = $bacula::conf_dir, - String $device = '/bacula', - Stdlib::Filemode $device_mode = '0770', - String $device_name = "${trusted['certname']}-device", - String $device_owner = $bacula::bacula_user, - String $device_seltype = $bacula::device_seltype, - String $director_name = $bacula::director_name, - String $group = $bacula::bacula_group, - String $homedir = $bacula::homedir, - Array[String[1]] $listen_address = [], - Integer $maxconcurjobs = 5, - String $media_type = 'File', - String $password = 'secret', - Integer $port = 9103, - String $rundir = $bacula::rundir, - String $storage = $trusted['certname'], # storage here is not storage_name - String $address = $facts['networking']['fqdn'], - String $user = $bacula::bacula_user, + String[1] $services, + Array[String[1]] $packages, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, + Stdlib::Absolutepath $device = '/bacula', + Stdlib::Filemode $device_mode = '0770', + String[1] $device_name = "${trusted['certname']}-device", + String[1] $device_owner = $bacula::bacula_user, + String[1] $device_seltype = $bacula::device_seltype, + String[1] $director_name = $bacula::director_name, + String[1] $group = $bacula::bacula_group, + Stdlib::Absolutepath $homedir = $bacula::homedir, + Array[String[1]] $listen_address = [], + Integer[1] $maxconcurjobs = 5, + String[1] $media_type = 'File', + Bacula::Password $password = 'secret', + Stdlib::Port $port = 9103, + Stdlib::Absolutepath $rundir = $bacula::rundir, + String[1] $storage = $trusted['certname'], # storage here is not storage_name + String[1] $address = $facts['networking']['fqdn'], + String[1] $user = $bacula::bacula_user, ) inherits bacula { # Allow for package names to include EPP syntax for db_type $package_names = $packages.map |$p| { diff --git a/manifests/storage/device.pp b/manifests/storage/device.pp index d332dcacc..7a1024bef 100644 --- a/manifests/storage/device.pp +++ b/manifests/storage/device.pp @@ -20,21 +20,21 @@ # @param group The posix group for bacula # define bacula::storage::device ( - String $device_name = $name, - String $media_type = 'File', - String $device = '/bacula', - Bacula::Yesno $label_media = true, - Bacula::Yesno $random_access = true, - Bacula::Yesno $automatic_mount = true, - Bacula::Yesno $removable_media = false, - Bacula::Yesno $always_open = false, - Integer $maxconcurjobs = 1, - String $conf_dir = $bacula::conf_dir, - Stdlib::Filemode $device_mode = '0770', - String $device_owner = $bacula::bacula_user, - String $device_seltype = $bacula::device_seltype, - String $director_name = $bacula::director_name, - String $group = $bacula::bacula_group, + String[1] $device_name = $name, + String[1] $media_type = 'File', + Stdlib::Absolutepath $device = '/bacula', + Bacula::Yesno $label_media = true, + Bacula::Yesno $random_access = true, + Bacula::Yesno $automatic_mount = true, + Bacula::Yesno $removable_media = false, + Bacula::Yesno $always_open = false, + Integer[1] $maxconcurjobs = 1, + Stdlib::Absolutepath $conf_dir = $bacula::conf_dir, + Stdlib::Filemode $device_mode = '0770', + String[1] $device_owner = $bacula::bacula_user, + String[1] $device_seltype = $bacula::device_seltype, + String[1] $director_name = $bacula::director_name, + String[1] $group = $bacula::bacula_group, ) { $epp_device_variables = { device_name => $device_name, diff --git a/types/password.pp b/types/password.pp new file mode 100644 index 000000000..2195bd4d3 --- /dev/null +++ b/types/password.pp @@ -0,0 +1,5 @@ +# Temporary workarond to accept Sensitive and non-Sensitive passwords +type Bacula::Password = Variant[ + String[1], + Sensitive[String[1]], +]