HLRC: Create/Update role mapping API (#34171)

We added support for role mapper expression DSL in #33745,
that allows us to build the role mapper expression used in the
role mapping (as rules for determining user roles based on what
the boolean expression resolves to).

This change now adds support for create/update role mapping
API to the high-level rest client.
This commit is contained in:
Yogesh Gaikwad 2018-10-16 03:05:46 +01:00 committed by GitHub
parent 55dee53046
commit a4c302067e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 569 additions and 4 deletions

View file

@ -0,0 +1,53 @@
[[java-rest-high-security-put-role-mapping]]
=== Put Role Mapping API
[[java-rest-high-security-put-role-mapping-execution]]
==== Execution
Creating and updating a role mapping can be performed using the `security().putRoleMapping()`
method:
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-execute]
--------------------------------------------------
[[java-rest-high-security-put-role-mapping-response]]
==== Response
The returned `PutRoleMappingResponse` contains a single field, `created`. This field
serves as an indication if a role mapping was created or if an existing entry was updated.
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-response]
--------------------------------------------------
<1> `created` is a boolean indicating whether the role mapping was created or updated
[[java-rest-high-security-put-role-mapping-async]]
==== Asynchronous Execution
This request can be executed asynchronously using the `security().putRoleMappingAsync()`
method:
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-execute-async]
--------------------------------------------------
<1> The `PutRoleMappingResponse` 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 `PutRoleMappingResponse` looks like:
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
include-tagged::{doc-tests}/SecurityDocumentationIT.java[put-role-mapping-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

View file

@ -306,12 +306,14 @@ The Java High Level REST Client supports the following Security APIs:
* <<java-rest-high-security-disable-user>>
* <<java-rest-high-security-change-password>>
* <<java-rest-high-security-get-certificates>>
* <<java-rest-high-security-put-role-mapping>>
include::security/put-user.asciidoc[]
include::security/enable-user.asciidoc[]
include::security/disable-user.asciidoc[]
include::security/change-password.asciidoc[]
include::security/get-certificates.asciidoc[]
include::security/put-role-mapping.asciidoc[]
== Watcher APIs