Spec-Zone.ru › Ansible

Модуль community.network.netscaler_nitro_request – Отправка запросов Nitro API к экземпляру Netscaler.

Примечание

Этот модуль является частью коллекции community.network (версия 5.0.3).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

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

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

  • Краткое описание
  • Параметры
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Псевдонимы: network.netscaler.netscaler_nitro_request

Параметры

Параметр

Комментарии

action

string

Действие, выполняемое, когда значение operation установлено в action.

Некоторые распространенные значения для этого параметра: enable, disable, rename.

args

string

Словарь, определяющий ключевые аргументы, с помощью которых мы будем выбирать объект Nitro для работы.

Требуется для следующих значений operation: get_by_args, 'delete_by_args'.

attributes

string

Атрибуты объекта Nitro, с которым мы работаем.

Требуется для следующих значений operation: add, update, action.

expected_nitro_errorcode

string

Список числовых значений, которые означают, что операция прошла успешно.

По умолчанию: [0]

filter

string

Словарь, определяющий фильтр, с помощью которого можно уточнить объекты Nitro, возвращаемые операцией get_filtered.

instance_id

string

Идентификатор целевого экземпляра Netscaler при отправке запроса Nitro через прокси MAS.

instance_ip

string

IP-адрес целевого экземпляра Netscaler при отправке запроса Nitro через прокси MAS.

instance_name

string

Имя целевого экземпляра Netscaler при отправке запроса Nitro через прокси MAS.

name

string

Имя ресурса, с которым мы работаем.

Требуется для следующих значений operation: update, get, delete.

nitro_auth_token

string

Токен аутентификации, предоставленный операцией mas_login. Требуется при отправке вызовов Nitro API через прокси MAS.

nitro_pass

string / required

Пароль для аутентификации на узле Netscaler.

nitro_protocol

string

Протокол, используемый при доступе к объектам API Nitro.

Варианты:

  • "http" ← (по умолчанию)
  • "https"

nitro_user

string / required

Имя пользователя для аутентификации на узле Netscaler.

nsip

string

IP-адрес экземпляра Netscaler или MAS, где будут выполняться вызовы API Nitro.

Порт можно указать с помощью двоеточия :. Например, 192.168.1.1:555.

operation

string

Определите операцию Nitro, которую мы хотим выполнить.

Варианты:

  • "add"
  • "update"
  • "get"
  • "get_by_args"
  • "get_filtered"
  • "get_all"
  • "delete"
  • "delete_by_args"
  • "count"
  • "mas_login"
  • "save_config"
  • "action"

resource

string

Тип ресурса, с которым мы работаем.

Требуется для всех значений operation, кроме mas_login и save_config.

validate_certs

boolean

Если no, SSL-сертификаты не будут проверяться. Это следует использовать только на лично контролируемых сайтах, использующих самозаверенные сертификаты.

Варианты:

  • false
  • true ← (по умолчанию)

Примеры

- 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: Done, severity: NONE }"

http_response_data

словарь

Словарь, содержащий все данные HTTP ответа.

Возвращается: всегда

Пример: "status: 200"

nitro_auth_token

строка

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

Возвращается: применимо

Пример: "##E8D7D74DDBD907EE579E8BB8FF4529655F22227C1C82A34BFC93C9539D66"

nitro_errorcode

целое число

Числовое значение, содержащее код возврата операции NITRO. При значении 0 операция выполнена успешно. Любое ненулевое значение указывает на ошибку.

Возвращается: всегда

Пример: 0

nitro_message

строка

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

Возвращается: всегда

Пример: "Success"

nitro_object

список / элементы=строка

Объект, возвращённый операцией NITRO. Это относится к различным операциям получения, которые возвращают объект.

Возвращается: применимо

Пример: [{"ipaddress": "192.168.1.8", "ipv6address": "NO", "maxbandwidth": "0", "name": "test-server-1", "port": 0, "sp": "OFF", "state": "ENABLED"}]

nitro_severity

строка

Строка, описывающая степень ошибки операции NITRO или NONE.

Возвращается: всегда

Пример: "NONE"

Авторы

  • Георгий Николопулос (@giorgos-nikolopoulos)

Ссылки на коллекцию

  • Система отслеживания ошибок
  • Репозиторий (исходные коды)

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

Spec-Zone.ru

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