Skip to content

Latest commit

 

History

History
2405 lines (1550 loc) · 64.3 KB

REFERENCE.md

File metadata and controls

2405 lines (1550 loc) · 64.3 KB

Reference

Table of Contents

Classes

Defined types

Data types

Classes

rsyslog

Manage the Rsyslog daemon package, service, and configuration.

Examples

using class
class { 'rsyslog':
  manage_service => true,
}
using hieradata
# Manifest
include rsyslog
include rsyslog::config

# Hieradata
---
rsyslog::confdir: /etc/rsyslog.d
rsyslog::package_name: rsyslog
rsysog::config::global_config:
  workDirectory:
    value: '/var/spool/rsyslog'

Parameters

The following parameters are available in the rsyslog class:

confdir

Data type: String

The rsyslog configuration directory.

package_name

Data type: String

The name of the rsyslog package to install.

package_version

Data type: String

The version of rsyslog to install.

config_file

Data type: String

The global rsyslog configuration file.

feature_packages

Data type: Array

List of additional rsyslog packages to install.

module_load_priority

Data type: Integer

Order the loading of rsyslog modules relative to other configuration.

service_name

Data type: String

Name of the SystemD, Upstart, or SysVInit service.

service_status

Data type: String

State desired for the rsyslog service.

service_enabled

Data type: Boolean

Is the service enabled or not.

override_default_config

Data type: Boolean

Override the default rsyslog.conf file.

manage_package

Data type: Boolean

Toggle the managing of the rsyslog package.

use_upstream_repo

Data type: Boolean

Toggle using the upstream Adiscon Rsyslog repository.

manage_confdir

Data type: Boolean

Toggle management of the Rsyslog configuration directory.

manage_service

Data type: Boolean

Toggle management of the rsyslog service.

external_service

Data type: Boolean

Toggle if the service is external to where rsyslog is being run. I.E. a service that starts a docker container running rsyslog.

purge_config_files

Data type: Boolean

Toggle purging of unmanaged configuration files.

global_config_priority

Data type: Integer

Set the global ordering of global configuration parameters in rsyslog.

legacy_config_priority

Data type: Integer

Set the global ordering of legacy configuration parameters in rsyslog.

template_priority

Data type: Integer

Set the global ordering of template configuration in rsyslog.

action_priority

Data type: Integer

Set the global ordering of action configuration in rsyslog.

input_priority

Data type: Integer

Set the global ordering of input configuration in rsyslog.

custom_priority

Data type: Integer

Set the global ordering of custom configuration in rsyslog.

main_queue_priority

Data type: Integer

Set the global ordering of main queue configuration in rsyslog.

lookup_table_priority

Data type: Integer

Set the global ordering of lookup table configuration in rsyslog.

parser_priorty

Set the global ordering of parser configuration in rsyslog.

ruleset_priority

Data type: Integer

Set the global ordering of rulesets configuration in rsyslog.

filter_priority

Data type: Integer

Set the global ordering of filter configuration in rsyslog.

target_file

Data type: String

Target file to insert configuration into.

conf_permissions

Data type: Stdlib::Filemode

Set the file mode for the generated configuration files.

Default value: '0644'

confdir_permissions

Data type: Stdlib::Filemode

Set the file mode for the rsyslog.d configuration directory.

Default value: '0755'

global_conf_perms

Data type: Stdlib::Filemode

Set the file mode for the /etc/rsyslog.conf

Default value: $conf_permissions

parser_priority

Data type: Integer

rsyslog::base

This class manages the base installation for rsyslog

rsyslog::config

Manage the configuration parameters for rsyslog. This class can be called explicitly or through the use of hieradata.

Examples

using class
class { 'rsyslog::config':
  global_config      => {
    'workDirectory'  => {
      'value'        => '/var/spool/rsyslog',
    },
    'maxMessageSize' => {
      'value'        => '64k'
    }
  },
  actions            => {
    'all_logs'       => {
      'type'         => 'omfile',
      'facility'     => '*.*;auth,authpriv.none',
      'config'       => {
        'dynaFile'   => 'remoteSyslog',
        'specifics'  => '/var/log/test',
      },
    },
  },
}
using hieradata
# Include class
include rsyslog::config

# Hieradata
---
rsyslog::config::global_config:
  workDirectory:
    value: '/var/spool/rsyslog'
  maxMessageSize:
    value: '64k'
rsyslog::config::actions:
  all_logs:
    type: omfile
    factiliy: "*.*;auth,authpriv.none"
    config:
      dynaFile: remoteSyslog
      specifics: '/var/log/test'

Parameters

The following parameters are available in the rsyslog::config class:

global_config

Data type: Hash

Hash of global configuration options. Supports both Rainerscript and Legacy configuration formats depending on the configuration option.

  • :name (String) [undef] Name of the global configuration option to set.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :confdir (String) [/etc/rsyslog.d] Directory where the configuration file exists.
    • :value (String) [] Value of the configuration item
    • :config (Hash) [{}] Hash of configuration data for the option. Contents dependent on the configuration option.
    • :type (Enum['rainerscript', 'legacy']) [rainerscript] configuration format to use.
    • :format (String) ['<%= $content %>'] The content format. Defaults to epp template code.

Default value: {}

legacy_config

Data type: Hash

Hash of rsyslog configuration in the legacy format.

  • :name (String) [undef] Na,e of the legacy configuration option.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :value (String) [] Value of the configuration item
    • :confdir (String) [/etc/rsyslog.d] The configuration directory where config file exists.
    • :key (String) [legacy_key] The rsyslog legacy configuration key name
    • :type (String) [sysklogd] The type of legacy configuration it is.
    • :format (String) ['<%= $content %>'] The content format. Defaults to epp template code.

