ig_config – Управление базой данных конфигурации на Ingate SBC
Новое в версии 2.8.
Обзор
- Управление базой данных конфигурации на Ingate SBC.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- ingatesdk >= 1.0.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| add boolean |
| Добавить строку в таблицу. | |
| client - | Объект словаря, содержащий данные подключения. | ||
| address строка / обязательно | Имя хоста или IP-адрес устройства. | ||
| password строка / обязательно | Пароль пользователя REST API. | ||
| port целое число | Порт HTTP(S) для подключения. | ||
| scheme строка / обязательно |
| Используемый протокол HTTP. | |
| timeout целое число | Таймаут (в секундах) для запросов REST API. | ||
| username строка / обязательно | Имя пользователя REST API. | ||
| validate_certs boolean |
| Проверить сертификат HTTPS устройства. псевдонимы: verify_ssl | |
| version строка |
| Версия REST API. | |
| columns - | Словарь, содержащий имена/значения столбцов. | ||
| delete boolean |
| Удалить все строки в таблице или определённую строку. | |
| download boolean |
| Скачать базу данных конфигурации с устройства. | |
| factory boolean |
| Сбросить предварительную конфигурацию к заводским настройкам. | |
| filename - | Имя файла для хранения загруженной конфигурации. Обратитесь к параметру download. | ||
| get boolean |
| Возвратить все строки в таблице или определённую строку. | |
| modify boolean |
| Изменить строку в таблице. | |
| no_response boolean |
| Ожидать отсутствие ответа при сохранении предварительной конфигурации. Обратитесь к параметру store. | |
| path - | Путь в файловой системе для хранения загруженной конфигурации. Обратитесь к параметру download. | ||
| return_rowid boolean |
| Получить идентификаторы строк из таблицы, где столбцы соответствуют. | |
| revert boolean |
| Сбросить предварительную конфигурацию. | |
| rowid целое число | Идентификатор строки. | ||
| store boolean |
| Сохранить предварительную конфигурацию. | |
| store_download boolean |
| Если загруженную конфигурацию следует сохранить на диске. Обратитесь к параметру download. | |
| table - | Имя таблицы. | ||
Примечания
Примечание
- Если
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
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
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| 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 | когда return_rowid равно да и выполняется успешно | Идентификатор(ы) совпавшей строки(строк). Пример: [1, 3] | |
| revert complex | когда revert равно да и выполняется успешно | Сообщение о статусе команды | |
| msg string | успешно | Сообщение о статусе команды Пример: восстановил конфигурацию до последней применённой конфигурации. | |
| store complex | когда store равно да и выполняется успешно | Сообщение о статусе команды | |
| msg string | успешно | Сообщение о статусе команды Пример: Конфигурация успешно применена и сохранена. | |
Статус
- Этот модуль не гарантирует обратную совместимость. [предварительная версия]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.9/modules/ig_config_module.html