Update Alarm¶
Overview¶
- Update an alarm.
- This API performs the same function as "OpenStack Telemetry API: PUT /v2/alarms/{alarm_id}".
Classification¶
- Update
API Operation Object¶
- Alarm
Synchronous / Asynchronous¶
- Synchronous
Request¶
HTTP Request Method¶
- PUT
HTTP Request Path¶
{api_endpoint}/v2/alarms/{alarm_id}
HTTP Request Header¶
Content-Type: application/json
Accept: application/json
X-Auth-Token: <token_id>
HTTP Request Body¶
Format¶
{
"name": "<alarm_name>",
"description": "<alarm_description>",
"enabled": <enabled>,
"repeat_actions": <repeat_actions>,
"severity": "<severity>",
"alarm_actions": ["<alarm_actions>",<<repeat>>],
"ok_actions": ["<ok_actions>",<<repeat>>],
"type": "threshold",
"threshold_rule": {
"meter_name": "<meter_name>",
"period": <period>,
"query": [{
"field": "resource_id",
"op": "eq",
"type": "string",
"value": "<resource_id>"
}],
"evaluation_periods": <evaluation_periods>,
"evaluation_type": "<evaluation_type>",
"comparison_operator": "<comparison_operator>",
"statistic": "<statistics>",
"threshold": <threshold>
}
}
Request Parameter¶
name | style | format | description | required/optional | default value | action for invalid parameter | response code for invalid parameter |
---|---|---|---|---|---|---|---|
(data) | Body | Alarm | an alarm within the request body | required | - | Terminate | 400, 404, 409 |
token_id | Header | authentication token string | authentication token | required | - | Terminate | 401 |
Response¶
Response Header¶
Format¶
HTTP/1.1 <response_code> <status> (ex. 200 OK)
- <response_code>: see "Response Code" section
- <status>: message based on the response code
注釈
skip auto-insert fields such as "Content-Length" and "Date"
Response Code¶
response code | status | condition | message |
---|---|---|---|
200 | ok | normal end | |
400 | bad request | invalid value | Invalid value for parameter. |
invalid value | Resource not found. | ||
401 | unauthorized | authentication failure | The request you have made requires authentication. |
404 | not found | invalid meter name | Meter not found. |
409 | conflict | the same alarm name | Alarm already exists. |
500 | internal server error | internal server error | The request processing has failed due to some unknown error, exception or failure. |
Response Body¶
Format¶
{
"alarm_id": "<alarm_id>",
"project_id": "<tenant_id>",
"user_id": "<user_id>",
"name": "<alarm_name>",
"description": "<alarm_description>",
"enabled": <enabled>,
"state": "<state>",
"repeat_actions": <repeat_actions>,
"severity": "<severity>",
"time_constraints": [],
"alarm_actions": ["<alarm_actions>",<<repeat>>],
"ok_actions": ["<ok_actions>",<<repeat>>],
"insufficient_data_actions": [],
"type": "threshold",
"threshold_rule": {
"meter_name": "<meter_name>",
"period": <period>,
"query": [{
"field": "resource_id",
"op": "eq",
"type": "string",
"value": "<resource_id>"
}],
"exclude_outliers": false,
"evaluation_periods": <evaluation_periods>,
"evaluation_type": "<evaluation_type>",
"comparison_operator": "<comparison_operator>",
"statistic": "<statistics>",
"threshold": <threshold>
},
"timestamp": "<timestamp>",
"state_timestamp": "<state_timestamp>",
"resource_name": "<resource_name>",
"deleted": <deleted>
}
Response Parameter¶
item | format | description |
---|---|---|
(data) | Alarm | an alarm updated by the request |
Sample Request and Response¶
Sample API Request¶
Request URL¶
PUT /v2/alarms
Request Header¶
Content-Type: application/json
Accept: application/json
X-Auth-Token: e8c788fbaeb14964ae19759eb1df4ff1
Request Body¶
{
"name": "alarm-test",
"description": "alarm-test-description",
"enabled": true,
"repeat_actions": false,
"severity": "moderate",
"alarm_actions": ["http://example.com"],
"ok_actions": ["http://example.com"],
"type": "threshold",
"threshold_rule": {
"meter_name": "nova.hv.status.bool",
"period": 300,
"query": [{
"field": "resource_id",
"op": "eq",
"type": "string",
"value": "nova_5dd5bfe5-aee8-4663-86e4-e76d032d318e"
}],
"evaluation_periods": 1,
"evaluation_type": "0",
"comparison_operator": "gt",
"statistic": "max",
"threshold": 1
}
}
Sample API Response¶
Response Header¶
HTTP/1.1 200 OK
Response Body¶
{
"alarm_id": "638c3bfe-9435-45f5-9fbb-9d6d380c17ba",
"project_id": "26574d10673044dbb03ffc8facc7ab7a",
"user_id": "a9de93f5a7604707a2870d8b95f74eda",
"name": "alarm-test",
"description": "alarm-test-description",
"enabled": true,
"state": "ok",
"repeat_actions": false,
"severity": "moderate",
"time_constraints": [],
"alarm_actions": ["http://example.com"],
"ok_actions": ["http://example.com"],
"insufficient_data_actions": [],
"type": "threshold",
"threshold_rule": {
"meter_name": "nova.hv.status.bool",
"period": 300,
"query": [{
"field": "resource_id",
"op": "eq",
"type": "string",
"value": "nova_5dd5bfe5-aee8-4663-86e4-e76d032d318e"
}],
"exclude_outliers": false,
"evaluation_periods": 1,
"evaluation_type": "0",
"comparison_operator": "gt",
"statistic": "max",
"threshold": 1
},
"timestamp": "2015-11-23T04:35:08+00:00",
"state_timestamp": "2015-11-20T07:05:10+00:00",
"resource_name": "test-vm",
"deleted": false
}
Sample Error Response¶
PUT /v2/alarms/638c3bfe-9435-45f5-9fbb-9d6d380c17ba
User-Agent: curl/7.19.7
Content-Type: application/json
Accept: application/json
X-Auth-Token: 61389973e52b49c394ba3b89179b290b
HTTP Response¶
HTTP/1.1 400 Bad Request
Date: Wed, 02 Dec 2015 10:41:34 GMT
Server: Apache
Cache-Control: no-cache
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
Status: 400 Bad Request
Connection: close
Transfer-Encoding: chunked
Content-Type: application/json; charset=utf-8
{"error":{"code":400,"message":"Invalid value for parameter.","title":"Bad Request"}}