Spec-Zone.ru › Ansible 2.11

community.network.ig_config – Управление базой данных конфигурации на Ingate SBC.

Примечание

Этот плагин входит в коллекцию community.network (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.network.

Для использования в книге задач укажите: community.network.ig_config.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Управление базой данных конфигурации на Ingate SBC.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • ingatesdk >= 1.0.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
add
boolean
    Варианты:
  • no
  • yes
Добавить строку в таблицу.
client
string
Объект dict, содержащий данные подключения.
address
string / required
Имя хоста или IP-адрес устройства.
password
string / required
Пароль пользователя REST API.
port
integer
Порт HTTP(S) для подключения.
scheme
string / required
    Варианты:
  • http
  • https
Протокол HTTP для использования.
timeout
integer
Таймаут (в секундах) для запросов REST API.
username
string / required
Имя пользователя REST API.
validate_certs
boolean
    Варианты:
  • no
  • yes ←
Проверить сертификат HTTPS устройства.

Псевдонимы: verify_ssl
version
string
    Варианты:
  • v1 ←
Версия REST API.
columns
string
Объект dict, содержащий имена/значения столбцов.
delete
boolean
    Варианты:
  • no
  • yes
Удалить все строки в таблице или определённую строку.
download
boolean
    Варианты:
  • no
  • yes
Загрузить базу данных конфигурации с устройства.
factory
boolean
    Варианты:
  • no
  • yes
Сбросить предварительную конфигурацию до заводских значений.
filename
string
Имя файла для сохранения загруженной конфигурации. См. опцию download.
get
boolean
    Варианты:
  • no
  • yes
Вернуть все строки в таблице или определённую строку.
modify
boolean
    Варианты:
  • no
  • yes
Изменить строку в таблице.
no_response
boolean
    Варианты:
  • no ←
  • yes
Ожидать отсутствия ответа при сохранении предварительной конфигурации. См. опцию store.
path
string
Место в файловой системе для сохранения загруженной конфигурации. См. опцию download.
return_rowid
boolean
    Варианты:
  • no
  • yes
Получить rowid(ы) из таблицы, где столбцы соответствуют условиям.
revert
boolean
    Варианты:
  • no
  • yes
Сбросить предварительную конфигурацию.
rowid
integer
Идентификатор строки.
store
boolean
    Варианты:
  • no
  • yes
Сохранить предварительную конфигурацию.
store_download
boolean
    Варианты:
  • no ←
  • yes
Если загруженная конфигурация должна быть сохранена на диске. См. опцию download.
table
string
Имя таблицы.

Примечания

Примечание

  • Если store_download установлено в True, и path и filename опущены, файл будет сохранён в текущем каталоге с автоматическим именем файла.
  • Для работы этого модуля необходимо, чтобы пакет Ingate Python SDK был установлен на хосте. Для установки SDK используйте команду pip из вашей оболочки 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

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже приведены поля, уникальные для этого модуля:

Ключ Возвращено Описание
add
complex
когда add равно да и успех
Список, содержащий информацию о добавленной строке

data
complex
успех
Имена/значения столбцов

Пример:
{'number': '2', 'server': '10.48.254.33'}
href
string
успех
URL REST API добавленной строки

Пример:
http://192.168.1.1/api/v1/misc/dns_servers/2
id
integer
успех
Идентификатор строки

Пример:
22
delete
complex
когда delete равно да и успех
Список, содержащий информацию о удалённой(ых) строке(ах)

data
complex
успех
Имена/значения столбцов

Пример:
{'number': '2', 'server': '10.48.254.33'}
id
integer
успех
Идентификатор строки

Пример:
22
table
string
успех
Имя таблицы

Пример:
misc.dns_servers
download
complex
когда download равно да и успех
База данных конфигурации и метаданные

config
string
успех
База данных конфигурации

filename
string
успех
Предложенное имя для конфигурации

Пример:
testname_2018-10-01T214040.cfg
mimetype
string
успех
Тип MIME

Пример:
application/x-config-database
factory
complex
когда factory равно да и успех
Сообщение о статусе команды

msg
string
успех
Сообщение о статусе команды

Пример:
восстановила конфигурацию до заводской.
get
complex
когда get равно да и успех
Список, содержащий информацию о строке(ах)

data
complex
успех
Имена/значения столбцов

Пример:
{'number': '2', 'server': '10.48.254.33'}
href
string
успех
URL REST API строки

Пример:
http://192.168.1.1/api/v1/misc/dns_servers/1
id
integer
успех
Идентификатор строки

Пример:
1
table
string
успех
Имя таблицы

Пример:
Testname
modify
complex
когда modify равно да и успех
Список, содержащий информацию о изменённой строке

data
complex
успех
Имена/значения столбцов

Пример:
{'number': '2', 'server': '10.48.254.33'}
href
string
успех
URL REST API изменённой строки

Пример:
http://192.168.1.1/api/v1/misc/dns_servers/1
id
integer
успех
Идентификатор строки

Пример:
10
table
string
успех
Имя таблицы

Пример:
Testname
return_rowid
list / elements=string
когда return_rowid равно да и успех
Соответствующий(ие) идентификатор(ы) строки(ок).

Пример:
[1, 3]
revert
complex
когда revert равно да и успех
Сообщение о статусе команды

msg
string
успех
Сообщение о статусе команды

Пример:
восстановила конфигурацию до последней применённой конфигурации.
store
complex
когда store равно да и успех
Сообщение о статусе команды

msg
string
успех
Сообщение о статусе команды

Пример:
Конфигурация успешно применена и сохранена.


Авторы

  • Ingate Systems AB (@ingatesystems)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/ig_config_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API