diff --git a/output/openapi/elasticsearch-serverless-openapi.json b/output/openapi/elasticsearch-serverless-openapi.json index 7247ccb79f..3ac00c2e97 100644 --- a/output/openapi/elasticsearch-serverless-openapi.json +++ b/output/openapi/elasticsearch-serverless-openapi.json @@ -15833,6 +15833,16 @@ "type": "boolean" }, "style": "form" + }, + { + "in": "query", + "name": "with_profile_uid", + "description": "Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists.", + "deprecated": false, + "schema": { + "type": "boolean" + }, + "style": "form" } ], "responses": { @@ -16099,6 +16109,12 @@ "parameters": [ { "$ref": "#/components/parameters/security.query_api_keys#with_limited_by" + }, + { + "$ref": "#/components/parameters/security.query_api_keys#with_profile_uid" + }, + { + "$ref": "#/components/parameters/security.query_api_keys#typed_keys" } ], "requestBody": { @@ -16123,6 +16139,12 @@ "parameters": [ { "$ref": "#/components/parameters/security.query_api_keys#with_limited_by" + }, + { + "$ref": "#/components/parameters/security.query_api_keys#with_profile_uid" + }, + { + "$ref": "#/components/parameters/security.query_api_keys#typed_keys" } ], "requestBody": { @@ -25384,6 +25406,26 @@ }, "style": "form" }, + "security.query_api_keys#with_profile_uid": { + "in": "query", + "name": "with_profile_uid", + "description": "Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists.", + "deprecated": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, + "security.query_api_keys#typed_keys": { + "in": "query", + "name": "typed_keys", + "description": "Determines whether aggregation names are prefixed by their respective types in the response.", + "deprecated": false, + "schema": { + "type": "boolean" + }, + "style": "form" + }, "sql.query#format": { "in": "query", "name": "format", @@ -57001,9 +57043,17 @@ "description": "Realm name of the principal for which this API key was created.", "type": "string" }, + "realm_type": { + "description": "Realm type of the principal for which this API key was created", + "type": "string" + }, "username": { "$ref": "#/components/schemas/_types:Username" }, + "profile_uid": { + "description": "The profile uid for the API key owner principal, if requested and if it exists", + "type": "string" + }, "metadata": { "$ref": "#/components/schemas/_types:Metadata" }, diff --git a/output/schema/schema.json b/output/schema/schema.json index af363f86ae..9e130142da 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -171929,6 +171929,25 @@ } } }, + { + "availability": { + "serverless": {}, + "stack": { + "since": "8.14.0" + } + }, + "description": "Realm type of the principal for which this API key was created", + "name": "realm_type", + "required": false, + "since": "8.14.0", + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, { "description": "Principal for which this API key was created", "name": "username", @@ -171941,6 +171960,25 @@ } } }, + { + "availability": { + "serverless": {}, + "stack": { + "since": "8.14.0" + } + }, + "description": "The profile uid for the API key owner principal, if requested and if it exists", + "name": "profile_uid", + "required": false, + "since": "8.14.0", + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, { "availability": { "serverless": {}, @@ -172028,7 +172066,7 @@ } } ], - "specLocation": "security/_types/ApiKey.ts#L27-L77" + "specLocation": "security/_types/ApiKey.ts#L27-L89" }, { "kind": "interface", @@ -175952,9 +175990,29 @@ "namespace": "_builtins" } } + }, + { + "availability": { + "serverless": {}, + "stack": { + "since": "8.14.0" + } + }, + "description": "Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists.", + "name": "with_profile_uid", + "required": false, + "serverDefault": false, + "since": "8.14.0", + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } } ], - "specLocation": "security/get_api_key/SecurityGetApiKeyRequest.ts#L23-L79" + "specLocation": "security/get_api_key/SecurityGetApiKeyRequest.ts#L23-L86" }, { "body": { @@ -179979,9 +180037,49 @@ "namespace": "_builtins" } } + }, + { + "availability": { + "serverless": {}, + "stack": { + "since": "8.14.0" + } + }, + "description": "Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists.", + "name": "with_profile_uid", + "required": false, + "serverDefault": false, + "since": "8.14.0", + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + }, + { + "availability": { + "serverless": {}, + "stack": { + "since": "8.14.0" + } + }, + "description": "Determines whether aggregation names are prefixed by their respective types in the response.", + "name": "typed_keys", + "required": false, + "serverDefault": false, + "since": "8.14.0", + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } } ], - "specLocation": "security/query_api_keys/QueryApiKeysRequest.ts#L26-L86" + "specLocation": "security/query_api_keys/QueryApiKeysRequest.ts#L26-L99" }, { "body": { diff --git a/output/schema/validation-errors.json b/output/schema/validation-errors.json index 952ad87ffd..554d6c2811 100644 --- a/output/schema/validation-errors.json +++ b/output/schema/validation-errors.json @@ -1245,7 +1245,8 @@ }, "security.get_api_key": { "request": [ - "Request: query parameter 'active_only' does not exist in the json spec" + "Request: query parameter 'active_only' does not exist in the json spec", + "Request: query parameter 'with_profile_uid' does not exist in the json spec" ], "response": [] }, @@ -1300,7 +1301,10 @@ "response": [] }, "security.query_api_keys": { - "request": [], + "request": [ + "Request: query parameter 'with_profile_uid' does not exist in the json spec", + "Request: query parameter 'typed_keys' does not exist in the json spec" + ], "response": [ "type_alias definition security.query_api_keys:ApiKeyAggregate / instance_of - Non-leaf type cannot be used here: '_types.aggregations:RangeAggregate'" ] diff --git a/output/typescript/types.ts b/output/typescript/types.ts index 65f4a4c74b..4ff1786b66 100644 --- a/output/typescript/types.ts +++ b/output/typescript/types.ts @@ -16138,7 +16138,9 @@ export interface SecurityApiKey { invalidated?: boolean name: Name realm?: string + realm_type?: string username?: Username + profile_uid?: string metadata?: Metadata role_descriptors?: Record limited_by?: Record[] @@ -16554,6 +16556,7 @@ export interface SecurityGetApiKeyRequest extends RequestBase { username?: Username with_limited_by?: boolean active_only?: boolean + with_profile_uid?: boolean } export interface SecurityGetApiKeyResponse { @@ -16935,6 +16938,8 @@ export interface SecurityQueryApiKeysApiKeyQueryContainer { export interface SecurityQueryApiKeysRequest extends RequestBase { with_limited_by?: boolean + with_profile_uid?: boolean + typed_keys?: boolean body?: { aggregations?: Record aggs?: Record diff --git a/specification/security/_types/ApiKey.ts b/specification/security/_types/ApiKey.ts index 288adceeb5..07eb5aaa69 100644 --- a/specification/security/_types/ApiKey.ts +++ b/specification/security/_types/ApiKey.ts @@ -50,10 +50,22 @@ export class ApiKey { * Realm name of the principal for which this API key was created. */ realm?: string + /** + * Realm type of the principal for which this API key was created + * @availability stack since=8.14.0 + * @availability serverless + */ + realm_type?: string /** * Principal for which this API key was created */ username?: Username + /** + * The profile uid for the API key owner principal, if requested and if it exists + * @availability stack since=8.14.0 + * @availability serverless + */ + profile_uid?: string /** * Metadata of the API key * @availability stack since=7.13.0 diff --git a/specification/security/get_api_key/SecurityGetApiKeyRequest.ts b/specification/security/get_api_key/SecurityGetApiKeyRequest.ts index 84ef1f8ce3..309f591cf2 100644 --- a/specification/security/get_api_key/SecurityGetApiKeyRequest.ts +++ b/specification/security/get_api_key/SecurityGetApiKeyRequest.ts @@ -75,5 +75,12 @@ export interface Request extends RequestBase { * @availability serverless */ active_only?: boolean + /** + * Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists. + * @server_default false + * @availability stack since=8.14.0 + * @availability serverless + */ + with_profile_uid?: boolean } } diff --git a/specification/security/query_api_keys/QueryApiKeysRequest.ts b/specification/security/query_api_keys/QueryApiKeysRequest.ts index 854450ca8c..80f3c66866 100644 --- a/specification/security/query_api_keys/QueryApiKeysRequest.ts +++ b/specification/security/query_api_keys/QueryApiKeysRequest.ts @@ -37,9 +37,22 @@ export interface Request extends RequestBase { * An API key's actual permission is the intersection of its assigned role descriptors and the owner user's role descriptors. * @availability stack since=8.5.0 * @availability serverless - */ with_limited_by?: boolean + /** + * Determines whether to also retrieve the profile uid, for the API key owner principal, if it exists. + * @server_default false + * @availability stack since=8.14.0 + * @availability serverless + */ + with_profile_uid?: boolean + /** + * Determines whether aggregation names are prefixed by their respective types in the response. + * @server_default false + * @availability stack since=8.14.0 + * @availability serverless + */ + typed_keys?: boolean } body: { /**