Default value: {}

templates

Data type: Hash

Hash of rsyslog templates.

  • :name (String) [undef] Name of the global configuration option to set.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :confdir (String) [/etc/rsyslog.d] Directory where the configuration file exists.
    • :type (Enum['string', 'list', 'subtree', 'plugin']) [undef] Rsyslog template type.
    • :list_descriptions (Array) [[]] An array of hashes representing list template constants and properties
    • :string (String) [''] String value for a String template.
    • :subtree (String) [''] String representation of the subtree value.
    • :plugin (String) [''] Name of the plugin the template will use.
    • :options (Hash) [{}] Hash of additional template options.
    • :format (String) ['<%= $content %>'] The content format. Defaults to epp template code.

Default value: {}

actions

Data type: Hash

Hash of rsyslog actions.

  • :name (String) [undef] Name of the global configuration option to set.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :confdir (String) [/etc/rsyslog.d] Directory where the configuration file exists.
    • :type (String) [undef] Type of output module the action will use.
    • :config (Optional[Hash]) [undef] A hash of output module specific configuration options.
    • :facility (String) ['default'] The syslog facility to use when outputting this action.
    • :format (String) ['<%= $content %>'] The content format. Defaults to epp template code.

Default value: {}

inputs

Data type: Hash

Hash of rsyslog input plugins to use.

  • :name (String) [undef] Name of the global configuration option to set.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :confdir (String) [/etc/rsyslog.d] Directory where the configuration file exists.
    • :type (String) [undef] The name of the input module to use.
    • :config (Optional[Hash]) [undef] Hash of input module specific configuration settings. Depends on value of type
    • :format (String) ['<%= $content %>'] The content format. Defaults to epp template code.

Default value: {}

custom_config

Data type: Hash

Hash of custom raw configuration to place in the rsyslog config file.

  • :name (String) [undef] Name of the global configuration option to set.
    • :priority (Integer) [10] Sets where in the config the option will be placed in the target file.
    • :target (String) [50_rsyslog.conf] File to place the conf
    • :confdir (String) [/etc/rsyslog.d] Directory where the configuration file exists.
    • :content (String) [undef] The single/multi-line string representing the config.

Default value: {}

main_queue_opts

Data type: Hash

Default value: {}

modules

Data type: Hash

Default value: {}

lookup_tables

Data type: Hash

Default value: {}

parsers

Data type: Hash

Default value: {}

rulesets

Data type: Hash

Default value: {}

property_filters

Data type: Hash

Default value: {}

expression_filters

Data type: Hash

Default value: {}

rsyslog::config::actions

The rsyslog::config::actions class.

rsyslog::config::custom

The rsyslog::config::custom class.

rsyslog::config::expression_filters

The rsyslog::config::expression_filters class.

rsyslog::config::global

The rsyslog::config::global class.

rsyslog::config::inputs

The rsyslog::config::inputs class.

rsyslog::config::legacy

The rsyslog::config::legacy class.

rsyslog::config::lookup_tables

The rsyslog::config::lookup_tables class.

rsyslog::config::main_queue

The rsyslog::config::main_queue class.

rsyslog::config::modules

The rsyslog::config::modules class.

rsyslog::config::parsers

The rsyslog::config::parsers class.

rsyslog::config::property_filters

The rsyslog::config::property_filters class.

rsyslog::config::rulesets

The rsyslog::config::rulesets class.

rsyslog::config::templates

The rsyslog::config::templates class.

Defined types

rsyslog::component::action

The rsyslog::component::action class.

Parameters

The following parameters are available in the rsyslog::component::action defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

type

Data type: String

config

Data type: Optional[Hash]

facility

Data type: Optional[String]

Default value: 'default'

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::custom_config

This is a catch-all definition for use in edge cases where some code needs inserting somewhere in rsyslog.d according to priority but cannot be modelled with any of the shipped models.

Parameters

The following parameters are available in the rsyslog::component::custom_config defined type:

content

Data type: String

priority

Data type: Integer

Default value: $rsyslog::custom_priority

target

Data type: String

Default value: "${name}.conf"

confdir

Data type: String

Default value: $rsyslog::confdir

filename_part

Data type: String

Default value: $name

rsyslog::component::expression_filter

The rsyslog::component::expression_filter class.

Parameters

The following parameters are available in the rsyslog::component::expression_filter defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

conditionals

Data type: Hash

format

Data type: String

Default value: '<%= $content %>'

rsyslog::component::global_config

The rsyslog::component::global_config class.

Parameters

The following parameters are available in the rsyslog::component::global_config defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

value

Data type: Optional[String]

Default value: ''

config

Data type: Optional[Hash]

Default value: {}

type

Data type: Optional[String]

Default value: 'rainerscript'

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::input

The rsyslog::component::input class.

Parameters

The following parameters are available in the rsyslog::component::input defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

type

Data type: String

config

Data type: Optional[Hash]

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::legacy_config

The rsyslog::component::legacy_config class.

Parameters

The following parameters are available in the rsyslog::component::legacy_config defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

value

Data type: String

key

Data type: Optional[String]

Default value: 'legacy_key'

type

Data type: Optional[String]

Default value: 'sysklogd'

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::lookup_table

The rsyslog::component::lookup_table class.

Parameters

The following parameters are available in the rsyslog::component::lookup_table defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

lookup_json

Data type: Hash

lookup_file

Data type: Stdlib::AbsolutePath

reload_on_hup

Data type: Boolean

rsyslog_in_docker

Data type: Boolean

Default value: false

