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