community.general.sysrc module – Manage FreeBSD using sysrc

Note

This module is part of the community.general collection (version 7.5.2).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general.

To use it in a playbook, specify: community.general.sysrc.

New in community.general 2.0.0

Synopsis

  • Manages /etc/rc.conf for FreeBSD.

Aliases: system.sysrc

Parameters

Parameter

Comments

delim

string

Delimiter to be used instead of " " (space).

Only used when state=value_present or state=value_absent.

Default: " "

jail

string

Name or ID of the jail to operate on.

name

string / required

Name of variable in /etc/rc.conf to manage.

path

string

Path to file to use instead of /etc/rc.conf.

Default: "/etc/rc.conf"

state

string

Use present to add the variable.

Use absent to remove the variable.

Use value_present to add the value to the existing variable.

Use value_absent to remove the value from the existing variable.

Choices:

  • "absent"

  • "present" ← (default)

  • "value_present"

  • "value_absent"

value

string

The value to set when state=present.

The value to add when state=value_present.

The value to remove when state=value_absent.

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Notes

Note

  • The name cannot contain periods as sysrc does not support OID style names.

Examples

---
# enable mysql in the /etc/rc.conf
- name: Configure mysql pid file
  community.general.sysrc:
    name: mysql_pidfile
    value: "/var/run/mysqld/mysqld.pid"

# enable accf_http kld in the boot loader
- name: Enable accf_http kld
  community.general.sysrc:
    name: accf_http_load
    state: present
    value: "YES"
    path: /boot/loader.conf

# add gif0 to cloned_interfaces
- name: Add gif0 interface
  community.general.sysrc:
    name: cloned_interfaces
    state: value_present
    value: "gif0"

# enable nginx on a jail
- name: Enable nginx in test jail
  community.general.sysrc:
    name: nginx_enable
    value: "YES"
    jail: testjail

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

changed

boolean

Return changed for sysrc actions.

Returned: always

Sample: true

Authors

  • David Lundgren (@dlundgren)