Class UpdateApiKeyRequest
java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.security.UpdateApiKeyRequest
- All Implemented Interfaces:
JsonpSerializable
@JsonpDeserializable
public class UpdateApiKeyRequest
extends RequestBase
implements JsonpSerializable
Updates attributes of an existing API key. Users can only update API keys
that they created or that were granted to them. Use this API to update API
keys created by the create API Key or grant API Key APIs. If you need to
apply the same update to many API keys, you can use bulk update API Keys to
reduce overhead. It’s not possible to update expired API keys, or API keys
that have been invalidated by invalidate API Key. This API supports updates
to an API key’s access scope and metadata. The access scope of an API key is
derived from the
role_descriptors
you specify in the request,
and a snapshot of the owner user’s permissions at the time of the request.
The snapshot of the owner’s permissions is updated automatically on every
call. If you don’t specify role_descriptors
in the request, a
call to this API might still change the API key’s access scope. This change
can occur if the owner user’s permissions have changed since the API key was
created or last modified. To update another user’s API key, use the
run_as
feature to submit a request on behalf of another user.
IMPORTANT: It’s not possible to use an API key as the authentication
credential for this API. To update an API key, the owner user’s credentials
are required.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class co.elastic.clients.elasticsearch._types.RequestBase
RequestBase.AbstractBuilder<BuilderT extends RequestBase.AbstractBuilder<BuilderT>>
-
Field Summary
Modifier and TypeFieldDescriptionstatic final JsonpDeserializer<UpdateApiKeyRequest>
Json deserializer forUpdateApiKeyRequest
static final Endpoint<UpdateApiKeyRequest,
UpdateApiKeyResponse, ErrorResponse> Endpoint "security.update_api_key
". -
Method Summary
Modifier and TypeMethodDescriptionfinal String
id()
Required - The ID of the API key to update.metadata()
Arbitrary metadata that you want to associate with the API key.static UpdateApiKeyRequest
final Map<String,
RoleDescriptor> An array of role descriptors for this API key.void
serialize
(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper) Serialize this object to JSON.protected void
serializeInternal
(jakarta.json.stream.JsonGenerator generator, JsonpMapper mapper) protected static void
Methods inherited from class co.elastic.clients.elasticsearch._types.RequestBase
toString
-
Field Details
-
_DESERIALIZER
Json deserializer forUpdateApiKeyRequest
-
_ENDPOINT
Endpoint "security.update_api_key
".
-
-
Method Details
-
of
public static UpdateApiKeyRequest of(Function<UpdateApiKeyRequest.Builder, ObjectBuilder<UpdateApiKeyRequest>> fn) -
id
Required - The ID of the API key to update.API name:
id
-
metadata
Arbitrary metadata that you want to associate with the API key. It supports nested data structure. Within the metadata object, keys beginning with _ are reserved for system usage.API name:
metadata
-
roleDescriptors
An array of role descriptors for this API key. This parameter is optional. When it is not specified or is an empty array, then the API key will have a point in time snapshot of permissions of the authenticated user. If you supply role descriptors then the resultant permissions would be an intersection of API keys permissions and authenticated user’s permissions thereby limiting the access scope for API keys. The structure of role descriptor is the same as the request for create role API. For more details, see create or update roles API.API name:
role_descriptors
-
serialize
Serialize this object to JSON.- Specified by:
serialize
in interfaceJsonpSerializable
-
serializeInternal
-
setupUpdateApiKeyRequestDeserializer
protected static void setupUpdateApiKeyRequestDeserializer(ObjectDeserializer<UpdateApiKeyRequest.Builder> op)
-