On this page
community.network.ig_config – Manage the configuration database on an Ingate SBC.
Note
This plugin is part of the community.network collection (version 3.0.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 community.network
.
To use it in a playbook, specify: community.network.ig_config
.
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.6
Parameters
Parameter | Choices/Defaults | Comments | |
---|---|---|---|
add
boolean
|
|
Add a row to a table.
|
|
client
string
|
A dict object containing connection details.
|
||
address
string / required
|
The hostname or IP address to the unit.
|
||
password
string / required
|
The password for the REST API user.
|
||
port
integer
|
Which HTTP(S) port to connect to.
|
||
scheme
string / required
|
|
Which HTTP protocol to use.
|
|
timeout
integer
|
The timeout (in seconds) for REST API requests.
|
||
username
string / required
|
The username of the REST API user.
|
||
validate_certs
boolean
|
|
Verify the unit's HTTPS certificate.
aliases: verify_ssl |
|
version
string
|
|
REST API version.
|
|
columns
string
|
A dict containing column names/values.
|
||
delete
boolean
|
|
Delete all rows in a table or a specific row.
|
|
download
boolean
|
|
Download the configuration database from the unit.
|
|
factory
boolean
|
|
Reset the preliminary configuration to its factory defaults.
|
|
filename
string
|
The name of the file to store the downloaded configuration in. Refer to the download option.
|
||
get
boolean
|
|
Return all rows in a table or a specific row.
|
|
modify
boolean
|
|
Modify a row in a table.
|
|
no_response
boolean
|
|
Expect no response when storing the preliminary configuration. Refer to the store option.
|
|
path
string
|
Where in the filesystem to store the downloaded configuration. Refer to the download option.
|
||
return_rowid
boolean
|
|
Get rowid(s) from a table where the columns match.
|
|
revert
boolean
|
|
Reset the preliminary configuration.
|
|
rowid
integer
|
A row id.
|
||
store
boolean
|
|
Store the preliminary configuration.
|
|
store_download
boolean
|
|
If the downloaded configuration should be stored on disk. Refer to the download option.
|
|
table
string
|
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 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
vars:
client_rw:
version: v1
address: "{{ inventory_hostname }}"
scheme: http
username: alice
password: foobar
tasks:
- name: Load factory defaults
community.network.ig_config:
client: "{{ client_rw }}"
factory: true
register: result
- ansible.builtin.debug:
var: result
- name: Revert to last known applied configuration
community.network.ig_config:
client: "{{ client_rw }}"
revert: true
register: result
- ansible.builtin.debug:
var: result
- name: Change the unit name
community.network.ig_config:
client: "{{ client_rw }}"
modify: true
table: misc.unitname
columns:
unitname: "Test Ansible"
register: result
- ansible.builtin.debug:
var: result
- name: Add a DNS server
community.network.ig_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.21
register: result
- ansible.builtin.debug:
var: result
- name: Add a DNS server
community.network.ig_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.22
register: result
- ansible.builtin.debug:
var: result
- name: Add a DNS server
community.network.ig_config:
client: "{{ client_rw }}"
add: true
table: misc.dns_servers
columns:
server: 192.168.1.23
register: last_dns
- ansible.builtin.debug:
var: last_dns
- name: Modify the last added DNS server
community.network.ig_config:
client: "{{ client_rw }}"
modify: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
columns:
server: 192.168.1.24
register: result
- ansible.builtin.debug:
var: result
- name: Return the last added DNS server
community.network.ig_config:
client: "{{ client_rw }}"
get: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
register: result
- ansible.builtin.debug:
var: result
- name: Remove last added DNS server
community.network.ig_config:
client: "{{ client_rw }}"
delete: true
table: misc.dns_servers
rowid: "{{ last_dns['add'][0]['id'] }}"
register: result
- ansible.builtin.debug:
var: result
- name: Return the all rows from table misc.dns_servers
community.network.ig_config:
client: "{{ client_rw }}"
get: true
table: misc.dns_servers
register: result
- ansible.builtin.debug:
var: result
- name: Remove remaining DNS servers
community.network.ig_config:
client: "{{ client_rw }}"
delete: true
table: misc.dns_servers
register: result
- ansible.builtin.debug:
var: result
- name: Get rowid for interface eth0
community.network.ig_config:
client: "{{ client_rw }}"
return_rowid: true
table: network.local_nets
columns:
interface: eth0
register: result
- ansible.builtin.debug:
var: result
- name: Store the preliminary configuration
community.network.ig_config:
client: "{{ client_rw }}"
store: true
register: result
- ansible.builtin.debug:
var: result
- name: Do backup of the configuration database
community.network.ig_config:
client: "{{ client_rw }}"
download: true
store_download: true
register: result
- ansible.builtin.debug:
var: result
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description | |
---|---|---|---|
add
complex
|
when add is yes and success |
A list containing information about the added row
|
|
data
complex
|
success |
Column names/values
Sample:
{'number': '2', 'server': '10.48.254.33'}
|
|
href
string
|
success |
The REST API URL to the added row
Sample:
http://192.168.1.1/api/v1/misc/dns_servers/2
|
|
id
integer
|
success |
The row id
Sample:
22
|
|
delete
complex
|
when delete is yes and success |
A list containing information about the deleted row(s)
|
|
data
complex
|
success |
Column names/values
Sample:
{'number': '2', 'server': '10.48.254.33'}
|
|
id
integer
|
success |
The row id
Sample:
22
|
|
table
string
|
success |
The name of the table
Sample:
misc.dns_servers
|
|
download
complex
|
when download is yes and success |
Configuration database and meta data
|
|
config
string
|
success |
The configuration database
|
|
filename
string
|
success |
A suggested name for the configuration
Sample:
testname_2018-10-01T214040.cfg
|
|
mimetype
string
|
success |
The mimetype
Sample:
application/x-config-database
|
|
factory
complex
|
when factory is yes and success |
A command status message
|
|
msg
string
|
success |
The command status message
Sample:
reverted the configuration to the factory configuration.
|
|
get
complex
|
when get is yes and success |
A list containing information about the row(s)
|
|
data
complex
|
success |
Column names/values
Sample:
{'number': '2', 'server': '10.48.254.33'}
|
|
href
string
|
success |
The REST API URL to the row
Sample:
http://192.168.1.1/api/v1/misc/dns_servers/1
|
|
id
integer
|
success |
The row id
Sample:
1
|
|
table
string
|
success |
The name of the table
Sample:
Testname
|
|
modify
complex
|
when modify is yes and success |
A list containing information about the modified row
|
|
data
complex
|
success |
Column names/values
Sample:
{'number': '2', 'server': '10.48.254.33'}
|
|
href
string
|
success |
The REST API URL to the modified row
Sample:
http://192.168.1.1/api/v1/misc/dns_servers/1
|
|
id
integer
|
success |
The row id
Sample:
10
|
|
table
string
|
success |
The name of the table
Sample:
Testname
|
|
return_rowid
list / elements=string
|
when return_rowid is yes and success |
The matched row id(s).
Sample:
[1, 3]
|
|
revert
complex
|
when revert is yes and success |
A command status message
|
|
msg
string
|
success |
The command status message
Sample:
reverted the configuration to the last applied configuration.
|
|
store
complex
|
when store is yes and success |
A command status message
|
|
msg
string
|
success |
The command status message
Sample:
Successfully applied and saved the configuration.
|
Authors
- Ingate Systems AB (@ingatesystems)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/network/ig_config_module.html