community.network.ig_config module – Manage the configuration database on an Ingate SBC.
Note
This module is part of the community.network collection (version 5.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 community.network.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.network.ig_config.
Note
The community.network collection has been deprecated and will be removed from Ansible 12. See the discussion thread for more information.
DEPRECATED
- Removed in:
- version 6.0.0 
- Why:
- This collection and all content in it is unmaintained and deprecated. 
- Alternative:
- Unknown. 
Synopsis
- Manage the configuration database on an Ingate SBC. 
Aliases: network.ingate.ig_config
Requirements
The below requirements are needed on the host that executes this module.
- ingatesdk >= 1.0.6 
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_downloadis set to True, and- pathand- filenameis 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 | Description | 
|---|---|
| A list containing information about the added row Returned: when  | |
| Column names/values Returned: success Sample:  | |
| The REST API URL to the added row Returned: success Sample:  | |
| The row id Returned: success Sample:  | |
| A list containing information about the deleted row(s) Returned: when  | |
| Column names/values Returned: success Sample:  | |
| The row id Returned: success Sample:  | |
| The name of the table Returned: success Sample:  | |
| Configuration database and meta data Returned: when  | |
| The configuration database Returned: success | |
| A suggested name for the configuration Returned: success Sample:  | |
| The mimetype Returned: success Sample:  | |
| A command status message Returned: when  | |
| The command status message Returned: success Sample:  | |
| A list containing information about the row(s) Returned: when  | |
| Column names/values Returned: success Sample:  | |
| The REST API URL to the row Returned: success Sample:  | |
| The row id Returned: success Sample:  | |
| The name of the table Returned: success Sample:  | |
| A list containing information about the modified row Returned: when  | |
| Column names/values Returned: success Sample:  | |
| The REST API URL to the modified row Returned: success Sample:  | |
| The row id Returned: success Sample:  | |
| The name of the table Returned: success Sample:  | |
| The matched row id(s). Returned: when  Sample:  | |
| A command status message Returned: when  | |
| The command status message Returned: success Sample:  | |
| A command status message Returned: when  | |
| The command status message Returned: success Sample:  | 
Status
- This module will be removed in version 6.0.0. [deprecated] 
- For more information see DEPRECATED. 