json_file

Data type: Optional[Stdlib::AbsolutePath]

Default value: undef

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::main_queue

The rsyslog::component::main_queue class.

Parameters

The following parameters are available in the rsyslog::component::main_queue defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

config

Data type: Hash

rsyslog::component::module

The rsyslog::component::module class.

Parameters

The following parameters are available in the rsyslog::component::module defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

config

Data type: Optional[Hash]

Default value: {}

type

Data type: Optional[String]

Default value: 'external'

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::parser

The rsyslog::component::parser class.

Parameters

The following parameters are available in the rsyslog::component::parser defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

type

Data type: String

config

Data type: Optional[Hash]

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::property_filter

The rsyslog::component::property_filter class.

Parameters

The following parameters are available in the rsyslog::component::property_filter defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

property

Data type: String

operator

Data type: Rsyslog::PropertyOperator

value

Data type: String

tasks

Data type: Array

Default value: []

format

Data type: String

Default value: '<%= $content %>'

rsyslog::component::ruleset

The rsyslog::component::ruleset class.

Parameters

The following parameters are available in the rsyslog::component::ruleset defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

rules

Data type: Optional[Array]

Default value: []

stop

Data type: Optional[Boolean]

Default value: false

parameters

Data type: Optional[Hash]

Default value: {}

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::component::template

The rsyslog::component::template class.

Parameters

The following parameters are available in the rsyslog::component::template defined type:

priority

Data type: Integer

target

Data type: String

confdir

Data type: String

type

Data type: Enum['string', 'list', 'subtree', 'plugin']

list_descriptions

Data type: Optional[Array]

Default value: []

string

Data type: Optional[String]

Default value: ''

subtree

Data type: Optional[String]

Default value: ''

plugin

Data type: Optional[String]

Default value: ''

options

Data type: Optional[Hash]

Default value: {}

format

Data type: Optional[String]

Default value: '<%= $content %>'

rsyslog::generate_concat

The rsyslog::generate_concat class.

Parameters

The following parameters are available in the rsyslog::generate_concat defined type:

confdir

Data type: String

target

Data type: String

Data types

Rsyslog::Actions

Struct data type alias for Rsyslog Actions

Alias of

Array[Struct[{
    name          => String[1],
    type          => Rsyslog::Modules::Output,
    facility      => Optional[String[1]],
    action_params => Optional[Rsyslog::Actions::Parameters],
    queue_params  => Optional[Rsyslog::Queue::Parameters],
    output_params => Optional[Variant[
      Rsyslog::Actions::Outputs::Omamqp1,
      Rsyslog::Actions::Outputs::Omelasticsearch,
      Rsyslog::Actions::Outputs::Omfile,
      Rsyslog::Actions::Outputs::Omfwd,
      Rsyslog::Actions::Outputs::Omhiredis,
      Rsyslog::Actions::Outputs::Omhttpfs,
      Rsyslog::Actions::Outputs::Omjournal,
      Rsyslog::Actions::Outputs::Omkafka,
      Rsyslog::Actions::Outputs::Omlibdbi,
      Rsyslog::Actions::Outputs::Ommail,
      Rsyslog::Actions::Outputs::Ommongodb,
      Rsyslog::Actions::Outputs::Ommysql,
      Rsyslog::Actions::Outputs::Ompgsql,
      Rsyslog::Actions::Outputs::Ompipe,
      Rsyslog::Actions::Outputs::Omprog,
      Rsyslog::Actions::Outputs::Omrelp,
      Rsyslog::Actions::Outputs::Omsnmp,
      Rsyslog::Actions::Outputs::Omudpspoof,
      Rsyslog::Actions::Outputs::Omusrmsg,
    ]],
  }]]

Rsyslog::Actions::Outputs::Omamqp1

The Rsyslog::Actions::Outputs::Omamqp1 data type.

Alias of

Struct[{
  host           => String[1],
  target         => String[1],
  username       => Optional[String[1]],
  password       => Optional[String[1]],
  template       => Optional[String[1]],
  idletimeout    => Optional[Integer],
  reconnectdelay => Optional[Integer],
  maxretries     => Optional[Integer],
  disablesasl    => Optional[Integer],
}]

Rsyslog::Actions::Outputs::Omelasticsearch

The Rsyslog::Actions::Outputs::Omelasticsearch data type.

Alias of

Struct[{
  server               => Optional[Variant[Stdlib::Host, Array[Stdlib::Host]]],
  serverport           => Optional[Stdlib::Port],
  healthchecktimeout   => Optional[Integer],
  searchindex          => Optional[String[1]],
  dynsearchindex       => Optional[Enum['on', 'off']],
  searchtype           => Optional[String[1]],
  dynsearchtype        => Optional[Enum['on', 'off']],
  pipelinename         => Optional[String[1]],
  dynpipelinename      => Optional[Enum['on', 'off']],
  usehttps             => Optional[Enum['on', 'off']],
  timeout              => Optional[Pattern[/^([0-9]+)(ms|s|m)$/]],
  template             => Optional[String[1]],
  bulkmode             => Optional[Enum['on', 'off']],
  maxbytes             => Optional[Pattern[/^([0-9]+)[kKmMgGtT]$/]],
  parent               => Optional[String[1]],
  dynparent            => Optional[Enum['on', 'off']],
  uid                  => Optional[String[1]],
  pwd                  => Optional[String[1]],
  errorfile            => Optional[Stdlib::Absolutepath],
  'tls.cacert'         => Optional[Stdlib::Absolutepath],
  'tls.mycert'         => Optional[Stdlib::Absolutepath],
  'tls.myprivkey'      => Optional[Stdlib::Absolutepath],
  bulkid               => Optional[String[1]],
  dynbulkid            => Optional[Enum['on', 'off']],
  writeoperation       => Optional[Enum['index', 'create']],
  retryfailures        => Optional[Enum['on', 'off']],
  retryruleset         => Optional[String[1]],
  'ratelimit.interval' => Optional[Integer],
  'ratelimit.burst'    => Optional[Integer],
}]

