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_downloadis set to True, andpathandfilenameis 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