Spec-Zone.ru › Ansible 2.6

bigip_command - Выполнение произвольной команды на устройствах F5

Новое в версии 2.4.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • Отправляет произвольную команду на узел BIG-IP и возвращает результаты, считанные с устройства. Этот модуль включает аргумент, который заставит модуль ждать определённого условия перед возвратом или истечением времени ожидания, если условие не выполняется.
  • Этот модуль не является идемпотентным и не будет им никогда. Он предназначен в качестве временной меры для удовлетворения требований автоматизации до тех пор, пока не будет разработан реальный модуль для настройки требуемым образом.
  • Если вы используете этот модуль, вам, вероятно, также следует подать запрос на создание реального модуля для ваших нужд.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • f5-sdk >= 3.0.9

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
chdir
(добавлено в 2.6)
Перейти в эту директорию перед выполнением команды.
commands
обязательно
Команды для отправки на удалённое устройство BIG-IP через настроенного провайдера. Результирующий вывод команды возвращается. Если указан аргумент wait_for, модуль не возвращается, пока условие не будет выполнено или не истечёт количество попыток.
Поддерживаются только tmsh команды. Если вы используете перенаправление или добавляете дополнительную логику, которая выходит за рамки tmsh (например, grep, awk или другие оболочечные вещи, которые не являются tmsh), это поведение не поддерживается.
interval По умолчанию:
1
Настраивает интервал в секундах для ожидания между повторными попытками выполнения команды. Если команда не удовлетворяет указанному условию, интервал указывает, как долго ждать, прежде чем попробовать команду снова.
match
    Варианты:
  • any
  • all ←
Аргумент 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 задана.
user
обязательно
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER задана.
validate_certs
bool
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены. Используйте только на сайтах, контролируемых лично, с самозаверенными сертификатами. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS задана.
timeout По умолчанию:
10
Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истечёт до завершения операции, модуль вернёт ошибку.
ssh_keyfile
Указывает SSH-ключевой файл для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, используется значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
transport
обязательно
    Варианты:
  • rest
  • cli ←
Настраивает транспортное соединение для подключения к удалённому устройству.
retries По умолчанию:
10
Указывает количество попыток выполнения команды, прежде чем она считается неудачной. Команда выполняется на целевом устройстве при каждой попытке и оценивается по условиям wait_for.
server
обязательно
Хост BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER задана.
server_port
(добавлено в 2.2)
По умолчанию:
443
Порт сервера BIG-IP. Вы можете опустить этот параметр, если переменная окружения F5_SERVER_PORT задана.
transport
обязательно

(добавлено в 2.5)
    Варианты:
  • rest ←
  • cli
Настраивает транспортное соединение для подключения к удалённому устройству. Аргумент transport поддерживает подключение к устройству через cli (ssh) или rest.
user
обязательно
Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если переменная окружения F5_USER задана.
validate_certs
bool

(добавлено в 2.0)
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены. Используйте только на сайтах, контролируемых лично, с самозаверенными сертификатами. Вы можете опустить этот параметр, если переменная окружения F5_VALIDATE_CERTS задана.
wait_for
Указывает, что нужно выводить из вывода команды и какие условия применить. Этот аргумент заставит задачу подождать, пока определённое условие не станет истинным, прежде чем продолжить. Если условие не станет истинным к заданному количеству попыток, задача завершится ошибкой. См. примеры.

псевдонимы: waitfor
warn
bool

(добавлено в 2.6)
    Варианты:
  • no
  • yes ←
Указывает, следует ли модулю генерировать предупреждения, связанные с идемпотентностью команд или нет.
Обратите внимание, что разработчики Ansible F5 специально оставляют это включённым, чтобы предупредить вас о том, что ваше использование этого модуля может быть лучше обслуживаемо официальными модулями Ansible F5. Этот модуль следует всегда использовать в последнюю очередь.

Примечания

Примечание

  • Дополнительную информацию об использовании 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
  register: result
  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
  register: result
  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

- name: Delete all LTM nodes in Partition1, assuming no dependencies exist
  bigip_command:
    commands:
      - delete ltm node all
    chdir: Partition1
    server: lb.mydomain.com
    password: secret
    user: admin
    validate_certs: no
  delegate_to: localhost

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
failed_conditions
список
неудачные
Список условных выражений, которые не были выполнены.

Пример:
['...', '...']
stdout
список
всегда
Набор ответов от команд.

Пример:
['...', '...']
stdout_lines
список
всегда
Значение stdout, разбитое на список.

Пример:
[['...', '...'], ['...'], ['...']]
warn
логическое значение
изменилось
Указывает, следует ли подавать предупреждения о командах модификации.

Пример:
True


Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет внесено обратных несовместимых изменений в интерфейс.

Техническое обслуживание

Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • 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.6/modules/bigip_command_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API