Rsyslog::Actions::Outputs::Omfile

The Rsyslog::Actions::Outputs::Omfile data type.

Alias of

Struct[{
  file               => Optional[Stdlib::Absolutepath],
  dynafile           => Optional[String[1]],
  template           => Optional[String[1]],
  closetimeout       => Optional[Integer],
  dynafilecachesize  => Optional[Integer],
  ziplevel           => Optional[Integer],
  veryrobustzip      => Optional[Enum['on', 'off']],
  flushinterval      => Optional[Integer],
  asyncwriting       => Optional[Enum['on', 'off']],
  flushontxend       => Optional[Enum['on', 'off']],
  iobuffersize       => Optional[Pattern[/^([0-9]+)[kKmMgGtT]$/]],
  dirowner           => Optional[String[1]],
  dirownernum        => Optional[Integer],
  dirgroup           => Optional[String[1]],
  dirgroupnum        => Optional[Integer],
  fileowner          => Optional[String[1]],
  fileownernum       => Optional[Integer],
  filegroup          => Optional[String[1]],
  filegroupnum       => Optional[Integer],
  filecreatemode     => Optional[Pattern[/^(([0-7]{1,4})*)$/]],
  dircreatemode      => Optional[Pattern[/^(([0-7]{1,4})*)$/]],
  failonchownfailure => Optional[Enum['on', 'off']],
  createdirs         => Optional[Enum['on', 'off']],
  sync               => Optional[Enum['on', 'off']],
  'sig.provider'     => Optional[Enum['ksi_ls12']],
  'cry.provider'     => Optional[Enum['gcry']],
}]

Rsyslog::Actions::Outputs::Omfwd

The Rsyslog::Actions::Outputs::Omfwd data type.

Alias of

