Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин является частью коллекции community.network (версия 1.3.0).

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

Чтобы использовать его в книге задач, укажите: community.network.ig_config.

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

Обзор

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

Требования

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

  • ingatesdk >= 1.0.6

Параметры

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

алиасы: verify_ssl
version
string
    Варианты:
  • v1 ←
Версия REST API.
columns
string
Словарь, содержащий имена/значения столбцов.
delete
boolean
    Варианты:
  • нет
  • да
Удалить все строки в таблице или определённую строку.
download
boolean
    Варианты:
  • нет
  • да
Загрузить базу данных конфигурации с устройства.
factory
boolean
    Варианты:
  • нет
  • да
Сбросить предварительную конфигурацию до заводских значений по умолчанию.
filename
string
Имя файла для сохранения загруженной конфигурации. См. параметр download.
get
boolean
    Варианты:
  • нет
  • да
Возвратить все строки в таблице или определённую строку.
modify
boolean
    Варианты:
  • нет
  • да
Изменить строку в таблице.
no_response
boolean
    Варианты:
  • нет ←
  • да
Ожидать отсутствия ответа при сохранении предварительной конфигурации. См. параметр store.
path
string
Путь в файловой системе для сохранения загруженной конфигурации. См. параметр download.
return_rowid
boolean
    Варианты:
  • нет
  • да
Получить rowid(ы) из таблицы, где столбцы соответствуют.
revert
boolean
    Варианты:
  • нет
  • да
Сбросить предварительную конфигурацию.
rowid
integer
Идентификатор строки.
store
boolean
    Варианты:
  • нет
  • да
Сохранить предварительную конфигурацию.
store_download
boolean
    Варианты:
  • нет ←
  • да
Если загруженная конфигурация должна быть сохранена на диске. См. параметр 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/network/ig_config_module.html

Spec-Zone.ru

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