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, должно быть выполнено только одно из условий. | |
| password строка / обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную окружения F5_PASSWORD.псевдонимы: pass, pwd | ||
| provider словарь добавлено в 2.5 | Объект словаря, содержащий сведения о подключении. | ||
| 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 целое число | По умолчанию: 10 | Указывает время ожидания в секундах для связи с сетевым устройством при подключении или отправке команд. Если время ожидания истекает до завершения операции, модуль выдаст ошибку. | |
| transport строка |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| user строка / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные права на устройстве. Вы можете опустить этот параметр, установив переменную окружения F5_USER. | ||
| validate_certs булево |
| Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверяющими сертификатами.Вы можете опустить этот параметр, установив переменную окружения F5_VALIDATE_CERTS. | |
| 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 | ||
| 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.8/modules/bigip_command_module.html