Spec-Zone.ru › Ansible 2.11

community.network.netscaler_nitro_request – Выполнение запросов Nitro API к экземпляру Netscaler.

Примечание

Этот плагин входит в коллекцию community.network (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.network.

Для использования в книге задач укажите: community.network.netscaler_nitro_request.

  • Обзор
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Выполнение запросов Nitro API к экземпляру Netscaler.
  • Предназначен для краткого вызова модуля uri Ansible для непосредственного выполнения необработанных HTTP-запросов.
  • Обеспечивает согласованные возвращаемые значения и не имеет других зависимостей, кроме базовой среды выполнения Ansible.
  • Этот модуль предназначен для запуска либо на контрольном узле Ansible, либо на бастионе (сервере шлюза) с доступом к фактическому экземпляру Netscaler.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
action
строка
Действие, выполняемое при значении operation, установленном в action.
Некоторые распространённые значения для этого параметра: enable, disable, rename.
args
строка
Словарь, определяющий ключевые аргументы для выбора объекта Nitro, над которым будет выполнено действие.
Требуется для следующих значений operation: get_by_args, 'delete_by_args'.
attributes
строка
Атрибуты объекта Nitro, над которым выполняется действие.
Требуется для следующих значений operation: add, update, action.
expected_nitro_errorcode
строка / обязательно
Значение по умолчанию:
[0]
Список числовых значений, указывающих на успешное выполнение операции.
filter
строка
Словарь, определяющий фильтр для уточнения объектов Nitro, возвращаемых операцией get_filtered.
instance_id
строка
Идентификатор целевого экземпляра Netscaler при выполнении запроса Nitro через прокси MAS.
instance_ip
строка
IP-адрес целевого экземпляра Netscaler при выполнении запроса Nitro через прокси MAS.
instance_name
строка
Имя целевого экземпляра Netscaler при выполнении запроса Nitro через прокси MAS.
name
строка
Имя ресурса, над которым выполняется действие.
Требуется для следующих значений operation: update, get, delete.
nitro_auth_token
строка
Токен аутентификации, предоставленный операцией mas_login. Требуется при выполнении вызовов API Nitro через прокси MAS.
nitro_pass
строка / обязательно
Пароль для аутентификации на узле Netscaler.
nitro_protocol
строка
    Варианты:
  • http ←
  • https
Протокол для доступа к объектам API Nitro.
nitro_user
строка / обязательно
Имя пользователя для аутентификации на узле Netscaler.
nsip
строка
IP-адрес экземпляра Netscaler или MAS, на котором будут выполняться вызовы Nitro API.
Порт может быть указан с двоеточием :. Например, 192.168.1.1:555.
operation
строка
    Варианты:
  • add
  • update
  • get
  • get_by_args
  • get_filtered
  • get_all
  • delete
  • delete_by_args
  • count
  • mas_login
  • save_config
  • action
Определяет операцию Nitro, которую нужно выполнить.
resource
строка
Тип ресурса, над которым выполняется действие.
Требуется для всех значений operation, кроме mas_login и save_config.
validate_certs
булево
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены. Это следует использовать только на контролируемых лично сайтах с самозаверяющими сертификатами.

Примеры

- name: Add a server
  delegate_to: localhost
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: add
    resource: server
    name: test-server-1
    attributes:
      name: test-server-1
      ipaddress: 192.168.1.1

- name: Update server
  delegate_to: localhost
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: update
    resource: server
    name: test-server-1
    attributes:
      name: test-server-1
      ipaddress: 192.168.1.2

- name: Get server
  delegate_to: localhost
  register: result
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: get
    resource: server
    name: test-server-1

- name: Delete server
  delegate_to: localhost
  register: result
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: delete
    resource: server
    name: test-server-1

- name: Rename server
  delegate_to: localhost
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: action
    action: rename
    resource: server
    attributes:
      name: test-server-1
      newname: test-server-2

- name: Get server by args
  delegate_to: localhost
  register: result
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: get_by_args
    resource: server
    args:
      name: test-server-1

- name: Get server by filter
  delegate_to: localhost
  register: result
  community.network.netscaler_nitro_request:
    nsip: "{{ nsip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: get_filtered
    resource: server
    filter:
      ipaddress: 192.168.1.2

# Doing a NITRO request through MAS.
# Requires to have an authentication token from the mas_login and used as the nitro_auth_token parameter
# Also nsip is the MAS address and the target Netscaler IP must be defined with instance_ip
# The rest of the task arguments remain the same as when issuing the NITRO request directly to a Netscaler instance.

- name: Do mas login
  delegate_to: localhost
  register: login_result
  community.network.netscaler_nitro_request:
    nsip: "{{ mas_ip }}"
    nitro_user: "{{ nitro_user }}"
    nitro_pass: "{{ nitro_pass }}"
    operation: mas_login

- name: Add resource through MAS proxy
  delegate_to: localhost
  community.network.netscaler_nitro_request:
    nsip: "{{ mas_ip }}"
    nitro_auth_token: "{{ login_result.nitro_auth_token }}"
    instance_ip: "{{ nsip }}"
    operation: add
    resource: server
    name: test-server-1
    attributes:
      name: test-server-1
      ipaddress: 192.168.1.7

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

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

Ключ Возвращаемое значение Описание
http_response_body
строка
всегда
Строка с фактическим содержимым тела HTTP-ответа, если оно существует. Если тело ответа отсутствует, это пустая строка.

Пример:
{ errorcode: 0, message: Выполнено, severity: NONE }
http_response_data
словарь
всегда
Словарь, содержащий все данные HTTP-ответа.

Пример:
status: 200
nitro_auth_token
строка
применимо
Токен, возвращённый операцией mas_login при успешном выполнении.

Пример:
##E8D7D74DDBD907EE579E8BB8FF4529655F22227C1C82A34BFC93C9539D66
nitro_errorcode
целое число
всегда
Числовое значение, содержащее код возврата операции NITRO. Значение 0 указывает на успешное выполнение. Любое ненулевое значение указывает на ошибку.

nitro_message
строка
всегда
Строка, содержащая удобочитаемое объяснение результата операции NITRO.

Пример:
Успешно
nitro_object
список / элементы=строка
применимо
Объект, возвращённый операцией NITRO. Применимо к различным операциям get, возвращающим объект.

Пример:
[{'ipaddress': '192.168.1.8', 'ipv6address': 'NO', 'maxbandwidth': '0', 'name': 'test-server-1', 'port': 0, 'sp': 'OFF', 'state': 'ENABLED'}]
nitro_severity
строка
всегда
Строка, описывающая степень критичности ошибки операции NITRO или NONE.

Пример:
NONE


Авторы

  • George Nikolopoulos (@giorgos-nikolopoulos)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/network/netscaler_nitro_request_module.html

Spec-Zone.ru

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