Я столкнулся с этой ошибкой:
*{"error_message": {"debuginfo": null, "faultcode": "Client", "faultstring": "Missing argument: \"data\""}}*
Я делаю остальной вызов в PHP для создания тревоги, как
$json = '\'{"alarm_actions": ["log:///tmp/tst.txt"], "description": " Test of CPU usage high", "threshold_rule": {"meter_name": "cpu_usage_high", "evaluation_periods": 2, "period": 10, "statistic": "avg", "threshold": 40.0,"query":[{"field": "resource_id", "type": "", "value": "500a1594-4972-7968-2914-c333201585bd", "op": "eq"}], "comparison_operator": "gt" }, "repeat_actions": "FALSE", "type": "threshold", "name": "cpu_high_alarm_ada_9007"}\'';
$result = json_decode ($json);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers );
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$result);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);$result = curl_exec($curl);
Для проверки правильности использования JSON онлайн валидатор JSON.
Здесь, в данных JSON я отправлял «Ложь» (с кавычками). Но сервер ожидал данных ложь (без кавычек).
Других решений пока нет …