bigip_command – Выполнение команд TMSH и BASH на устройствах F5
Новая в версии 2.4.
Описание
- Отправляет команду TMSH или BASH на узел BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ожидать выполнения определенного условия перед возвратом или вызовом таймаута, если условие не выполнено.
- Этот модуль не является идемпотентным и никогда им не будет. Он предназначен как временная мера для удовлетворения требований автоматизации до тех пор, пока не будет разработан реальный модуль для конфигурации в соответствии с вашими потребностями.
- Если вы используете этот модуль, вам следует также создать задачу для создания реального модуля, отвечающего вашим потребностям.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| chdir строка добавлен в 2.6 | Изменить текущую директорию перед выполнением команды. | ||
| commands сырой / обязательно | Команды, которые необходимо отправить на удаленное устройство BIG-IP через настроенного поставщика. Результат выполнения команды возвращается. Если аргумент wait_for предоставлен, модуль не возвращается до тех пор, пока условие не будет выполнено или количество попыток не истечёт. Поддерживаются только tmsh команды. Если вы используете перенаправление или добавляете дополнительную логику, которая выходит за рамки tmsh (такие как grep, awk или другие оболочечные действия, не являющиеся tmsh), это поведение не поддерживается. | ||
| interval целое число | По умолчанию: 1 | Устанавливает интервал в секундах ожидания между повторениями команды. Если команда не соответствует заданному условию, интервал указывает, как долго ждать перед повторной попыткой. | |
| match строка |
| Аргумент match используется совместно с аргументом wait_for для указания политики сопоставления. Допустимые значения являются all или any. Если значение установлено в all, все условия в wait_for должны быть выполнены. Если значение установлено в any, должно быть выполнено только одно из значений. | |
| provider словарь добавлен в 2.5 | Объект словаря, содержащий детали подключения. | ||
| auth_provider строка | Настраивает поставщика аутентификации для получения маркеров аутентификации с удаленного устройства. Этот параметр используется при работе с устройствами BIG-IQ. | ||
| password строка / обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD.псевдонимы: pass, pwd | ||
| server строка / обязательно | Хост BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER. | ||
| server_port целое число | По умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT. | |
| ssh_keyfile путь | Указывает файл SSH-ключа, используемый для аутентификации подключения к удаленному устройству. Этот аргумент используется только для транспортов cli. Вы можете опустить этот параметр, установив переменную среды ANSIBLE_NET_SSH_KEYFILE. | ||
| timeout целое число | Устанавливает таймаут в секундах для взаимодействия с сетевым устройством при подключении или отправке команд. Если таймаут превышен до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Настраивает транспортное подключение для использования при подключении к удаленному устройству. | |
| user строка / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, установив переменную среды F5_USER. | ||
| validate_certs логическое значение |
| Если no, сертификаты SSL не проверяются. Используйте это только на сайтах, контролируемых лично, с использованием самозаверяемых сертификатов.Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
| retries целое число | По умолчанию: 10 | Указывает количество попыток выполнения команды перед её признанием неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for. | |
| transport - / обязательно добавлен в 2.5 |
| Настраивает транспортное подключение для использования при подключении к удаленному устройству. Аргумент transport поддерживает подключение к устройству по протоколам cli (ssh) или rest. | |
| wait_for список | Указывает, что следует оценивать из выходных данных команды и какие условия применять. Этот аргумент заставит задачу ожидать выполнения конкретного условия до продвижения вперёд. Если условие не выполняется за указанное количество попыток, задача завершается неудачно. См. примеры. псевдонимы: waitfor | ||
| warn логическое значение добавлен в 2.6 |
| Выводить ли модулем предупреждения о неидемпотентности команды. Обратите внимание, что разработчики F5 Ansible специально оставляют это включенным, чтобы обратить ваше внимание на то, что ваше использование этого модуля может быть более эффективным при использовании официальных модулей F5 Ansible. Этот модуль должен всегда использоваться в последнюю очередь. | |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на сайте https://www.ansible.com/integrations/networks/f5.
- Требуется версия программного обеспечения BIG-IP >= 12.
- Модули F5 только изменяют текущую конфигурацию продукта F5. Чтобы убедиться, что конфигурация BIG-IP сохранится на диске, обязательно включите хотя бы одну задачу, использующую модуль bigip_config для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.
Примеры
- name: run show version on remote devices
bigip_command:
commands: show sys version
provider:
server: lb.mydomain.com
password: secret
user: admin
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
provider:
server: lb.mydomain.com
password: secret
user: admin
register: result
delegate_to: localhost
- name: run multiple commands on remote nodes
bigip_command:
commands:
- show sys version
- list ltm virtual
provider:
server: lb.mydomain.com
password: secret
user: admin
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
provider:
server: lb.mydomain.com
password: secret
user: admin
register: result
delegate_to: localhost
- name: tmsh prefixes will automatically be handled
bigip_command:
commands:
- show sys version
- tmsh list ltm virtual
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
- name: Delete all LTM nodes in Partition1, assuming no dependencies exist
bigip_command:
commands:
- delete ltm node all
chdir: Partition1
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| failed_conditions список | неудачные | Список условных выражений, которые завершились неудачей. Пример: ['...', '...'] |
| stdout список | всегда | Набор ответов от команд. Пример: ['...', '...'] |
| stdout_lines список | всегда | Значение stdout, разделенное на список. Пример: [['...', '...'], ['...'], ['...']] |
| warn логическое | изменилось | Указывает, следует ли выводить предупреждения о командах изменения. Пример: True |
Статус
- В этом модуле гарантируются изменения интерфейса, совместимые со старыми версиями. [stableinterface]
- Этот модуль поддерживается партнером Ansible. [certified]
Авторы
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 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/bigip_command_module.html