# RPC Interface

The module implements the RPC commands documented in the next sections.

## cfg.list

cfg.list - List the configuration variables. The function has one optional parameter: group name.

### Use `cfg.get` RPC command

    ...
    # &sercmd; cfg.list
    ...

## cfg.get

cfg.get - Get the value of a configuration variable. The function accepts two parameters: group name, variable name. The group name can optionally contain the group instance id, for example foo[5].

### Use `cfg.get` RPC command

    ...
    # &sercmd; cfg.get core debug
    ...

## cfg.seti

cfg.seti - Set the value of a configuration variable and commit the change immediately. The function accepts three parameters: group name, variable name, integer value. The group name can optionally contain the group instance id, for example foo[5].

### Use `cfg.seti` RPC command

    ...
    # &sercmd; cfg.seti core debug 1
    ...

## cfg.set_now_int

cfg.set_now_int - This is an alias to the command cfg.seti.

## cfg.sets

cfg.sets - Set the value of a configuration variable and commit the change immediately. The function accepts three parameters: group name, variable name, string value. The group name can optionally contain the group instance id, for example foo[5].

## cfg.set_now_string

cfg.set_now_string - This is an alias to the command cfg.sets.

## cfg.set

cfg.set - Set the value of a configuration variable and commit the change immediately. This is a wrapper command for cfg.set_now_int and cfg.set_now_string depending on the type of the value provided. The function accepts three parameters: group name, variable name, int/string value. The group name can optionally contain the group instance id, for example foo[5].

## cfg.del

cfg.del - Delete the value of a configuration variable from a group instance and commit the change immediately. The value is reset to the default value and it follows the changes of that. The function accepts two parameters: group name, variable name. The group name must contain the group instance id, for example foo[5].

## cfg.set_delayed_int

cfg.set_delayed_int - Prepare the change of a configuration variable, but does not commit the new value yet. The function accepts three parameters: group name, variable name, integer value. The group name can optionally contain the group instance id, for example foo[5].

## cfg.set_delayed_string

cfg.set_delayed_string - Prepare the change of a configuration variable, but does not commit the new value yet. The function accepts three parameters: group name, variable name, string value. The group name can optionally contain the group instance id, for example foo[5].

## cfg.set_delayed

cfg.set_delayed - Prepare the change of a configuration variable, but does not commit the new value yet. This is a wrapper command for cfg.set_delayed_int and cfg.set_delayed_string depending on the type of the value provided. The function accepts three parameters: group name, variable name, int/string value. The group name can optionally contain the group instance id, for example foo[5].

## cfg.del_delayed

cfg.del_delayed - Prepare the deletion of the value of a configuration variable from a group instance, but does not commit the change yet. The value is reset to the default value and it follows the changes of that. The function accepts two parameters: group name, variable name. The group name must contain the group instance id, for example foo[5].

## cfg.commit

cfg.commit - Commit the previously prepared configuration changes. The function does not have any parameters.

## cfg.rollback

cfg.rollback - Drop the prepared configuration changes. The function does not have any parameters.

## cfg.help

cfg.help - Print the description of a configuration variable. The function accepts two parameters: group name, variable name.

## cfg.diff

cfg.diff - List the pending configuration changes that have not been committed yet. The function does not have any parameters.

## cfg.add_group_inst

cfg.add_group_inst - Add a new instance to an existing configuration group. The function accepts one parameter: group name[instance id], for example foo[5].

## cfg.del_group_inst

cfg.del_group_inst - Delete an instance of an existing configuration group. The function accepts one parameter: group name[instance id], for example foo[5].