# RPC Commands

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, but if all the elements belonging to a certain group is wanted to be retrieved then only the group name would suffice as the function parameter. The group name can optionally contain the group instance id, for example foo[5].

### Use `cfg.get` RPC command

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

## 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

    ...
    # &kamctl; rpc 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].

### Use `cfg.sets` RPC command

    ...
    # &kamctl; rpc cfg.sets voicemail srv_ip "1.2.3.4"
    ...

## cfg.reset

cfg.reset - Reset the variable values of a configuration group. The function accepts only one parameter: group name.

### Use `cfg.reset` RPC command

    ...
    # &sercmd; cfg.reset core
    ...

## 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].