mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-24 23:27:25 -04:00
This commit adds a security client to the high level rest client, which includes an implementation for the put user api. As part of these changes, a new request and response class have been added that are specific to the high level rest client. One change here is that the response was previously wrapped inside a user object. The plan is to remove this wrapping and this PR adds an unwrapped response outside of the user object so we can remove the user object later on. See #29827
52 lines
2.1 KiB
Text
52 lines
2.1 KiB
Text
[[java-rest-high-x-pack-security-put-user]]
|
|
=== X-Pack Put User API
|
|
|
|
[[java-rest-high-x-pack-security-put-user-execution]]
|
|
==== Execution
|
|
|
|
Creating and updating a user can be performed using the `security().putUser()`
|
|
method:
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{doc-tests}/SecurityDocumentationIT.java[x-pack-put-user-execute]
|
|
--------------------------------------------------
|
|
|
|
[[java-rest-high-x-pack-security-put-user-response]]
|
|
==== Response
|
|
|
|
The returned `PutUserResponse` contains a single field, `created`. This field
|
|
serves as an indication if a user was created or if an existing entry was updated.
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{doc-tests}/SecurityDocumentationIT.java[x-pack-put-user-response]
|
|
--------------------------------------------------
|
|
<1> `created` is a boolean indicating whether the user was created or updated
|
|
|
|
[[java-rest-high-x-pack-security-put-user-async]]
|
|
==== Asynchronous Execution
|
|
|
|
This request can be executed asynchronously:
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{doc-tests}/SecurityDocumentationIT.java[x-pack-put-user-execute-async]
|
|
--------------------------------------------------
|
|
<1> The `PutUserResponse` to execute and the `ActionListener` to use when
|
|
the execution completes
|
|
|
|
The asynchronous method does not block and returns immediately. Once the request
|
|
has completed the `ActionListener` is called back using the `onResponse` method
|
|
if the execution successfully completed or using the `onFailure` method if
|
|
it failed.
|
|
|
|
A typical listener for a `PutUserResponse` looks like:
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{doc-tests}/SecurityDocumentationIT.java[x-pack-put-user-execute-listener]
|
|
--------------------------------------------------
|
|
<1> Called when the execution is successfully completed. The response is
|
|
provided as an argument
|
|
<2> Called in case of failure. The raised exception is provided as an argument
|