OpenSearch/x-pack/docs/en/rest-api/watcher/activate-watch.asciidoc

106 lines
2.9 KiB
Plaintext
Raw Normal View History

[role="xpack"]
[[watcher-api-activate-watch]]
2018-12-20 13:23:28 -05:00
=== Activate watch API
++++
<titleabbrev>Activate watch</titleabbrev>
++++
A watch can be either
2018-12-20 13:23:28 -05:00
{stack-ov}/how-watcher-works.html#watch-active-state[active or inactive]. This
API enables you to activate a currently inactive watch.
[[watcher-api-activate-watch-request]]
==== {api-request-title}
`PUT _watcher/watch/<watch_id>/_activate`
[[watcher-api-activate-watch-prereqs]]
==== {api-prereq-title}
* You must have `manage_watcher` cluster privileges to use this API. For more
information, see {stack-ov}/security-privileges.html[Security privileges].
//[[watcher-api-activate-watch-desc]]
//==== {api-description-title}
[[watcher-api-activate-watch-path-params]]
==== {api-path-parms-title}
`<watch_id>`::
(Required, string) Identifier for the watch.
//[[watcher-api-activate-watch-query-params]]
//==== {api-query-parms-title}
//[[watcher-api-activate-watch-request-body]]
//==== {api-request-body-title}
//[[watcher-api-activate-watch-response-body]]
//==== {api-response-body-title}
//[[watcher-api-activate-watch-response-codes]]
//==== {api-response-codes-title}
[[watcher-api-activate-watch-example]]
==== {api-examples-title}
The status of an inactive watch is returned with the watch definition when you
call the <<watcher-api-get-watch,get watch API>>:
[source,console]
--------------------------------------------------
GET _watcher/watch/my_watch
--------------------------------------------------
// TEST[setup:my_inactive_watch]
[source,console-result]
--------------------------------------------------
{
"found": true,
"_id": "my_watch",
"_seq_no": 0,
"_primary_term": 1,
Watcher: Never return credentials after watch creation... (elastic/x-pack-elasticsearch#3581) ... yet support updates. This commit introduces a few changes of how watches are put. The GET Watch API will never return credentials like basic auth passwords, but a placeholder instead now. If the watcher is enabled to encrypt sensitive settings, then the original encrypted value is returned otherwise a "::es_redacted::" place holder. There have been several Put Watch API changes. The API now internally uses the Update API and versioning. This has several implications. First if no version is supplied, we assume an initial creation. This will work as before, however if a credential is marked as redacted we will reject storing the watch, so users do not accidentally store the wrong watch. The watch xcontent parser now has an additional methods to tell the caller if redacted passwords have been found. Based on this information an error can be thrown. If the user now wants to store a watch that contains a password marked as redacted, this password will not be part of the toXContent representation of the watch and in combinatination with update request the existing password will be merged in. If the encrypted password is supplied this one will be stored. The serialization for GetWatchResponse/PutWatchRequest has changed. The version checks for this will be put into the 6.x branch. The Watcher UI now needs specify the version, when it wants to store a watch. This also prevents last-write-wins scenarios and is the reason why the put/get watch response now contains the internal version. relates elastic/x-pack-elasticsearch#3089 Original commit: elastic/x-pack-elasticsearch@bb63be9f7986585ecb04e901bc3d3b3cd8c69749
2018-02-20 04:09:27 -05:00
"_version": 1,
"status": {
"state" : {
"active" : false,
"timestamp" : "2015-08-20T12:21:32.734Z"
},
"actions": ...,
"version": 1
},
"watch": ...
}
--------------------------------------------------
// TESTRESPONSE[s/2015-08-20T12:21:32.734Z/$body.status.state.timestamp/]
// TESTRESPONSE[s/"actions": \.\.\./"actions": "$body.status.actions"/]
// TESTRESPONSE[s/"watch": \.\.\./"watch": "$body.watch"/]
// TESTRESPONSE[s/"version": 1/"version": $body.status.version/]
You can activate the watch by executing the following API call:
[source,console]
--------------------------------------------------
PUT _watcher/watch/my_watch/_activate
--------------------------------------------------
// TEST[setup:my_inactive_watch]
The new state of the watch is returned as part of its overall status:
[source,console-result]
--------------------------------------------------
{
"status": {
"state" : {
"active" : true,
"timestamp" : "2015-09-04T08:39:46.816Z"
},
"actions": ...,
"version": 1
}
}
--------------------------------------------------
// TESTRESPONSE[s/2015-09-04T08:39:46.816Z/$body.status.state.timestamp/]
// TESTRESPONSE[s/"actions": \.\.\./"actions": "$body.status.actions"/]
// TESTRESPONSE[s/"version": 1/"version": $body.status.version/]