Class GrantApiKeyRequest
java.lang.Object
co.elastic.clients.elasticsearch._types.RequestBase
co.elastic.clients.elasticsearch.security.GrantApiKeyRequest
- All Implemented Interfaces:
JsonpSerializable
@JsonpDeserializable
public class GrantApiKeyRequest
extends RequestBase
implements JsonpSerializable
Creates an API key on behalf of another user. This API is similar to Create
API keys, however it creates the API key for a user that is different than
the user that runs the API. The caller must have authentication credentials
(either an access token, or a username and password) for the user on whose
behalf the API key will be created. It is not possible to use this API to
create an API key without that user’s credentials. The user, for whom the
authentication credentials is provided, can optionally "run as"
(impersonate) another user. In this case, the API key will be created on
behalf of the impersonated user.
This API is intended be used by applications that need to create and manage API keys for end users, but cannot guarantee that those users have permission to create API keys on their own behalf.
A successful grant API key API call returns a JSON structure that contains the API key, its unique id, and its name. If applicable, it also returns expiration information for the API key in milliseconds.
By default, API keys never expire. You can specify expiration information when you create the API keys.
- 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<GrantApiKeyRequest>
Json deserializer forGrantApiKeyRequest
static final Endpoint<GrantApiKeyRequest,
GrantApiKeyResponse, ErrorResponse> Endpoint "security.grant_api_key
". -
Method Summary
Modifier and TypeMethodDescriptionfinal String
The user’s access token.final GrantApiKey
apiKey()
Required - Defines the API key.final ApiKeyGrantType
Required - The type of grant.static GrantApiKeyRequest
final String
password()
The user’s password.final String
runAs()
The name of the user to be impersonated.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
final String
username()
The user name that identifies the user.Methods inherited from class co.elastic.clients.elasticsearch._types.RequestBase
toString
-
Field Details
-
_DESERIALIZER
Json deserializer forGrantApiKeyRequest
-
_ENDPOINT
Endpoint "security.grant_api_key
".
-
-
Method Details
-
of
public static GrantApiKeyRequest of(Function<GrantApiKeyRequest.Builder, ObjectBuilder<GrantApiKeyRequest>> fn) -
accessToken
The user’s access token. If you specify theaccess_token
grant type, this parameter is required. It is not valid with other grant types.API name:
access_token
-
apiKey
Required - Defines the API key.API name:
api_key
-
grantType
Required - The type of grant. Supported grant types are:access_token
,password
.API name:
grant_type
-
password
The user’s password. If you specify thepassword
grant type, this parameter is required. It is not valid with other grant types.API name:
password
-
runAs
The name of the user to be impersonated.API name:
run_as
-
username
The user name that identifies the user. If you specify thepassword
grant type, this parameter is required. It is not valid with other grant types.API name:
username
-
serialize
Serialize this object to JSON.- Specified by:
serialize
in interfaceJsonpSerializable
-
serializeInternal
-
setupGrantApiKeyRequestDeserializer
protected static void setupGrantApiKeyRequestDeserializer(ObjectDeserializer<GrantApiKeyRequest.Builder> op)
-