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
.
The below requirements are needed on the host that executes this module.
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. |
Note
store_download
is set to True, and path
and filename
is omitted, the file will be stored in the current directory with an automatic filename.pip install ingatesdk
.- 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
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. |
© 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