Struct[{
  target                            => Optional[Stdlib::Host],
  port                              => Optional[Stdlib::Port],
  protocol                          => Optional[Enum['tcp', 'udp', 'ossl', 'gtls']],
  networknamespace                  => Optional[String[1]],
  address                           => Optional[Stdlib::IP::Address],
  ipfreebind                        => Optional[Integer[0, 2]],
  device                            => Optional[String[1]],
  tcp_framing                       => Optional[Enum['traditional', 'octet-counted']],
  tcp_framedelimiter                => Optional[Integer[0, 255]],
  ziplevel                          => Optional[Integer[0, 9]],
  'compression.mode'                => Optional[Enum['none', 'single', 'stream:always']],
  'compression.stream.flushontxend' => Optional[Enum['on', 'off']],
  rebindinterval                    => Optional[Integer],
  keepalive                         => Optional[Enum['on', 'off']],
  'keepalive.probes'                => Optional[Integer],
  'keepalive.interval'              => Optional[Integer],
  'keepalive.time'                  => Optional[Integer],
  streamdriver                      => Optional[Enum['tcp', 'ossl', 'gtls']],
  streamdrivermode                  => Optional[Integer],
  streamdriverauthmode              => Optional[String[1]],
  streamdriverpermittedpeers        => Optional[String[1]],
  resendlastmsgonreconnect          => Optional[Enum['on', 'off']],
  'udp.sendtoall'                   => Optional[Enum['on', 'off']],
  'udp.senddelay'                   => Optional[Integer],
  gnutlsprioritystring              => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Omhiredis

The Rsyslog::Actions::Outputs::Omhiredis data type.

Alias of

Struct[{
  server         => Optional[Stdlib::Host],
  serverport     => Optional[Stdlib::Port],
  serverpassword => Optional[String[1]],
  mode           => Optional[Enum['queue', 'publish', 'template']],
  template       => Optional[String[1]],
  key            => Optional[String[1]],
  userpush       => Optional[Enum['on', 'off']]
}]

Rsyslog::Actions::Outputs::Omhttpfs

The Rsyslog::Actions::Outputs::Omhttpfs data type.

Alias of

Struct[{
  host      => Optional[Stdlib::Host],
  port      => Optional[Stdlib::Port],
  user      => Optional[String[1]],
  https     => Optional[Enum['on', 'off']],
  file      => String[1],
  isdynfile => Optional[Enum['on', 'off']],
  template  => Optional[String[1]]
}]

Rsyslog::Actions::Outputs::Omjournal

Struct data type for the Rsyslog JournalD module's Action options

Alias of

Struct[{
  template => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Omkafka

Struct data type for the Rsyslog Kafka module's Action options

Alias of

Struct[{
  broker                => Optional[String[1]],
  topic                 => String[1],
  key                   => Optional[String[1]],
  dynatopic             => Optional[Enum['on', 'off']],
  'dynatopic.cachesize' => Optional[Integer],
  'partitions.auto'     => Optional[Enum['on', 'off']],
  'partitions.number'   => Optional[Integer],
  'partitions.usefixed' => Optional[Integer],
  errorfile             => Optional[String[1]],
  confparam             => Optional[Array[String[1]]],
  topicconfparam        => Optional[Array[String[1]]],
  template              => Optional[String[1]],
  closetimeout          => Optional[Integer],
  resubmitonfailure     => Optional[Enum['on', 'off']],
  keepfailedmessages    => Optional[Enum['on', 'off']],
  failedmsgfile         => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Omlibdbi

Struct data type for the Rsyslog libdbi module's Action options

Alias of

Struct[{
  driver   => Enum[
    'firebird',
    'ingres',
    'msql',
    'Oracle',
    'sqlite',
    'sqlite3',
    'freetds',
  ],
  server   => Stdlib::Host,
  uid      => String[1],
  pwd      => String[1],
  db       => String[1],
  template => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Ommail

Struct data type for the Rsyslog E-Mail module's Action options

Alias of

Struct[{
  server             => Stdlib::Host,
  port               => Stdlib::Port,
  mailfrom           => Pattern[/.+@.+\..+/],
  mailto             => Pattern[/.+@.+\..+/],
  'subject.template' => Optional[String[1]],
  'subject.text'     => Optional[String[1]],
  'body.enable'      => Optional[Enum['on', 'off']],
  template           => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Ommongodb

Struct data type for the Rsyslog MongoDB output module's Action options

Alias of

Struct[{
  uristr              => Optional[String[1]],
  ssl_cert            => Optional[Stdlib::Absolutepath],
  ssl_ca              => Optional[Stdlib::Absolutepath],
  db                  => Optional[String[1]],
  collection          => Optional[String[1]],
  allowed_error_codes => Optional[Array[String[1]]],
  template            => Optional[String[1]],
  server              => Optional[Stdlib::Host],
  serverported        => Optional[Stdlib::Port],
  uid                 => Optional[String[1]],
  pwd                 => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Ommysql

Struct data type alias for MySQL Rsyslog output module.

Alias of

Struct[{
  server                => Stdlib::Host,
  socket                => Optional[Stdlib::Absolutepath],
  db                    => String[1],
  uid                   => String[1],
  pwd                   => String[1],
  serverport            => Optional[Stdlib::Port],
  'mysqlconfig.file'    => Optional[Stdlib::Absolutepath],
  'mysqlconfig.section' => Optional[String[1]],
  template              => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Ompgsql

Struct data type for the Rsyslog PostgreSQL module's Action options

Not allowing the serverport, uid, or pwd rsyslog options as they are identical to port, user, and pass respectively. The latter make more sense to the general user and the former are redundant.

Alias of

Struct[{
  server   => Stdlib::Host,
  port     => Optional[Stdlib::Port],
  db       => String[1],
  user     => Optional[String[1]],
  pass     => Optional[String[1]],
  template => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Ompipe

Struct data type for the Rsyslog Pipe module's Action options

Alias of

Struct[{
  pipe => String[1],
}]

Rsyslog::Actions::Outputs::Omprog

Struct data type for the Rsyslog Program module's Action options

Alias of

Struct[{
  template              => Optional[String[1]],
  binary                => Stdlib::Absolutepath,
  confirmmessages       => Optional[Enum['on', 'off']],
  confirmtimeout        => Optional[Integer],
  reportfailures        => Optional[Enum['on', 'off']],
  usetransactions       => Optional[Enum['on', 'off']],
  begintransactionmark  => Optional[String[1]],
  committransactionmark => Optional[String[1]],
  output                => Optional[Stdlib::Absolutepath],
  filecreatemode        => Optional[Stdlib::Filemode],
  'hup.signal'          => Optional[Enum['HUP', 'USR1', 'USR2', 'INT', 'TERM']],
  signalonclose         => Optional[Enum['on', 'off']],
  closetimeout          => Optional[Integer],
  killunresponsive      => Optional[Enum['on', 'off']],
  forcesingleinstance   => Optional[Enum['on', 'off']],
}]

Rsyslog::Actions::Outputs::Omrelp

Struct data type for the Rsyslog RELP module's Action options

Alias of

Struct[{
  target               => Variant[Stdlib::Fqdn, Stdlib::IP::Address],
  port                 => Optional[Stdlib::Port],
  template             => Optional[String[1]],
  timeout              => Optional[Integer],
  'conn.timeout'       => Optional[Integer],
  rebindinterval       => Optional[Integer],
  windowsize           => Optional[Integer],
  tls                  => Optional[Enum['on', 'off']],
  'tls.compression'    => Optional[Enum['on', 'off']],
  'tls.permittedpeer'  => Optional[Array[String[1]]],
  'tls.automode'       => Optional[Enum['fingerprint', 'name']],
  'tls.cacert'         => Optional[Stdlib::Absolutepath],
  'tls.mycert'         => Optional[Stdlib::Absolutepath],
  'tls.myprivkey'      => Optional[Stdlib::Absolutepath],
  'tls.prioritystring' => Optional[String[1]],
  localclientip        => Optional[Stdlib::IP::Address],
}]

Rsyslog::Actions::Outputs::Omsnmp

Struct data type for the Rsyslog SNMP module's Action options

Alias of

Struct[{
  server => Stdlib::Host,
  port   => Optional[Stdlib::Port],
  transport => Optional[String[1]],
  version   => Optional[Integer[0,1]],
  community => Optional[String[1]],
  trapoid   => Optional[String[1]],
  messageoid => Optional[String[1]],
  enterpriseoid => Optional[String[1]],
  specifictype  => Optional[Integer],
  traptype      => Optional[Integer[0,6]],
}]

Rsyslog::Actions::Outputs::Omudpspoof

Struct data type for the Rsyslog UDP Spoof module's Action options

Alias of

Struct[{
  target             => Stdlib::Host,
  port               => Optional[Stdlib::Port],
  sourcetemplate     => Optional[String[1]],
  'sourceport.start' => Optional[Stdlib::Port],
  'sourceport.end'   => Optional[Stdlib::Port],
  mtu                => Optional[Integer],
  template           => Optional[String[1]],
}]

Rsyslog::Actions::Outputs::Omusrmsg

Struct data type for the Rsyslog User MSG module's Action Parameters.

Alias of

Struct[{
  users    => String[1],
  template => Optional[String[1]],
}]

Rsyslog::Actions::Parameters

Struct data type for general Rsyslog Action parameters

Alias of

Struct[{
  'action.writeallmarkmessages'            => Optional[Enum['on', 'off']],
  'action.execonlyeverynthtime'            => Optional[Integer],
  'action.execonlyeverynthtimeout'         => Optional[Integer],
  'action.errorfile'                       => Optional[Stdlib::Absolutepath],
  'action.execonlyonceeveryinterval'       => Optional[Integer],
  'action.execonlywhenpreviousissuspended' => Optional[Enum['on', 'off']],
  'action.repeatedmsgcontainsoriginalmsg'  => Optional[Enum['on', 'off']],
  'action.resumeretrycount'                => Optional[Integer],
  'action.resumeinterval'                  => Optional[Integer],
  'action.reportsuspension'                => Optional[Enum['on', 'off']],
  'action.reportsuspensioncontinuation'    => Optional[Enum['on', 'off']],
  'action.copymsg'                         => Optional[Enum['on', 'off']]
}]

Rsyslog::Inputs::Imbatchreports

Data type for Rsyslog Input module parameters for batch report inputs.

Alias of

Struct[{
  reports           => String[1],
  tag               => String[1],
  facility          => Optional[Stdlib::Syslogfacility],
  severity          => Optional[Rsyslog::Syslog::Severity],
  deduplicatespaces => Optional[Enum['on', 'off']],
  delete            => Optional[String[1]],
  rename            => Optional[String[1]],
  programkey        => Optional[String[1]],
  timestampkey      => Optional[String[1]],
}]

Rsyslog::Inputs::Imfile

Data type for Rsyslog Input module input parameters for file inputs.

Alias of

Struct[{
  file                    => String[1],
  tag                     => String[1],
  facility                => Optional[Stdlib::Syslogfacility],
  severity                => Optional[Rsyslog::Syslog::Severity],
  persiststateinterval    => Optional[Integer],
  'startmsg.regex'        => Optional[String[1]],
  'endmsg.regex'          => Optional[String[1]],
  readtimeout             => Optional[Integer],
  readmode                => Optional[Integer[0, 2]],
  escapelf                => Optional[Enum['on', 'off']],
  maxlinesatonce          => Optional[Integer],
  maxsubmitatonce         => Optional[Integer],
  deletestateonfiledelete => Optional[Enum['on', 'off']],
  ruleset                 => Optional[String[1]],
  addmetadata             => Optional[Enum['on', 'off']],
  addceetag               => Optional[Enum['on', 'off']],
  reopenontruncate        => Optional[Enum['on', 'off']],
  trimlineoverbytes       => Optional[Integer],
  freshstarttail          => Optional[Enum['on', 'off']],
  discardtruncatedmsg     => Optional[Enum['on', 'off']],
  msgdiscardingerror      => Optional[Enum['on', 'off']],
  neeparse                => Optional[Enum['on', 'off']],
}]

Rsyslog::Inputs::Imgssapi

Data type for Rsyslog Input module input parameters for gssapi.

Alias of

Struct[{
  inputgssserverrun            => Optional[Stdlib::Port],
  inputgssserverservicename    => Optional[String[1]],
  inputgssserverpermitplaintcp => Optional[Enum['on', 'off']],
  inputgssservermaxsessions    => Optional[Integer],
  inputgssserverkeepalive      => Optional[Enum['on', 'off']],
  inputgsslistenportfilename   => Optional[Stdlib::Port],
}]

Rsyslog::Inputs::Imkafka

Data type for Rsyslog Input module input parameters for Apache Kafka.

Alias of

Struct[{
  broker        => Optional[String[1]],
  topic         => String[1],
  confparam     => Optional[Array[String[1]]],
  consumergroup => Optional[String[1]],
  ruleset       => Optional[String[1]],
  parsehostname => Optional[Enum['on', 'off']],
}]

Rsyslog::Inputs::Improg

Data type for Rsyslog Input module input parameters for Program input

Alias of

Struct[{
  binary           => String[1],
  tag              => String[1],
  facility         => Optional[Stdlib::Syslogfacility],
  severity         => Optional[Rsyslog::Syslog::Severity],
  confirmmessages  => Optional[Enum['on', 'off']],
  signalonclose    => Optional[Enum['on', 'off']],
  closetimeout     => Optional[Integer],
  killunresponsive => Optional[Enum['on', 'off']],
}]

Rsyslog::Inputs::Imptcp

Data type for Rsyslog Plain TCP input module

Alias of

Struct[{
  port                       => Optional[Stdlib::Port],
  path                       => Optional[Stdlib::Absolutepath],
  discardtruncatedmsg        => Optional[Enum['on', 'off']],
  fileowner                  => Optional[String[1]],
  fileownernum               => Optional[Integer],
  filegroup                  => Optional[String[1]],
  filegroupnum               => Optional[Integer],
  filecreatemode             => Optional[Stdlib::Filemode],
  failonchownfailure         => Optional[Enum['on', 'off']],
  unlink                     => Optional[Enum['on', 'off']],
  name                       => Optional[String[1]],
  ruleset                    => Optional[String[1]],
  maxframesize               => Optional[Integer],
  address                    => Optional[Stdlib::IP::Address::V4],
  addtlframedelimiter        => Optional[Integer],
  supportoctetcountetframing => Optional[Enum['on', 'off']],
  notifyonconnectionclose    => Optional[Enum['on', 'off']],
  notifyonconnectionopen     => Optional[Enum['on', 'off']],
  keepalive                  => Optional[Enum['on', 'off']],
  'keepalive.probes'         => Optional[Integer],
  'keepalive.interval'       => Optional[Integer],
  'keepalive.time'           => Optional[Integer],
  'ratelimit.interval'       => Optional[Integer],
  'ratelimit.burst'          => Optional[Integer],
  'compression.mode'         => Optional[Enum['none', 'single', 'stream:always']],
  flowcontrol                => Optional[Enum['on', 'off']],
  multiline                  => Optional[Enum['on', 'off']],
  'framing.delimiter.regex'  => Optional[String[1]],
  socketbacklog              => Optional[Integer],
  defaulttz                  => Optional[String[1]],
  'framingfix.cisco.asa'     => Optional[Enum['on', 'off']],
  listenportfilename         => Optional[String[1]],
}]

Rsyslog::Inputs::Imrelp

Data type for Rsyslog Plain TCP input module

Alias of

Struct[{
  port                 => Stdlib::Port,
  address              => Optional[Stdlib::IP::Address::V4],
  name                 => Optional[String[1]],
  ruleset              => Optional[String[1]],
  maxdatasize          => Optional[Pattern[/^([0-9]+)[kKmMgGtT]$/]],
  tls                  => Optional[Enum['on', 'off']],
  'tls.compression'    => Optional[Enum['on', 'off']],
  'tls.dhbits'         => Optional[Integer],
  'tls.permittedpeer'  => Optional[Array[String[1]]],
  'tls.authmode'       => Optional[Enum['fingerprint', 'name']],
  'tls.cacert'         => Optional[String[1]],
  'tls.mycert'         => Optional[String[1]],
  'tls.myprivkey'      => Optional[String[1]],
  'tls.prioritystring'  => Optional[String[1]],
  keepalive            => Optional[Enum['on', 'off']],
  'keepalive.probes'   => Optional[Integer],
  'keepalive.interval' => Optional[Integer],
  'keepalive.time'     => Optional[Integer],
  oversizemode         => Optional[Enum['truncate', 'abort', 'accept']],
}]

Rsyslog::Inputs::Imtcp

Data type for Rsyslog TCP input module

Alias of

Struct[{
  port                       => Stdlib::Port,
  address                    => Optional[Stdlib::IP::Address::V4],
  name                       => Optional[String[1]],
  ruleset                    => Optional[String[1]],
  supportoctetcountedframing => Optional[Enum['on', 'off']],
  'ratelimit.interval'       => Optional[Integer],
  'ratelimit.burst'          => Optional[Integer],
  listenportfilename         => Optional[String[1]],
}]

Rsyslog::Inputs::Imtuxedoulog

Data for Rsyslog Input Tuxedo ULOG module

Alias of

Struct[{
  ulogbase             => Stdlib::Absolutepath,
  tag                  => String[1],
  facility             => Optional[Stdlib::Syslogfacility],
  severity             => Optional[Rsyslog::Syslog::Severity],
  persiststateinterval => Optional[Integer],
  maxlinesatonce       => Optional[Integer],
  maxsubmitatonce      => Optional[Integer],
}]

Rsyslog::Inputs::Imudp

Data type for Rsyslog UDP input module

Alias of

Struct[{
  address              => Optional[Stdlib::Host],
  port                 => Stdlib::Port,
  ipfreebind           => Optional[Integer[0,2]],
  device               => Optional[String[1]],
  ruleset              => Optional[String[1]],
  'ratelimit.interval' => Optional[Integer],
  'ratelimit.burst'    => Optional[Integer],
  name                 => Optional[String[1]],
  'name.appendport'    => Optional[Enum['on', 'off']],
  defaulttz            => Optional[String[1]],
  rcvbufsize           => Optional[Variant[Integer, String[1]]],
}]

Rsyslog::Inputs::Imuxsock

Data type for Rsyslog Unix Socket input module

Alias of

Struct[{
  ruleset              => Optional[String[1]],
  ignoretimestamp      => Optional[Enum['on', 'off']],
  ignoreownmessages    => Optional[Enum['on', 'off']],
  flowcontrol          => Optional[Enum['on', 'off']],
  'ratelimit.interval' => Optional[Integer],
  'ratelimit.burst'    => Optional[Integer],
  'ratelimit.severity' => Optional[Integer[0,7]],
  usepidfromsystem     => Optional[Enum['on', 'off']],
  usesystimestamp      => Optional[Enum['on', 'off']],
  createpath           => Optional[Enum['on', 'off']],
  socket               => Optional[String[1]],
  hostname             => Optional[String[1]],
  annotate             => Optional[Enum['on', 'off']],
  parsetrusted         => Optional[Enum['on', 'off']],
  unlink               => Optional[Enum['on', 'off']],
  usespecialparser     => Optional[Enum['on', 'off']],
  parsehostname        => Optional[Enum['on', 'off']],
}]

Rsyslog::Modules::Input

The Rsyslog::Modules::Input data type.

Alias of

Enum['im3195', 'imfile', 'imgssapi', 'imjournal', 'imkafka', 'imklog', 'imkmsg', 'immark', 'impstats', 'imptcp', 'imrelp', 'imsolaris', 'imtcp', 'imupd', 'imuxsock']

Rsyslog::Modules::Inputs::Imdocker

Data type for Rsyslog module parameters for imdocker

Alias of

Struct[{
  dockerapiunixsockaddr    => Optional[Stdlib::Absolutepath],
  apiversionstr            => Optional[Pattern[/^v([0-9]+)\.([0-9]+)/]],
  pollinginterval          => Optional[Integer],
  listcontaineroptions     => Optional[String[1]],
  getcontainerlogoptions   => Optional[String[1]],
  retrievenewlogsfromstart => Optional[Integer[0,1]],
  defaultfacility          => Optional[Stdlib::Syslogfacility],
  defaultseverity          => Optional[Rsyslog::Syslog::Severity],
  escapelf                 => Optional[Enum['on', 'off']],
}]

Rsyslog::Modules::Inputs::Imfile

Data type for Rsyslog Input module parameters for file inputs.

Alias of

Struct[{
  mode               => Optional[Enum['inotify', 'polling']],
  readtimeout        => Optional[Integer],
  timeoutgranularity => Optional[Enum['on', 'off']],
  sortfiles          => Optional[Enum['on', 'off']],
  pollinginterval    => Optional[Integer],
}]

Rsyslog::Modules::Inputs::Imjournal

Rsyslog imjournal Module parameter data type

Alias of

Struct[{
  persiststateinterval    => Optional[Integer],
  statefile               => Optional[Stdlib::Absolutepath],
  'ratelimit.interval'    => Optional[Integer],
  'ratelimit.burst'       => Optional[Integer],
  ignorepreviousmessage   => Optional[Enum['on', 'off']],
  defaultseverity         => Optional[Rsyslog::Syslog::Severity],
  defaultfacility         => Optional[Stdlib::Syslogfacility],
  usepidfromsystem        => Optional[Enum['on', 'off']],
  usepid                  => Optional[Enum['syslog', 'system', 'both']],
  ignorenonvalidstatefile => Optional[Enum['on', 'off']],
  workaroundjournalbug    => Optional[Enum['on', 'off']],
}]

Rsyslog::Modules::Message

The Rsyslog::Modules::Message data type.

Alias of

Enum['mmanon', 'mmcount', 'mmdblookup', 'mmexternal', 'mmfields', 'mmjsonparse', 'mmkubernetes', 'mmnormalize', 'mmpstructdata', 'mmrfc5424addhmac', 'mmrm1stspace', 'mmsequence', 'mmsnmptrapd', 'mmutf8fix']

Rsyslog::Modules::Output

The Rsyslog::Modules::Output data type.

Alias of

Enum['omamqp1', 'omelasticsearch', 'omfile', 'omfwd', 'omhdfs', 'omhiredis', 'omhttpfs', 'omjournal', 'omkafka', 'omlibdbi', 'ommail', 'ommongodb', 'ommysql', 'ompgsql', 'ompipe', 'omprog', 'omrelp', 'omsnmp', 'omudpspoof', 'omusrmsg', 'omuxsock']

Rsyslog::Modules::Parser

The Rsyslog::Modules::Parser data type.

Alias of

Enum['pmciscoios', 'pmlastmsg', 'pmnormalize', 'pmnull', 'pmrfc3164', 'pmrfc3164sd', 'pmrfc5424']

Rsyslog::Modules::String

The Rsyslog::Modules::String data type.

Alias of

Enum['smfile', 'smfwd', 'smtradfile', 'smtradfwd']

Rsyslog::PropertyOperator

Enumerable custom type for rsyslog property operators

Alias of

Enum['contains', 'isequal', 'startswith', 'regex', 'ereregex', '!contains', '!isequal', '!startswith', '!regex', '!ereregex']

Rsyslog::Queue::Parameters

The Rsyslog::Queue::Parameters data type.

Alias of

Struct[{
  'queue.filename'                    => Optional[String[1]],
  'queue.spoolDirectory'              => Optional[Stdlib::Absolutepath],
  'queue.size'                        => Optional[Integer],
  'queue.dequeueBatchSize'            => Optional[Integer],
  'queue.maxDiskSpace'                => Optional[Integer],
  'queue.highWatermark'               => Optional[Integer],
  'queue.lowWatermark'                => Optional[Integer],
  'queue.fullDelaymark'               => Optional[Integer],
  'queue.lightDelaymark'              => Optional[Integer],
  'queue.discardMark'                 => Optional[Integer],
  'queue.discardSeverity'             => Optional[Integer],
  'queue.checkpointInterval'          => Optional[Integer],
  'queue.syncqueuefiles'              => Optional[Enum['on', 'off']],
  'queue.samplingInterval'            => Optional[Integer],
  'queue.type'                        => Optional[Enum['FixedArray', 'LinkedList', 'Direct', 'Disk']],
  'queue.workerThreads'               => Optional[Integer],
  'queue.workerThreadMinimumMessages' => Optional[Integer],
  'queue.timeoutWorkerthreadShutdown' => Optional[Integer],
  'queue.timeoutshutdown'             => Optional[Integer],
  'queue.timeoutActionCompletion'     => Optional[Integer],
  'queue.timeoutEnqueue'              => Optional[Integer],
  'queue.maxFileSize'                 => Optional[Pattern[/^([0-9]+)(m|M|g|G)$/]],
  'queue.saveOnShutdown'              => Optional[Enum['on', 'off']],
  'queue.dequeueSlowDown'             => Optional[Integer],
  'queue.dequeueTimeBegin'            => Optional[Integer[1, 24]],
  'queue.dequeueTimeEnd'              => Optional[Integer[1, 25]],
}]

Rsyslog::Syslog::Severity

Syslog severity data type

Alias of

Variant[Enum[
    'emerg',
    'alert',
    'crit',
    'err',
    'warning',
    'notice',
    'info',
    'debug',
  ], Integer[0, 7]]