Documentation ¶
Overview ¶
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.
Index ¶
- Variables
- type GrantApiKey
- func (r *GrantApiKey) AccessToken(accesstoken string) *GrantApiKey
- func (r *GrantApiKey) ApiKey(apikey *types.GrantApiKey) *GrantApiKey
- func (r GrantApiKey) Do(providedCtx context.Context) (*Response, error)
- func (r *GrantApiKey) ErrorTrace(errortrace bool) *GrantApiKey
- func (r *GrantApiKey) FilterPath(filterpaths ...string) *GrantApiKey
- func (r *GrantApiKey) GrantType(granttype apikeygranttype.ApiKeyGrantType) *GrantApiKey
- func (r *GrantApiKey) Header(key, value string) *GrantApiKey
- func (r *GrantApiKey) HttpRequest(ctx context.Context) (*http.Request, error)
- func (r *GrantApiKey) Human(human bool) *GrantApiKey
- func (r *GrantApiKey) Password(password string) *GrantApiKey
- func (r GrantApiKey) Perform(providedCtx context.Context) (*http.Response, error)
- func (r *GrantApiKey) Pretty(pretty bool) *GrantApiKey
- func (r *GrantApiKey) Raw(raw io.Reader) *GrantApiKey
- func (r *GrantApiKey) Request(req *Request) *GrantApiKey
- func (r *GrantApiKey) RunAs(username string) *GrantApiKey
- func (r *GrantApiKey) Username(username string) *GrantApiKey
- type NewGrantApiKey
- type Request
- type Response
Constants ¶
This section is empty.
Variables ¶
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")
ErrBuildPath is returned in case of missing parameters within the build of the request.
Functions ¶
This section is empty.
Types ¶
type GrantApiKey ¶
type GrantApiKey struct {
// contains filtered or unexported fields
}
func New ¶
func New(tp elastictransport.Interface) *GrantApiKey
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.
https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-grant-api-key.html
func (*GrantApiKey) AccessToken ¶ added in v8.9.0
func (r *GrantApiKey) AccessToken(accesstoken string) *GrantApiKey
AccessToken The user’s access token. If you specify the `access_token` grant type, this parameter is required. It is not valid with other grant types. API name: access_token
func (*GrantApiKey) ApiKey ¶ added in v8.9.0
func (r *GrantApiKey) ApiKey(apikey *types.GrantApiKey) *GrantApiKey
ApiKey Defines the API key. API name: api_key
func (GrantApiKey) Do ¶
func (r GrantApiKey) Do(providedCtx context.Context) (*Response, error)
Do runs the request through the transport, handle the response and returns a grantapikey.Response
func (*GrantApiKey) ErrorTrace ¶ added in v8.14.0
func (r *GrantApiKey) ErrorTrace(errortrace bool) *GrantApiKey
ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace
func (*GrantApiKey) FilterPath ¶ added in v8.14.0
func (r *GrantApiKey) FilterPath(filterpaths ...string) *GrantApiKey
FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path
func (*GrantApiKey) GrantType ¶ added in v8.9.0
func (r *GrantApiKey) GrantType(granttype apikeygranttype.ApiKeyGrantType) *GrantApiKey
GrantType The type of grant. Supported grant types are: `access_token`, `password`. API name: grant_type
func (*GrantApiKey) Header ¶
func (r *GrantApiKey) Header(key, value string) *GrantApiKey
Header set a key, value pair in the GrantApiKey headers map.
func (*GrantApiKey) HttpRequest ¶
HttpRequest returns the http.Request object built from the given parameters.
func (*GrantApiKey) Human ¶ added in v8.14.0
func (r *GrantApiKey) Human(human bool) *GrantApiKey
Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"eixsts_time_in_millis": 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines. API name: human
func (*GrantApiKey) Password ¶ added in v8.9.0
func (r *GrantApiKey) Password(password string) *GrantApiKey
Password The user’s password. If you specify the `password` grant type, this parameter is required. It is not valid with other grant types. API name: password
func (GrantApiKey) Perform ¶ added in v8.7.0
Perform runs the http.Request through the provided transport and returns an http.Response.
func (*GrantApiKey) Pretty ¶ added in v8.14.0
func (r *GrantApiKey) Pretty(pretty bool) *GrantApiKey
Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty
func (*GrantApiKey) Raw ¶
func (r *GrantApiKey) Raw(raw io.Reader) *GrantApiKey
Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.
func (*GrantApiKey) Request ¶
func (r *GrantApiKey) Request(req *Request) *GrantApiKey
Request allows to set the request property with the appropriate payload.
func (*GrantApiKey) RunAs ¶ added in v8.9.0
func (r *GrantApiKey) RunAs(username string) *GrantApiKey
RunAs The name of the user to be impersonated. API name: run_as
func (*GrantApiKey) Username ¶ added in v8.9.0
func (r *GrantApiKey) Username(username string) *GrantApiKey
Username The user name that identifies the user. If you specify the `password` grant type, this parameter is required. It is not valid with other grant types. API name: username
type NewGrantApiKey ¶
type NewGrantApiKey func() *GrantApiKey
NewGrantApiKey type alias for index.
func NewGrantApiKeyFunc ¶
func NewGrantApiKeyFunc(tp elastictransport.Interface) NewGrantApiKey
NewGrantApiKeyFunc returns a new instance of GrantApiKey with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.
type Request ¶
type Request struct { // AccessToken The user’s access token. // If you specify the `access_token` grant type, this parameter is required. // It is not valid with other grant types. AccessToken *string `json:"access_token,omitempty"` // ApiKey Defines the API key. ApiKey types.GrantApiKey `json:"api_key"` // GrantType The type of grant. Supported grant types are: `access_token`, `password`. GrantType apikeygranttype.ApiKeyGrantType `json:"grant_type"` // Password The user’s password. If you specify the `password` grant type, this parameter // is required. // It is not valid with other grant types. Password *string `json:"password,omitempty"` // RunAs The name of the user to be impersonated. RunAs *string `json:"run_as,omitempty"` // Username The user name that identifies the user. // If you specify the `password` grant type, this parameter is required. // It is not valid with other grant types. Username *string `json:"username,omitempty"` }
Request holds the request body struct for the package grantapikey
func (*Request) FromJSON ¶ added in v8.5.0
FromJSON allows to load an arbitrary json into the request structure