On this page
ig_config – Manage the configuration database on an Ingate SBC
New in version 2.8.
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
-
|
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
-
|
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
-
|
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
-
|
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
-
|
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
ig_config:
client: "{{ client_rw }}"
factory: true
register: result
- debug:
var: result
- name: Revert to last known applied configuration
ig_config:
client: "{{ client_rw }}"
revert: true
register: result
- debug:
var: result
- name: Change the unit name
ig_config:
client: "{{ client_rw }}"
modify: true
table: misc.unitname
columns:
unitname: "Test Ansible"
register: result
- debug:
var: result
- name: Add a DNS server
ig_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
ig_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
ig_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
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
- debug:
var: result
- name: Return the last added DNS server
ig_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
ig_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
ig_config:
client: "{{ client_rw }}"
get: true
table: misc.dns_servers
register: result
- debug:
var: result
- name: Remove remaining DNS servers
ig_config:
client: "{{ client_rw }}"
delete: true
table: misc.dns_servers
register: result
- debug:
var: result
- name: Get rowid for interface eth0
ig_config:
client: "{{ client_rw }}"
return_rowid: true
table: network.local_nets
columns:
interface: eth0
register: result
- debug:
var: result
- name: Store the preliminary configuration
ig_config:
client: "{{ client_rw }}"
store: true
register: result
- debug:
var: result
- name: Do backup of the configuration database
ig_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 | 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
|
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.
|
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors
- Ingate Systems AB (@ingatesystems)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/ig_config_module.html