queryapikeys

package
v9.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 31, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Find API keys with a query.

Get a paginated list of API keys and their information. You can optionally filter the results with a query.

To use this API, you must have at least the `manage_own_api_key` or the `read_security` cluster privileges. If you have only the `manage_own_api_key` privilege, this API returns only the API keys that you own. If you have the `read_security`, `manage_api_key`, or greater privileges (including `manage_security`), this API returns all API keys regardless of ownership. Refer to the linked documentation for examples of how to find API keys:

Index

Constants

This section is empty.

Variables

View Source
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 NewQueryApiKeys

type NewQueryApiKeys func() *QueryApiKeys

NewQueryApiKeys type alias for index.

func NewQueryApiKeysFunc

func NewQueryApiKeysFunc(tp elastictransport.Interface) NewQueryApiKeys

NewQueryApiKeysFunc returns a new instance of QueryApiKeys with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type QueryApiKeys

type QueryApiKeys struct {
	// contains filtered or unexported fields
}

func New

Find API keys with a query.

Get a paginated list of API keys and their information. You can optionally filter the results with a query.

To use this API, you must have at least the `manage_own_api_key` or the `read_security` cluster privileges. If you have only the `manage_own_api_key` privilege, this API returns only the API keys that you own. If you have the `read_security`, `manage_api_key`, or greater privileges (including `manage_security`), this API returns all API keys regardless of ownership. Refer to the linked documentation for examples of how to find API keys:

https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-query-api-keys

func (*QueryApiKeys) AddAggregation

func (*QueryApiKeys) Aggregations

func (r *QueryApiKeys) Aggregations(aggregations map[string]types.ApiKeyAggregationContainer) *QueryApiKeys

Any aggregations to run over the corpus of returned API keys. Aggregations and queries work together. Aggregations are computed only on the API keys that match the query. This supports only a subset of aggregation types, namely: `terms`, `range`, `date_range`, `missing`, `cardinality`, `value_count`, `composite`, `filter`, and `filters`. Additionally, aggregations only run over the same subset of fields that query works with. API name: aggregations

func (QueryApiKeys) Do

func (r QueryApiKeys) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a queryapikeys.Response

func (*QueryApiKeys) ErrorTrace

func (r *QueryApiKeys) ErrorTrace(errortrace bool) *QueryApiKeys

ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace

func (*QueryApiKeys) FilterPath

func (r *QueryApiKeys) FilterPath(filterpaths ...string) *QueryApiKeys

FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path

func (*QueryApiKeys) From

func (r *QueryApiKeys) From(from int) *QueryApiKeys

The starting document offset. It must not be negative. By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. To page through more hits, use the `search_after` parameter. API name: from

func (*QueryApiKeys) Header

func (r *QueryApiKeys) Header(key, value string) *QueryApiKeys

Header set a key, value pair in the QueryApiKeys headers map.

func (*QueryApiKeys) HttpRequest

func (r *QueryApiKeys) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*QueryApiKeys) Human

func (r *QueryApiKeys) Human(human bool) *QueryApiKeys

Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"exists_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 (QueryApiKeys) Perform

func (r QueryApiKeys) Perform(providedCtx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*QueryApiKeys) Pretty

func (r *QueryApiKeys) Pretty(pretty bool) *QueryApiKeys

Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty

func (*QueryApiKeys) Query

A query to filter which API keys to return. If the query parameter is missing, it is equivalent to a `match_all` query. The query supports a subset of query types, including `match_all`, `bool`, `term`, `terms`, `match`, `ids`, `prefix`, `wildcard`, `exists`, `range`, and `simple_query_string`. You can query the following public information associated with an API key: `id`, `type`, `name`, `creation`, `expiration`, `invalidated`, `invalidation`, `username`, `realm`, and `metadata`.

NOTE: The queryable string values associated with API keys are internally mapped as keywords. Consequently, if no `analyzer` parameter is specified for a `match` query, then the provided match query string is interpreted as a single keyword value. Such a match query is hence equivalent to a `term` query. API name: query

func (*QueryApiKeys) Raw

func (r *QueryApiKeys) Raw(raw io.Reader) *QueryApiKeys

Raw takes a json payload as input which is then passed to the http.Request If specified Raw takes precedence on Request method.

func (*QueryApiKeys) Request

func (r *QueryApiKeys) Request(req *Request) *QueryApiKeys

Request allows to set the request property with the appropriate payload.

func (*QueryApiKeys) SearchAfter

func (r *QueryApiKeys) SearchAfter(sortresults ...types.FieldValueVariant) *QueryApiKeys

The search after definition. API name: search_after

func (*QueryApiKeys) Size

func (r *QueryApiKeys) Size(size int) *QueryApiKeys

The number of hits to return. It must not be negative. The `size` parameter can be set to `0`, in which case no API key matches are returned, only the aggregation results. By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. To page through more hits, use the `search_after` parameter. API name: size

func (*QueryApiKeys) Sort

