#ansible #dynatrace
Вопрос:
У меня возникли трудности с созданием зоны управления в dynatrace с помощью ансибельного учебника на rhel 7 ниже приведен мой код, а также ожидаемые выходные данные и фактические выходные данные
uri:
url: "https://{{ xxxxxxx }}/e/{{ xxxxxxx }}/api/config/v1/managementZones"
method: POST
return_content: yes
validate_certs: no
status_code: 201,400
headers:
Accept: 'application/json'
Authorization: 'Api-Token {{ xxxxxxxx }}'
body_format: json
body: "{{ somejsonoutput }}"
register: managzone
run_once: true
Я ожидаю, что приведенный выше код создаст зону управления, если она недоступна, но она работает не так, как ожидается.
ожидаемый результат:
dynatrace_response_source": "Cluster",
"elapsed": 0,
"failed": false,
"frame_options": "xxxxxxx",
"json": {
id: "xxxxx"
name: "xxxxx"
}
}
},
"msg": "HTTP Error 400: Bad Request",
"pragma": "no-cache",
"redirected": false,
"status": 400,
но ниже приведен фактический объем производства
Выход
"dynatrace_response_source": "Cluster",
"elapsed": 0,
"failed": false,
"frame_options": "xxxxxxx",
"json": {
"error": {
"code": 400,
"constraintViolations": [
{
"location": null,
"message": "must not be blank",
"parameterLocation": "PAYLOAD_BODY",
"path": "name"
}
],
"message": "Constraints violated."
}
},
"msg": "HTTP Error 400: Bad Request",
"pragma": "no-cache",
"redirected": false,
"status": 400,
Комментарии:
1. Можете ли вы запустить его с помощью «-vv», чтобы получить отладочный вывод, возможно, там видна дополнительная информация.
2. Я быстро попробовал, и вы получаете HTTP 400, когда зона управления уже существует. Для обновления вам нужно использовать PUT вместо POST. Поэтому вам сначала нужно будет запросить существующие зоны управления и выполнить ПУБЛИКАЦИЮ или РАЗМЕЩЕНИЕ соответственно.
Ответ №1:
Похоже, у вас отсутствует один из параметров в теле полезной нагрузки(формат json) или ваша структура json недействительна. Проверьте это в документации.
Одним из обязательных является имя MZ, другие параметры необязательны. Сначала попробуйте создать MZ без правил.