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 строка |
| Протокол для доступа к объектам API Nitro. |
| nitro_user строка / обязательно | Имя пользователя для аутентификации на узле Netscaler. | |
| nsip строка | IP-адрес экземпляра Netscaler или MAS, на котором будут выполняться вызовы Nitro API. Порт может быть указан с двоеточием :. Например, 192.168.1.1:555. | |
| operation строка |
| Определяет операцию Nitro, которую нужно выполнить. |
| resource строка | Тип ресурса, над которым выполняется действие. Требуется для всех значений operation, кроме mas_login и save_config. | |
| validate_certs булево |
| Если 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