netscaler_nitro_request - Выполнение запросов Nitro API к экземпляру Netscaler.
Новое в версии 2.5.0.
Обзор
- Выполнение запросов Nitro API к экземпляру Netscaler.
- Предполагается, что это сокращенная запись для использования модуля Ansible uri для отправки прямых 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 |
| Протокол, используемый при доступе к объектам API Nitro. |
| nitro_user обязательно | Имя пользователя для аутентификации на узле Netscaler. | |
| nsip | IP-адрес экземпляра Netscaler или MAS, где будут выполняться вызовы API Nitro. Порт можно указать с помощью двоеточия :. Пример: 192.168.1.1:555. | |
| operation |
| Определение операции Nitro, которую нужно выполнить. |
| resource | Тип ресурса, над которым мы выполняем операцию. Требуется для всех значений operation, кроме mas_login и save_config. | |
| validate_certs | Значение по умолчанию: "yes" | Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с самозаверяющими сертификатами. |
Примеры
- name: Add a server
delegate_to: localhost
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
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
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
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
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
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
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
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
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-ответа, если оно существует. Если тела 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. Это применимо к различным операциям получения, которые возвращают объект. Пример: [{'ipaddress': '192.168.1.8', 'ipv6address': 'NO', 'maxbandwidth': '0', 'name': 'test-server-1', 'port': 0, 'sp': 'OFF', 'state': 'ENABLED'}] |
| nitro_severity строка | всегда | Строка, описывающая уровень серьезности ошибки операции NITRO или NONE. Пример: NONE |
Статус
Этот модуль помечен как предварительный просмотр, что означает, что он не гарантирует обратную совместимость интерфейса.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- George Nikolopoulos (@giorgos-nikolopoulos)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать его, чтобы улучшить его.
© 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/netscaler_nitro_request_module.html