ingatesystems.fuego_modules.fuego_config – Manage the configuration database on an Ingate SBC.
Note
This plugin is part of the ingatesystems.fuego_modules collection (version 1.1.0).
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 ingatesystems.fuego_modules
.
To use it in a playbook, specify: ingatesystems.fuego_modules.fuego_config
.
New in version 1.0.0: of ingatesystems.fuego_modules
Synopsis
Manage the configuration database on an Ingate SBC.
Requirements
The below requirements are needed on the host that executes this module.
ingatesdk >= 1.0.14
Parameters
Parameter |
Comments |
---|---|
Add a row to a table. Choices:
|
|
A dict object containing connection details. |
|
The hostname or IP address to the unit. |
|
The password for the REST API user. |
|
Which HTTP(S) port to connect to. |
|
Which HTTP protocol to use. Choices:
|
|
The timeout (in seconds) for REST API requests. |
|
The username of the REST API user. |
|
Verify the unit’s HTTPS certificate. Choices:
|
|
REST API version. Choices:
|
|
A dict containing column names/values. |
|
Delete all rows in a table or a specific row. Choices:
|
|
Download the configuration database from the unit. Choices:
|
|
Reset the preliminary configuration to its factory defaults. Choices:
|
|
The name of the file to store the downloaded configuration in. Refer to the |
|
Return all rows in a table or a specific row. Choices:
|
|
Modify a row in a table. Choices:
|
|
Expect no response when storing the preliminary configuration. Refer to the Choices:
|
|
Where in the filesystem to store the downloaded configuration. Refer to the |
|
Get rowid(s) from a table where the columns match. Choices:
|
|
Reset the preliminary configuration. Choices:
|
|
A row id. |
|
Store the preliminary configuration. Choices:
|
|
If the downloaded configuration should be stored on disk. Refer to the Choices:
|
|
The name of the table. |
Notes
Note
If
store_download
is set to True, andpath
andfilename
is omitted, the file will be stored in the current directory with an automatic filename.This module deprecates the Ingate network module ig_config that was present in Ansible < 2.10.
This module requires that the Ingate Python SDK is installed on the host. To install the SDK use the pip command from your shell
pip install ingatesdk
.
Examples
- name: Add/remove DNS servers
hosts: 192.168.1.1
connection: local
collections:
- ingatesystems.fuego_modules
gather_facts: no
vars:
client_rw:
version: v1
address: "{{ inventory_hostname }}"
scheme: http
username: alice
password: foobar
tasks:
- name: Load factory defaults
fuego_config:
client: "{{ client_rw }}"
factory: true
register: result
- debug:
var: result
- name: Revert to last known applied configuration
fuego_config:
client: "{{ client_rw }}"
revert: true
register: result
- debug:
var: result
- name: Change the unit name
fuego_config:
client: "{{ client_rw }}"
modify: true
table: misc.unitname
columns:
unitname: "Test Ansible"
register: result
- debug:
var: result
- name: Add a DNS server
fuego_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.21
register: result
- debug:
var: result
- name: Add a DNS server
fuego_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.22
register: result
- debug:
var: result
- name: Add a DNS server
fuego_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.23
register: last_dns
- debug:
var: last_dns
- name: Modify the last added DNS server
fuego_config:
client: "{{ client_rw }}"
modify: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
columns:
server: 192.168.1.24
register: result
- debug:
var: result
- name: Return the last added DNS server
fuego_config:
client: "{{ client_rw }}"
get: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
register: result
- debug:
var: result
- name: Remove last added DNS server
fuego_config:
client: "{{ client_rw }}"
delete: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
register: result
- debug:
var: result
- name: Return the all rows from table misc.dns_servers
fuego_config:
client: "{{ client_rw }}"
get: true
table: misc.dns_servers
register: result
- debug:
var: result
- name: Remove remaining DNS servers
fuego_config:
client: "{{ client_rw }}"
delete: true
table: misc.dns_servers
register: result
- debug:
var: result
- name: Get rowid for interface eth0
fuego_config:
client: "{{ client_rw }}"
return_rowid: true
table: network.local_nets
columns:
interface: eth0
register: result
- debug:
var: result
- name: Store the preliminary configuration
fuego_config:
client: "{{ client_rw }}"
store: true
register: result
- debug:
var: result
- name: Do backup of the configuration database
fuego_config:
client: "{{ client_rw }}"
download: true
store_download: true
register: result
- debug:
var: result
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A list containing information about the added row Returned: when |
|
Column names/values Returned: success Sample: {“number”: “2”, “server”: “10.48.254.33”} |
|
The REST API URL to the added row Returned: success |
|
The row id Returned: success Sample: 22 |
|
A list containing information about the deleted row(s) Returned: when |
|
Column names/values Returned: success Sample: {“number”: “2”, “server”: “10.48.254.33”} |
|
The row id Returned: success Sample: 22 |
|
The name of the table Returned: success Sample: “misc.dns_servers” |
|
Configuration database and meta data Returned: when |
|
The configuration database Returned: success |
|
A suggested name for the configuration Returned: success Sample: “testname_2018-10-01T214040.cfg” |
|
The mimetype Returned: success Sample: “application/x-config-database” |
|
A command status message Returned: when |
|
The command status message Returned: success Sample: “reverted the configuration to the factory configuration.” |
|
A list containing information about the row(s) Returned: when |
|
Column names/values Returned: success Sample: {“number”: “2”, “server”: “10.48.254.33”} |
|
The REST API URL to the row Returned: success |
|
The row id Returned: success Sample: 1 |
|
The name of the table Returned: success Sample: “Testname” |
|
A list containing information about the modified row Returned: when |
|
Column names/values Returned: success Sample: {“number”: “2”, “server”: “10.48.254.33”} |
|
The REST API URL to the modified row Returned: success |
|
The row id Returned: success Sample: 10 |
|
The name of the table Returned: success Sample: “Testname” |
|
The matched row id(s). Returned: when Sample: [1, 3] |
|
A command status message Returned: when |
|
The command status message Returned: success Sample: “reverted the configuration to the last applied configuration.” |
|
A command status message Returned: when |
|
The command status message Returned: success Sample: “Successfully applied and saved the configuration.” |