The sort definition. Other than `id`, all public fields of an API key are eligible for sorting. In addition, sort can also be applied to the `_doc` field to sort by index order. API name: sort

func (*QueryApiKeys) TypedKeys

func (r *QueryApiKeys) TypedKeys(typedkeys bool) *QueryApiKeys

TypedKeys Determines whether aggregation names are prefixed by their respective types in the response. API name: typed_keys

func (*QueryApiKeys) WithLimitedBy

func (r *QueryApiKeys) WithLimitedBy(withlimitedby bool) *QueryApiKeys

WithLimitedBy Return the snapshot of the owner user's role descriptors associated with the API key. An API key's actual permission is the intersection of its assigned role descriptors and the owner user's role descriptors (effectively limited by it). An API key cannot retrieve any API key’s limited-by role descriptors (including itself) unless it has `manage_api_key` or higher privileges. API name: with_limited_by

func (*QueryApiKeys) WithProfileUid

func (r *QueryApiKeys) WithProfileUid(withprofileuid bool) *QueryApiKeys

WithProfileUid Determines whether to also retrieve the profile UID for the API key owner principal. If it exists, the profile UID is returned under the `profile_uid` response field for each API key. API name: with_profile_uid

type Request

type Request struct {

	// Aggregations Any aggregations to run over the corpus of returned API keys.
	// Aggregations and queries work together. Aggregations are computed only on the
	// API keys that match the query.
	// This supports only a subset of aggregation types, namely: `terms`, `range`,
	// `date_range`, `missing`,
	// `cardinality`, `value_count`, `composite`, `filter`, and `filters`.
	// Additionally, aggregations only run over the same subset of fields that query
	// works with.
	Aggregations map[string]types.ApiKeyAggregationContainer `json:"aggregations,omitempty"`
	// From The starting document offset.
	// It must not be negative.
	// By default, you cannot page through more than 10,000 hits using the `from`
	// and `size` parameters.
	// To page through more hits, use the `search_after` parameter.
	From *int `json:"from,omitempty"`
	// Query A query to filter which API keys to return.
	// If the query parameter is missing, it is equivalent to a `match_all` query.
	// The query supports a subset of query types, including `match_all`, `bool`,
	// `term`, `terms`, `match`,
	// `ids`, `prefix`, `wildcard`, `exists`, `range`, and `simple_query_string`.
	// You can query the following public information associated with an API key:
	// `id`, `type`, `name`,
	// `creation`, `expiration`, `invalidated`, `invalidation`, `username`, `realm`,
	// and `metadata`.
	//
	// NOTE: The queryable string values associated with API keys are internally
	// mapped as keywords.
	// Consequently, if no `analyzer` parameter is specified for a `match` query,
	// then the provided match query string is interpreted as a single keyword
	// value.
	// Such a match query is hence equivalent to a `term` query.
	Query *types.ApiKeyQueryContainer `json:"query,omitempty"`
	// SearchAfter The search after definition.
	SearchAfter []types.FieldValue `json:"search_after,omitempty"`
	// Size The number of hits to return.
	// It must not be negative.
	// The `size` parameter can be set to `0`, in which case no API key matches are
	// returned, only the aggregation results.
	// By default, you cannot page through more than 10,000 hits using the `from`
	// and `size` parameters.
	// To page through more hits, use the `search_after` parameter.
	Size *int `json:"size,omitempty"`
	// Sort The sort definition.
	// Other than `id`, all public fields of an API key are eligible for sorting.
	// In addition, sort can also be applied to the `_doc` field to sort by index
	// order.
	Sort []types.SortCombinations `json:"sort,omitempty"`
}

Request holds the request body struct for the package queryapikeys

https://github.com/elastic/elasticsearch-specification/blob/907d11a72a6bfd37b777d526880c56202889609e/specification/security/query_api_keys/QueryApiKeysRequest.ts#L26-L126

func NewRequest

func NewRequest() *Request

NewRequest returns a Request

func (*Request) FromJSON

func (r *Request) FromJSON(data string) (*Request, error)

FromJSON allows to load an arbitrary json into the request structure

func (*Request) UnmarshalJSON

func (s *Request) UnmarshalJSON(data []byte) error

type Response

type Response struct {

	// Aggregations The aggregations result, if requested.
	Aggregations map[string]types.ApiKeyAggregate `json:"aggregations,omitempty"`
	// ApiKeys A list of API key information.
	ApiKeys []types.ApiKey `json:"api_keys"`
	// Count The number of API keys returned in the response.
	Count int `json:"count"`
	// Total The total number of API keys found.
	Total int `json:"total"`
}

Response holds the response body struct for the package queryapikeys

https://github.com/elastic/elasticsearch-specification/blob/907d11a72a6bfd37b777d526880c56202889609e/specification/security/query_api_keys/QueryApiKeysResponse.ts#L26-L45

func NewResponse

func NewResponse() *Response

NewResponse returns a Response

func (*Response) UnmarshalJSON

func (s *Response) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL