Модуль f5networks.f5_modules.bigip_command — выполнение команд TMSH и BASH на устройствах F5
Примечание
Этот модуль входит в коллекцию f5networks.f5_modules (версия 1.39.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить коллекцию, выполните: ansible-galaxy collection install f5networks.f5_modules.
Чтобы использовать её в плейбуке, укажите: f5networks.f5_modules.bigip_command.
Добавлено в f5networks.f5_modules 1.0.0
Краткое описание
- Отправляет команду TMSH или BASH узлу BIG-IP и возвращает результаты, полученные с устройства. Этот модуль включает аргумент, позволяющий дождаться определённого условия перед возвратом результата или завершиться по тайм-ауту, если условие не выполнено.
- Этот модуль не является идемпотентным и никогда им не станет. Он предназначен как временная мера для удовлетворения требований автоматизации до тех пор, пока не будет разработан полноценный модуль для настройки нужным вам способом.
- Если вы используете этот модуль, рекомендуем также создать обращение с просьбой разработать полноценный модуль для ваших задач.
Параметры
Параметр | Комментарии |
|---|---|
chdir string | Перейти в этот каталог перед выполнением команды. |
commands any / обязательный | Команды, отправляемые удалённому устройству BIG-IP через настроенный поставщик. Возвращается результат выполнения команды. Если указан аргумент wait_for, модуль не возвращает результат, пока условие не будет выполнено или не истечёт число повторных попыток. Поддерживаются только команды |
interval integer | Задаёт интервал в секундах между повторными попытками выполнения команды. Если команда не соответствует указанному условию, интервал определяет, сколько времени ждать перед повторным запуском команды. По умолчанию: |
match string | Аргумент match используется совместно с аргументом wait_for для задания политики сопоставления. Допустимые значения: Варианты:
|
provider dictionary добавлено в f5networks.f5_modules 1.0.0 | Объект dict, содержащий сведения о подключении. |
|
auth_provider string |
Настраивает поставщика аутентификации для получения токенов аутентификации с удалённого устройства. Этот параметр используется главным образом при работе с устройствами BIG-IQ. |
|
no_f5_teem boolean |
Если задано Этот параметр можно не указывать, задав переменную среды Ранее использовавшаяся переменная Варианты:
|
|
password псевдонимы: pass, pwd string / обязательный |
Пароль учётной записи пользователя, используемой для подключения к BIG-IP. Этот параметр можно не указывать, задав переменную среды |
|
server string / обязательный |
Узел BIG-IP. Этот параметр можно не указывать, задав переменную среды |
|
server_port integer |
Порт сервера BIG-IP. Этот параметр можно не указывать, задав переменную среды По умолчанию: |
|
ssh_keyfile path |
Указывает файл ключа SSH для аутентификации при подключении к удалённому устройству. Этот аргумент используется только для транспорта cli. Этот параметр можно не указывать, задав переменную среды |
|
timeout integer |
Параметр действует, когда Задаёт время ожидания в секундах при подключении к сетевому устройству или отправке ему команд. Если время ожидания истекает до завершения операции, модуль выдаёт ошибку. |
|
transport string |
Настраивает транспортное подключение для связи с удалённым устройством. Варианты:
|
|
user string / обязательный |
Имя пользователя для подключения к BIG-IP. У этого пользователя должны быть права администратора на устройстве. Этот параметр можно не указывать, задав переменную среды |
|
validate_certs boolean |
Если задано Этот параметр можно не указывать, задав переменную среды Варианты:
|
retries integer | Задаёт число попыток выполнения команды, после которого она считается неудачной. При каждой попытке команда выполняется на целевом устройстве и проверяется на соответствие условиям wait_for. По умолчанию: |
wait_for псевдоним: waitfor list / элементы=string | Задаёт, какие данные из вывода команды проверять и какие условия применять. Этот аргумент заставляет задачу ожидать выполнения определённого условия, прежде чем продолжить работу. Если условие не выполнено за заданное число повторных попыток, задача завершается с ошибкой. См. примеры. |
warn boolean | Следует ли модулю выдавать предупреждения, связанные с идемпотентностью команд. Разработчики F5 Ansible специально оставляют эту настройку включённой, чтобы обратить ваше внимание на то, что для ваших задач лучше могут подойти официальные модули F5 Ansible. Этот модуль следует использовать только в крайнем случае. Варианты:
|
Примечания
Примечание
- При запуске этого модуля в среде высокой доступности через SSH-подключение с ролью, отличной от
adminилиroot, может отображаться состояниеChange Pending, даже если вы не вносили изменений. Эта проблема отслеживается под номером ID429869. - При использовании модуля bigip_command с REST API в нескольких местах для экранирования символов, например кавычек, внутри используется регулярное выражение. Если сама ваша команда TMSH содержит символы регулярных выражений, например подстановочные знаки datagroup
*, может потребоваться большое количество символов экранирования. - При выполнении длительной команды необходимо задать достаточно большое значение параметра timeout в блоке provider.
- Дополнительные сведения об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
- Требуется версия программного обеспечения BIG-IP >= 12.
- Чтобы задать
timeout, если дляtransportустановлено значениеcli, используйте переменную средыANSIBLE_PERSISTENT_COMMAND_TIMEOUTили укажитеcommand_timeoutв файле ansible.cfg; см. https://docs.ansible.com/ansible/latest/reference_appendices/config.html#persistent-command-timeout - Модули F5 изменяют только текущую конфигурацию продукта F5. Чтобы сохранить на диске конфигурацию BIG-IP, обязательно включите хотя бы одну задачу, использующую модуль f5networks.f5_modules.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: sleep for 200 seconds
bigip_command:
commands: 'run /util bash -c "sleep 200"'
provider:
server: lb.mydomain.com
password: secret
user: admin
timeout: 210
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
- name: Command that contains wildcard character to be passed to tmsh
bigip_command:
commands:
- modify ltm data-group internal dg_string records add { "my test\\\\\\\*string" { data "value" }}
provider:
server: lb.mydomain.com
password: secret
user: admin
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь; ниже приведены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
failed_conditions list / элементы=string | Список условий, которые не были выполнены. Возвращается: failed Пример: |
stdout list / элементы=string | Набор ответов на команды. Возвращается: всегда Пример: |
stdout_lines list / элементы=string | Значение stdout, разделённое на список. Возвращается: всегда Пример: |
warn boolean | Выдавать ли предупреждения о командах изменения конфигурации. Возвращается: при изменении Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/f5networks/f5_modules/bigip_command_module.html