bacula
: Main classbacula::client
: Configure the Bacula File Daemonbacula::common
: Utility class for the File Daemonbacula::director
: Configure the Bacula Directorbacula::director::defaults
: Bacula Director default resourcesbacula::director::postgresql
: Manage Bacula Director PostgreSQL databasebacula::storage
: Configure a Bacula Storage Daemon
bacula::director::client
: Define a Bacula Director Clientbacula::director::fileset
: Configure a Bacula Director Filesetbacula::director::job
: Configure a Bacula Director Jobbacula::director::pool
: Configure a Bacula Director Poolbacula::director::storage
: Configure a Bacula Director Storage resourcebacula::job
: Define a Bacula Jobbacula::jobdefs
: Define a Bacula Jobdefsbacula::messages
: Define a Bacula Messagesbacula::schedule
: Define a Bacula Schedulebacula::storage::device
: Configure a Bacula Storage Daemon Device
bacula::escape
: Return a quoted escaped string suitable for bacula configurationbacula::yesno2str
: Convert various representations of 'yes' and 'no' to 'yes' and 'no'.
Bacula::JobType
: The type of jobBacula::Message
: A Bacula message specificationBacula::Runscript
: A Bacula Runscript specificationBacula::Size
: A size indicationBacula::Time
: A time indicationBacula::Yesno
: A Boolean value
This class is here to hold the data about a bacula instalation. The parameters in this class are intended to be configured through hiera. Other module classes will reference the values here.
- 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
include bacula
The following parameters are available in the bacula
class:
conf_dir
bacula_user
bacula_group
homedir
rundir
director_address
director_name
storage_name
db_type
homedir_mode
monitor
device_seltype
tls_enable
tls_require
tls_certificate
tls_key
tls_verify_peer
tls_allowed_cn
tls_ca_certificate_file
tls_ca_certificate_dir
tls_dh_file
job_tag
Data type: String
The path to the bacula configuration directory
Data type: String
The posix user for bacula
Data type: String
The posix group for bacula
Data type: String
The bacula user's home directory path
Data type: String
The run dir for the daemons
Data type: String
The default address of the director used by bconsole
Data type: String
The default director name
Data type: String
The default storage name
Data type: String
The database provider used by Bacula
Default value: 'pgsql'
Data type: String
The bacula user's home director mode
Default value: '0770'
Data type: Bacula::Yesno
Enable the Bacula Monitor option
Default value: true
Data type: String
SELinux type for the device
Default value: 'bacula_store_t'
Data type: Optional[Bacula::Yesno]
Enable TLS support
Default value: undef
Data type: Optional[Bacula::Yesno]
Require TLS connections
Default value: undef
Data type: Optional[String]
The full path and filename of a PEM encoded TLS certificate
Default value: undef
Data type: Optional[String]
The full path and filename of a PEM encoded TLS private key
Default value: undef
Data type: Optional[Bacula::Yesno]
Verify peer certificate
Default value: undef
Data type: Array[String]
Common name attribute of allowed peer certificates
Default value: []
Data type: Optional[String]
The full path and filename specifying a PEM encoded TLS CA certificate(s)
Default value: undef
Data type: Optional[String]
Full path to TLS CA certificate directory
Default value: undef
Data type: Optional[String]
Path to PEM encoded Diffie-Hellman parameter file
Default value: undef
Data type: Optional[String]
A tag to add to all job resources
Default value: undef
This class installs and configures the File Daemon to backup a client system.
class { 'bacula::client': director_name => 'mydirector.example.com' }
The following parameters are available in the bacula::client
class:
packages
services
default_pool
default_pool_full
default_pool_inc
default_pool_diff
port
listen_address
password
max_concurrent_jobs
director_name
autoprune
file_retention
job_retention
client
address
pki_signatures
pki_encryption
pki_keypair
pki_master_key
plugin_dir
Data type: Array[String]
A list of packages to install; loaded from hiera
Data type: String
A list of services to operate; loaded from hiera
Data type: String
The name of the Pool for this FD to use by default
Data type: Optional[String]
The name of the Pool to use for Full jobs
Data type: Optional[String]
The name of the Pool to use for Incremental jobs
Data type: Optional[String]
The name of the Pool to use for Differential jobs
Data type: Integer
The listening port for the File Daemon
Default value: 9102
Data type: Array[String[1]]
The listening IP addresses for the File Daemon By default, Bacula listen an all IPv4 only, which is equivalent to
listen_address => [
'0.0.0.0',
],
Listening on both IPv6 and IPv4 depends on your system configuration of IPv4-mapped IPv6 (RFC 3493): when enabled, the following is enough to listen on both all IPv6 and all IPv4:
listen_address => [
'::',
],
If IPv4-mapped IPv6 is not used, each address must be indicated separately:
listen_address => [
'::',
'0.0.0.0',
],
Indicating both addresses with IPv4-mapped IPv6 enabled will result in Bacula being unable to bind twice to the IPv4 address and fail to start.
Default value: []
Data type: String
A password to use for communication with this File Daemon
Default value: 'secret'
Data type: Integer
Bacula FD option for 'Maximum Concurrent Jobs'
Default value: 2
Data type: String
The hostname of the director for this FD
Default value: $bacula::director_name
Data type: Bacula::Yesno
Bacula FD option for 'AutoPrune'
Default value: true
Data type: Bacula::Time
Bacula FD option for 'File Retention'
Default value: '45 days'
Data type: Bacula::Time
Bacula FD option for 'Job Retention'
Default value: '6 months'
Data type: String
The name or address by which to contact this FD
Default value: $trusted['certname']
Data type: String
The listening address for the File Daemon
Default value: $facts['networking']['fqdn']
Data type: Optional[Bacula::Yesno]
Bacula FD option for 'PKI Signatures'
Default value: undef
Data type: Optional[Bacula::Yesno]
Bacula FD option for 'PKI Encryption'
Default value: undef
Data type: Optional[String]
Bacula FD option for 'PKI Keypair'
Default value: undef
Data type: Optional[String]
Bacula FD option for 'PKI Master Key'
Default value: undef
Data type: Optional[String]
Bacula FD option for the 'Plugin Directory'
Default value: undef
This class configures and installs the bacula client packages and enables the service, so that bacula jobs can be run on the client including this manifest.
This class installs and configures the Bacula Director
- TODO director_address is only used by bconsole, and is confusing as director is likely the same
class { 'bacula::director':
storage => 'mystorage.example.com'
}
The following parameters are available in the bacula::director
class:
messages
packages
services
manage_db
conf_dir
db_name
db_pw
db_user
db_address
db_port
director_address
director
group
homedir
job_tag
listen_address
max_concurrent_jobs
manage_defaults
password
port
rundir
storage_name
make_bacula_tables
Data type: Hash[String, Bacula::Message]
Logging configuration; loaded from hiera
Data type: Array[String]
A list of packages to install; loaded from hiera
Data type: String
A list of services to operate; loaded from hiera
Data type: Bacula::Yesno
Whether the module should manage the director database
Default value: true
Data type: String
Path to bacula configuration directory
Default value: $bacula::conf_dir
Data type: String
The database name
Default value: 'bacula'
Data type: String
The database user's password
Default value: 'notverysecret'
Data type: String
The database user
Default value: 'bacula'
Data type: Optional[String]
The database address
Default value: undef
Data type: Optional[String]
The database port
Default value: undef
Data type: String
The address of the director used by bconsole
Default value: $bacula::director_address
Data type: String
The name of the director
Default value: $trusted['certname']
Data type: String
The posix group for bacula
Default value: $bacula::bacula_group
Data type: String
The bacula director working directory
Default value: $bacula::homedir
Data type: Optional[String]
A string to use when realizing jobs and filesets
Default value: $bacula::job_tag
Data type: Array[String[1]]
The listening IP addresses for the director
The notes for bacula::client::listen_address
apply.
Default value: []
Data type: Integer
Bacula Director option for 'Maximum Concurrent Jobs'
Default value: 20
Data type: Boolean
Setup default jobdef, schedule, pool and restoration jobs
Default value: true
Data type: String
password to connect to the director
Default value: 'secret'
Data type: Integer
The listening port for the Director
Default value: 9101
Data type: String
Bacula Director option for 'Pid Directory'
Default value: $bacula::rundir
Data type: String
The Name of the Storage daemon
Default value: $bacula::storage_name
Data type: String
Path to the script that loads the database schema
Some default resources for the bacula director. These are referenced by defaults in other parts of this module, but need not be used. They are here to ensure that the simple case of deploying a director and storage on the same machine, allows clients to receive the correct configuration.
Deploys a postgres database server for hosting the Bacula director database.
The following parameters are available in the bacula::director::postgresql
class:
Data type: String
Path to the script that loads the database schema
Default value: $bacula::director::make_bacula_tables
Data type: String
The database name
Default value: $bacula::director::db_name
Data type: String
The database user's password
Default value: $bacula::director::db_pw
Data type: String
The database user
Default value: $bacula::director::db_user
This class configures the Bacula storage daemon.
The following parameters are available in the bacula::storage
class:
services
packages
conf_dir
device
device_mode
device_name
device_owner
device_seltype
director_name
group
homedir
listen_address
maxconcurjobs
media_type
password
port
rundir
storage
address
user
Data type: String
A list of services to operate; loaded from hiera
Data type: Array[String]
A list of packages to install; loaded from hiera
Data type: String
Path to bacula configuration directory
Default value: $bacula::conf_dir
Data type: String
The system file name of the storage device managed by this storage daemon
Default value: '/bacula'
Data type: Stdlib::Filemode
The posix mode for device
Default value: '0770'
Data type: String
The Name that the Director will use when asking to backup or restore to or from to this device
Default value: "${trusted['certname']}-device"
Data type: String
The posix user owning the device directory
Default value: $bacula::bacula_user
Data type: String
SELinux type for the device
Default value: $bacula::device_seltype
Data type: String
Specifies the Name of the Director allowed to connect to the Storage daemon
Default value: $bacula::director_name
Data type: String
The posix group for bacula
Default value: $bacula::bacula_group
Data type: String
The directory in which the Storage daemon may put its status files
Default value: $bacula::homedir
Data type: Array[String[1]]
The listening IP addresses for the storage daemon
The notes for bacula::client::listen_address
apply.
Default value: []
Data type: Integer
maximum number of Jobs that may run concurrently
Default value: 5
Data type: String
The type of media supported by this device
Default value: 'File'
Data type: String
Specifies the password that must be supplied by the named Director
Default value: 'secret'
Data type: Integer
The listening port for the Storage Daemon
Default value: 9103
Data type: String
The directory in which the Director may put its process Id file files
Default value: $bacula::rundir
Data type: String
The address to be configured on the director to communicate with this storage server
Default value: $trusted['certname']
Data type: String
The listening address for the Storage Daemon
Default value: $facts['networking']['fqdn']
Data type: String
The posix user for bacula
Default value: $bacula::bacula_user
This define handles informing the director about a client. This class should
not be used directly, but only ever exported through the bacula::client
define. This is the director's configuration for a given client.
@@bacula::director::client { $client:
port => $port,
password => $password,
autoprune => $autoprune,
file_retention => $file_retention,
job_retention => $job_retention,
tag => "bacula-${director_name}",
}
The following parameters are available in the bacula::director::client
defined type:
Data type: String
The address of the Bacula File server daemon
Data type: Variant[String,Integer]
The port of the Bacula File server daemon
Data type: String
The password to be used when establishing a connection with the File services
Data type: Bacula::Time
The File Retention directive defines the length of time that Bacula will keep File records in the Catalog database after the End time of the Job corresponding to the File records
Data type: Bacula::Time
The Job Retention directive defines the length of time that Bacula will keep Job records in the Catalog database after the Job End time
Data type: Bacula::Yesno
If AutoPrune is set to yes, Bacula will automatically apply the File retention period and the Job retention period for the Client at the end of the Job
Data type: String
The path to the bacula configuration directory
Default value: $bacula::conf_dir
This class handles a Director's fileset.conf entry. Filesets are intended to be included on the Director catalog. Resources of this type may also be exported to be realized by the director.
bacula::director::fileset { 'Home':
files => ['/home'],
}
The following parameters are available in the bacula::director::fileset
defined type:
Data type: Array[String]
The list of directories and/or files to be processed in the backup job
Data type: String
The bacula configuration director. Should not need adjusting
Default value: $bacula::conf_dir
Data type: String
The name of the director intended to receive this fileset
Default value: $bacula::director_name
Data type: Array[String]
A list of paths to exclude from the filest
Default value: []
Data type: Hash[String, Variant[String, Array[String], Bacula::Yesno]]
A hash of options to include in the fileset
Default value:
{
'signature' => 'SHA1',
'compression' => 'GZIP9',
}
This define handles the director portion of a job. This define should not be
used directly. It is intended to be used only from the bacula::job
define.
This makes it simpler for the director to realize and override the conf_dir setting, so that the client conf_dir and the director conf_dir can differ, which is useful in a multi platform environment.
@@bacula::director::job { $name:
content => template($template),
tag => $real_tags,
}
The following parameters are available in the bacula::director::job
defined type:
Data type: String
The full content of the job definition
Data type: String
Overridden at realize, should not need adjusting
Default value: $bacula::conf_dir
This define adds a pool to the bacula director configuration in the conf.d method. This resources is intended to be used from bacula::storage as a way to export the pool resources to the director.
bacula::director::pool {
"PuppetLabsPool-Full":
volret => "2 months",
maxvolbytes => 2000000000,
maxvoljobs => 10,
maxvols => 20,
label => "Full-";
}
The following parameters are available in the bacula::director::pool
defined type:
volret
maxvoljobs
maxvolbytes
maxvols
label
voluseduration
storage
pooltype
recycle
autoprune
purgeaction
next_pool
conf_dir
Data type: Optional[String]
Bacula pool configuration option "Volume Retention"
Default value: undef
Data type: Optional[Variant[String,Integer]]
Bacula pool configuration option "Maximum Volume Jobs"
Default value: undef
Data type: Optional[Bacula::Size]
Bacula pool configuration option "Maximum Volume Bytes"
Default value: undef
Data type: Optional[Variant[String,Integer]]
Bacula pool configuration option "Maximum Volumes"
Default value: undef
Data type: Optional[String]
Bacula pool configuration option "Label Format"
Default value: undef
Data type: Optional[String]
Bacula pool configuration option "Volume Use Duration"
Default value: undef
Data type: String
Bacula pool configuration option "Storage"
Default value: $bacula::director::storage
Data type: String
Bacula pool configuration option "Pool Type"
Default value: 'Backup'
Data type: Bacula::Yesno
Bacula pool configuration option "Recycle"
Default value: true
Data type: Bacula::Yesno
Bacula pool configuration option "AutoPrune"
Default value: true
Data type: String
Bacula pool configuration option "Action On Purge"
Default value: 'Truncate'
Data type: Optional[String]
Bacula pool configuration option "Next Pool"
Default value: undef
Data type: String
The path to the bacula configuration directory
Default value: $bacula::conf_dir
This define creates a storage declaration for the director. This informs the director which storage servers are available to send client backups to.
This resource is intended to be used from bacula::storage as an exported resource, so that each storage server is available as a configuration on the director.
The following parameters are available in the bacula::director::storage
defined type:
Data type: String
Bacula director configuration for Storage option 'SDAddress'
Default value: $name
Data type: Integer
Bacula director configuration for Storage option 'SDPort'
Default value: 9103
Data type: String
Bacula director configuration for Storage option 'Password'
Default value: 'secret'
Data type: String
Bacula director configuration for Storage option 'Device'
Default value: "${facts['networking']['fqdn']}-device"
Data type: String
Bacula director configuration for Storage option 'Media Type'
Default value: 'File'
Data type: Integer
Bacula director configuration for Storage option 'Maximum Concurrent Jobs'
Default value: 1
Data type: String
Bacula configuration directory
Default value: $bacula::conf_dir
This class installs a bacula job on the director. This can be used for specific applications as well as general host backups
bacula::job { "${fqdn}-common":
fileset => "Root",
}
bacula::job { "${fqdn}-mywebapp":
files => ["/var/www/mywebapp","/etc/mywebapp"],
excludes => ["/var/www/mywebapp/downloads"],
}
The following parameters are available in the bacula::job
defined type:
files
excludes
fileset
jobtype
template
pool
pool_full
pool_inc
pool_diff
storage
jobdef
runscript
level
accurate
reschedule_on_error
reschedule_interval
reschedule_times
messages
restoredir
sched
priority
job_tag
selection_type
selection_pattern
max_concurrent_jobs
write_bootstrap
max_full_interval
Data type: Array[String]
An array of files that you wish to get backed up on this job for this host. ie: ["/etc","/usr/local"]
Default value: []
Data type: Array[String]
An array of files to skip for the given job. ie: ["/usr/local/src"]
Default value: []
Data type: Optional[String]
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
Default value: undef
Data type: Bacula::JobType
The type of job
Default value: 'Backup'
Data type: String
Template to use for generating the job configuration fragment
Default value: 'bacula/job.conf.epp'
Data type: Optional[String]
Name of the pool to use by default for this job
Default value: undef
Data type: Optional[String]
Name of the pool to use for Full jobs
Default value: undef
Data type: Optional[String]
Name of the pool to use for Incremental jobs
Default value: undef
Data type: Optional[String]
Name of the pool to use for Differential jobs
Default value: undef
Data type: Optional[String]
Name of the storage service to use
Default value: undef
Data type: Variant[Boolean, String]
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
Default value: 'Default'
Data type: Array[Bacula::Runscript]
Array of hash(es) containing RunScript directives
Default value: []
Data type: Optional[String]
The Level directive specifies the default Job level to be run
Default value: undef
Data type: Bacula::Yesno
In accurate mode, the File daemon knowns exactly which files were present after the last backup. So it is able to handle deleted or renamed files
Default value: false
Data type: Bacula::Yesno
boolean for enableing disabling job option "Reschedule On Error"
Default value: false
Data type: Bacula::Time
time-spec for job option "Reschedule Interval"
Default value: '1 hour'
Data type: Integer
count for job option "Reschedule Times"
Default value: 10
Data type: Optional[String]
containing the name of the message resource to use for this job set to false to disable this option
Default value: undef
Data type: Stdlib::Absolutepath
containing the prefix for restore jobs
Default value: '/tmp/bacula-restores'
Data type: Optional[String]
containing the name of the scheduler set to false to disable this option
Default value: undef
Data type: Optional[Integer]
containing the priority number for the job set to false to disable this option
Default value: undef
Data type: Optional[String]
that might be used for grouping of jobs. Pass this to bacula::director to only collect jobs that match this tag
Default value: undef
Data type: Optional[String]
Determines how the migration job will go about selecting what JobIds to migrate
Default value: undef
Data type: Optional[String]
Pattern to match against to filter items with selection_type
Default value: undef
Data type: Integer
Maximum number of Jobs from the current Job resource that can run concurrently
Default value: 1
Data type: Optional[String]
The writebootstrap directive specifies a file name where Bacula will write a bootstrap file for each Backup job run
Default value: undef
Data type: Optional[String]
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.
Default value: undef
This define adds a jobdefs entry on the bacula director for reference by the client configurations.
The following parameters are available in the bacula::jobdefs
defined type:
jobtype
sched
messages
priority
pool
full_backup_pool
differential_backup_pool
level
accurate
reschedule_on_error
reschedule_interval
reschedule_times
max_concurrent_jobs
write_bootstrap
max_full_interval
Data type: Bacula::JobType
The Type directive specifies the Job type
Default value: 'Backup'
Data type: String
The Schedule directive defines what schedule is to be used for the Job
Default value: 'Default'
Data type: String
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
Default value: 'Standard'
Data type: Integer
This directive permits you to control the order in which your jobs will be run by specifying a positive non-zero number
Default value: 10
Data type: String
The Pool directive defines the pool of Volumes where your data can be backed up
Default value: 'Default'
Data type: Optional[String]
The Full Backup Pool specifies a Pool to be used for Full backups
Default value: undef
Data type: Optional[String]
The Differential Backup Pool specifies a Pool to be used for Differential backups
Default value: undef
Data type: Optional[String]
The Level directive specifies the default Job level to be run
Default value: undef
Data type: Bacula::Yesno
In accurate mode, the File daemon knowns exactly which files were present after the last backup
Default value: false
Data type: Bacula::Yesno
If this directive is enabled, and the job terminates in error, the job will be rescheduled as determined by the Reschedule Interval and Reschedule Times directives
Default value: false
Data type: Bacula::Time
If you have specified Reschedule On Error = yes and the job terminates in error, it will be rescheduled after the interval of time specified by time-specification
Default value: '1 hour'
Data type: Integer
This directive specifies the maximum number of times to reschedule the job
Default value: 10
Data type: Integer
Maximum number of Jobs from the current Job resource that can run concurrently
Default value: 1
Data type: Optional[String]
The writebootstrap directive specifies a file name where Bacula will write a bootstrap file for each Backup job run
Default value: undef
Data type: Optional[String]
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.
Default value: undef
Create a Messages resource on the $daemon (director, storage or file).
The following parameters are available in the bacula::messages
defined type:
append
catalog
console
daemon
director
mailcmd
mail
mailonerrorcmd
mailonerror
mailonsuccesscmd
mailonsuccess
mname
operatorcmd
operator
syslog
Data type: Optional[String]
Append the message to the filename given in the address field
Default value: undef
Data type: Optional[String]
Send the message to the Catalog database
Default value: undef
Data type: Optional[String]
Send the message to the Bacula console
Default value: undef
Data type: Enum['dir', 'fd', 'sd']
Daemon to add Messages resource to
Default value: 'dir'
Data type: Optional[String]
Send the message to the Director whose name is given in the address field
Default value: undef
Data type: Optional[String]
Specify exactly how to send the mail
Default value: undef
Data type: Optional[String]
Send the message to the email addresses that are given as a comma separated list in the address field
Default value: undef
Data type: Optional[String]
Specify exactly how to send error mail
Default value: undef
Data type: Optional[String]
Send the error message to the email addresses that are given as a comma separated list in the address field
Default value: undef
Data type: Optional[String]
Specify exactly how to send success mail
Default value: undef
Data type: Optional[String]
Send the success message to the email addresses that are given as a comma separated list in the address field
Default value: undef
Data type: String
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
Default value: 'Standard'
Data type: Optional[String]
This resource specification is similar to the MailCommand except that it is used for Operator messages
Default value: undef
Data type: Optional[String]
Send the message to the email addresses that are specified as a comma separated list in the address field
Default value: undef
Data type: Optional[String]
Send the message to the system log (syslog) using the facility specified in the address field
Default value: undef
Creates a schedule to which jobs and jobdefs can adhere.
bacula::schedule { 'Regularly':
runs => [
'Level=Incremental monday-saturday at 12:15',
'Level=Incremental monday-saturday at 0:15',
'Level=Full sunday at 0:05',
]
}
The following parameters are available in the bacula::schedule
defined type:
Data type: Array[String]
A list of Bacula Run directives
Data type: String
Path to bacula configuration directory
Default value: $bacula::conf_dir
This define creates a storage device declaration. This informs the storage daemon which storage devices are available to send client backups to.
The following parameters are available in the bacula::storage::device
defined type:
device_name
media_type
device
label_media
random_access
automatic_mount
removable_media
always_open
maxconcurjobs
conf_dir
device_mode
device_owner
device_seltype
director_name
group
Data type: String
Bacula director configuration for Device option 'Name'
Default value: $name
Data type: String
Bacula director configuration for Device option 'Media Type'
Default value: 'File'
Data type: String
Bacula director configuration for Device option 'Archive Device'
Default value: '/bacula'
Data type: Bacula::Yesno
Bacula director configuration for Device option 'LabelMedia'
Default value: true
Data type: Bacula::Yesno
Bacula director configuration for Device option 'Random Access'
Default value: true
Data type: Bacula::Yesno
Bacula director configuration for Device option 'AutomaticMount'
Default value: true
Data type: Bacula::Yesno
Bacula director configuration for Device option 'RemovableMedia'
Default value: false
Data type: Bacula::Yesno
Bacula director configuration for Device option 'AlwaysOpen'
Default value: false
Data type: Integer
Bacula director configuration for Device option 'Maximum Concurrent Jobs'
Default value: 1
Data type: String
Path to bacula configuration directory
Default value: $bacula::conf_dir
Data type: Stdlib::Filemode
Unix mode of the Archive Device directory
Default value: '0770'
Data type: String
Owner of the Archive Device directory
Default value: $bacula::bacula_user
Data type: String
SELinux type for the device
Default value: $bacula::device_seltype
Data type: String
Name of the Director allowed to connect to the Storage daemon
Default value: $bacula::director_name
Data type: String
The posix group for bacula
Default value: $bacula::bacula_group
Type: Ruby 4.x API
Return a quoted escaped string suitable for bacula configuration
bacula::escape('sed -i "" -e s|a|b| /tmp/tmp.U6BF0NIS') #=> "\"sed -i \\\"\\\" -e s|a|b| /tmp/tmp.U6BF0NIS\""
Return a quoted escaped string suitable for bacula configuration
Returns: String
The escaped string
bacula::escape('sed -i "" -e s|a|b| /tmp/tmp.U6BF0NIS') #=> "\"sed -i \\\"\\\" -e s|a|b| /tmp/tmp.U6BF0NIS\""
Data type: String
The string to escape
Type: Ruby 4.x API
Convert various representations of 'yes' and 'no' to 'yes' and 'no'.
bacula::yesno2str(true) #=> 'yes'
bacula::yesno2str('true') #=> 'yes'
bacula::yesno2str('yes') #=> 'yes'
bacula::yesno2str(false) #=> 'no'
bacula::yesno2str('false') #=> 'no'
bacula::yesno2str('no') #=> 'no'
Convert various representations of 'yes' and 'no' to 'yes' and 'no'.
Returns: String
Either 'yes' or 'no'
bacula::yesno2str(true) #=> 'yes'
bacula::yesno2str('true') #=> 'yes'
bacula::yesno2str('yes') #=> 'yes'
bacula::yesno2str(false) #=> 'no'
bacula::yesno2str('false') #=> 'no'
bacula::yesno2str('no') #=> 'no'
Data type: Variant[Boolean, Enum["yes", "true", "no", "false"]]
A boolean value
The type of job
Alias of Pattern[/^Backup/, /^Restore/, /^Admin/, /^Verify/, /^Copy/, /^Migrate/]
A Bacula message specification
Alias of
Struct[{
mname => String,
append => Optional[String],
catalog => Optional[String],
console => Optional[String],
daemon => Optional[String],
director => Optional[String],
mail => Optional[String],
mailcmd => Optional[String],
mailonsuccess => Optional[String],
mailonsuccesscmd => Optional[String],
mailonerror => Optional[String],
mailonerrorcmd => Optional[String],
operator => Optional[String],
operatorcmd => Optional[String],
syslog => Optional[String],
}]
A Bacula Runscript specification
Alias of
Struct[{
runs_when => Optional[Enum[
'Before',
'After',
'Always',
'AfterVSS',
'Never',
]],
fail_job_on_error => Optional[Bacula::Yesno],
runs_on_success => Optional[Bacula::Yesno],
runs_on_failure => Optional[Bacula::Yesno],
runs_on_client => Optional[Bacula::Yesno],
command => String,
}]
A size indication
12
"7MB"
"3 GB"
Alias of
Variant[Integer, Pattern[
/(?i:\A\d+\s*[mg]b?\Z)/,
]]
A time indication
"12"
"12 hours 7 seconds"
"8d 2h 12m"
Alias of Pattern[/^\d+$/, /^\d+\s+(s|sec|seconds?|mins?|minutes?|h|hours?|d|days?|w|weeks?|m|months?|q|quarters?|y|years?)(\s+\d+\s+(s|sec|seconds?|mins?|minutes?|h|hours?|d|days?|w|weeks?|m|months?|q|quarters?|y|years?))*$/]
A Boolean value
Alias of
Variant[Boolean, Enum[
'yes',
'no',
'true', # lint:ignore:quoted_booleans
'false', # lint:ignore:quoted_booleans
]]