bigip_command - Выполнение произвольной команды на устройствах F5
Новая версия 2.4.
Описание
- Отправляет произвольную команду узлу BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать определенного условия перед возвратом или истечением времени ожидания, если условие не выполнено.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- f5-sdk >= 3.0.9
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| commands обязательно | Команды, которые необходимо отправить удалённому устройству BIG-IP через настроенный поставщик. Возвращается результат выполнения команды. Если предоставлен аргумент wait_for, модуль не возвращается до тех пор, пока условие не будет выполнено или не истечёт число попыток. Аргумент commands также принимает альтернативную форму, которая позволяет использовать сложные значения для указания команды для запуска и формата возвращаемого результата. Это можно сделать для каждой команды. Сложный аргумент поддерживает ключевые слова command и output, где command - команда для запуска, а output - 'текст' или 'одна строка'. | ||
| interval | Значение по умолчанию: 1 | Настраивает интервал в секундах ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанному условию, интервал определяет, как долго ждать, прежде чем повторить попытку. | |
| match | Значение по умолчанию: все | Аргумент match используется совместно с аргументом wait_for для указания политики соответствия. Допустимые значения: all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из значений. | |
| password обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_PASSWORD установлена.псевдонимы: pass, pwd | ||
| provider (добавлен в 2.5) | Значение по умолчанию: None | Объект типа dict, содержащий данные подключения. | |
| ssh_keyfile | Указывает файл SSH-ключа, который используется для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, вместо него используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout | Значение по умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания истекает до завершения операции, модуль вернёт ошибку. | |
| server обязательно | Хост BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER установлена. | ||
| user обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER установлена. | ||
| server_port | Значение по умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER_PORT установлена. | |
| password обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_PASSWORD установлена.псевдонимы: pass, pwd | ||
| validate_certs |
| Если no, сертификаты SSL не будут проверены. Используйте это только на сайтах, контролируемых лично, использующих самозаверенные сертификаты. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS установлена. | |
| transport обязательно |
| Настраивает транспортное соединение для использования при подключении к удалённому устройству. | |
| retries | Значение по умолчанию: 10 | Указывает количество попыток выполнения команды, прежде чем её можно считать неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| server обязательно | Хост BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER установлена. | ||
| server_port (добавлен в 2.2) | Значение по умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER_PORT установлена. | |
| transport обязательно (добавлен в 2.5) |
| Настраивает транспортное соединение для использования при подключении к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или rest. | |
| user обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER установлена. | ||
| validate_certs (добавлен в 2.0) |
| Если no, сертификаты SSL не будут проверены. Используйте это только на сайтах, контролируемых лично, использующих самозаверенные сертификаты. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS установлена. | |
| wait_for | Указывает, что нужно оценить из результата команды и какие условия нужно применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не выполняется в течение настроенного количества попыток, задача завершается с ошибкой. Смотрите примеры. псевдонимы: waitfor | ||
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на сайте https://www.ansible.com/integrations/networks/f5.
- Требуется пакет f5-sdk Python на хосте. Это так же просто, как
pip install f5-sdk.
Примеры
- name: run show version on remote devices
bigip_command:
commands: show sys version
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
- name: run show version and check to see if output contains BIG-IP
bigip_command:
commands: show sys version
wait_for: result[0] contains BIG-IP
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
- name: run multiple commands on remote nodes
bigip_command:
commands:
- show sys version
- list ltm virtual
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
- name: run multiple commands and evaluate the output
bigip_command:
commands:
- show sys version
- list ltm virtual
wait_for:
- result[0] contains BIG-IP
- result[1] contains my-vs
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
- name: tmsh prefixes will automatically be handled
bigip_command:
commands:
- show sys version
- tmsh list ltm virtual
server: lb.mydomain.com
password: secret
user: admin
validate_certs: no
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны в данном разделе, следующие поля уникальны для данного модуля:
| Ключ | Возвращённое значение | Описание |
|---|---|---|
| failed_conditions список | ошибка | Список условий, которые не выполнились Пример: ['...', '...'] |
| stdout список | всегда | Набор ответов от команд Пример: ['...', '...'] |
| stdout_lines список | всегда | Значение stdout, разделённое на список Пример: [['...', '...'], ['...'], ['...']] |
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Автор
- Tim Rupp (@caphrim007)
Подсказка
Если вы заметите какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/bigip_command_module.html