diff --git a/api/api/ml.js b/api/api/ml.js index 6a220a8d6..832a2b1a8 100644 --- a/api/api/ml.js +++ b/api/api/ml.js @@ -23,8 +23,8 @@ /* eslint no-unused-vars: 0 */ const { handleError, snakeCaseKeys, normalizeArguments, kConfigurationError } = require('../utils') -const acceptedQuerystring = ['allow_no_match', 'allow_no_jobs', 'force', 'timeout', 'pretty', 'human', 'error_trace', 'source', 'filter_path', 'requests_per_second', 'allow_no_forecasts', 'wait_for_completion', 'lines_to_sample', 'line_merge_size_limit', 'charset', 'format', 'has_header_row', 'column_names', 'delimiter', 'quote', 'should_trim_fields', 'grok_pattern', 'timestamp_field', 'timestamp_format', 'explain', 'calc_interim', 'start', 'end', 'advance_time', 'skip_time', 'duration', 'expires_in', 'max_model_memory', 'expand', 'exclude_interim', 'from', 'size', 'anomaly_score', 'sort', 'desc', 'job_id', 'partition_field_value', 'verbose', 'allow_no_datafeeds', 'influencer_score', 'top_n', 'bucket_span', 'overall_score', 'record_score', 'include', 'include_model_definition', 'decompress_definition', 'tags', 'for_export', 'reset_start', 'reset_end', 'ignore_unavailable', 'allow_no_indices', 'ignore_throttled', 'expand_wildcards', 'delete_intervening_results', 'enabled'] -const snakeCase = { allowNoMatch: 'allow_no_match', allowNoJobs: 'allow_no_jobs', errorTrace: 'error_trace', filterPath: 'filter_path', requestsPerSecond: 'requests_per_second', allowNoForecasts: 'allow_no_forecasts', waitForCompletion: 'wait_for_completion', linesToSample: 'lines_to_sample', lineMergeSizeLimit: 'line_merge_size_limit', hasHeaderRow: 'has_header_row', columnNames: 'column_names', shouldTrimFields: 'should_trim_fields', grokPattern: 'grok_pattern', timestampField: 'timestamp_field', timestampFormat: 'timestamp_format', calcInterim: 'calc_interim', advanceTime: 'advance_time', skipTime: 'skip_time', expiresIn: 'expires_in', maxModelMemory: 'max_model_memory', excludeInterim: 'exclude_interim', anomalyScore: 'anomaly_score', jobId: 'job_id', partitionFieldValue: 'partition_field_value', allowNoDatafeeds: 'allow_no_datafeeds', influencerScore: 'influencer_score', topN: 'top_n', bucketSpan: 'bucket_span', overallScore: 'overall_score', recordScore: 'record_score', includeModelDefinition: 'include_model_definition', decompressDefinition: 'decompress_definition', forExport: 'for_export', resetStart: 'reset_start', resetEnd: 'reset_end', ignoreUnavailable: 'ignore_unavailable', allowNoIndices: 'allow_no_indices', ignoreThrottled: 'ignore_throttled', expandWildcards: 'expand_wildcards', deleteInterveningResults: 'delete_intervening_results' } +const acceptedQuerystring = ['allow_no_match', 'allow_no_jobs', 'force', 'timeout', 'pretty', 'human', 'error_trace', 'source', 'filter_path', 'requests_per_second', 'allow_no_forecasts', 'wait_for_completion', 'lines_to_sample', 'line_merge_size_limit', 'charset', 'format', 'has_header_row', 'column_names', 'delimiter', 'quote', 'should_trim_fields', 'grok_pattern', 'timestamp_field', 'timestamp_format', 'explain', 'calc_interim', 'start', 'end', 'advance_time', 'skip_time', 'duration', 'expires_in', 'max_model_memory', 'expand', 'exclude_interim', 'from', 'size', 'anomaly_score', 'sort', 'desc', 'job_id', 'partition_field_value', 'for_export', 'verbose', 'allow_no_datafeeds', 'influencer_score', 'top_n', 'bucket_span', 'overall_score', 'record_score', 'include', 'include_model_definition', 'decompress_definition', 'tags', 'reset_start', 'reset_end', 'ignore_unavailable', 'allow_no_indices', 'ignore_throttled', 'expand_wildcards', 'delete_intervening_results', 'enabled'] +const snakeCase = { allowNoMatch: 'allow_no_match', allowNoJobs: 'allow_no_jobs', errorTrace: 'error_trace', filterPath: 'filter_path', requestsPerSecond: 'requests_per_second', allowNoForecasts: 'allow_no_forecasts', waitForCompletion: 'wait_for_completion', linesToSample: 'lines_to_sample', lineMergeSizeLimit: 'line_merge_size_limit', hasHeaderRow: 'has_header_row', columnNames: 'column_names', shouldTrimFields: 'should_trim_fields', grokPattern: 'grok_pattern', timestampField: 'timestamp_field', timestampFormat: 'timestamp_format', calcInterim: 'calc_interim', advanceTime: 'advance_time', skipTime: 'skip_time', expiresIn: 'expires_in', maxModelMemory: 'max_model_memory', excludeInterim: 'exclude_interim', anomalyScore: 'anomaly_score', jobId: 'job_id', partitionFieldValue: 'partition_field_value', forExport: 'for_export', allowNoDatafeeds: 'allow_no_datafeeds', influencerScore: 'influencer_score', topN: 'top_n', bucketSpan: 'bucket_span', overallScore: 'overall_score', recordScore: 'record_score', includeModelDefinition: 'include_model_definition', decompressDefinition: 'decompress_definition', resetStart: 'reset_start', resetEnd: 'reset_end', ignoreUnavailable: 'ignore_unavailable', allowNoIndices: 'allow_no_indices', ignoreThrottled: 'ignore_throttled', expandWildcards: 'expand_wildcards', deleteInterveningResults: 'delete_intervening_results' } function MlApi (transport, ConfigurationError) { this.transport = transport @@ -382,7 +382,7 @@ MlApi.prototype.deleteTrainedModel = function mlDeleteTrainedModelApi (params, o var path = '' if (method == null) method = 'DELETE' - path = '/' + '_ml' + '/' + 'inference' + '/' + encodeURIComponent(model_id || modelId) + path = '/' + '_ml' + '/' + 'trained_models' + '/' + encodeURIComponent(model_id || modelId) // build request object const request = { @@ -995,10 +995,10 @@ MlApi.prototype.getTrainedModels = function mlGetTrainedModelsApi (params, optio var path = '' if ((model_id || modelId) != null) { if (method == null) method = 'GET' - path = '/' + '_ml' + '/' + 'inference' + '/' + encodeURIComponent(model_id || modelId) + path = '/' + '_ml' + '/' + 'trained_models' + '/' + encodeURIComponent(model_id || modelId) } else { if (method == null) method = 'GET' - path = '/' + '_ml' + '/' + 'inference' + path = '/' + '_ml' + '/' + 'trained_models' } // build request object @@ -1021,10 +1021,10 @@ MlApi.prototype.getTrainedModelsStats = function mlGetTrainedModelsStatsApi (par var path = '' if ((model_id || modelId) != null) { if (method == null) method = 'GET' - path = '/' + '_ml' + '/' + 'inference' + '/' + encodeURIComponent(model_id || modelId) + '/' + '_stats' + path = '/' + '_ml' + '/' + 'trained_models' + '/' + encodeURIComponent(model_id || modelId) + '/' + '_stats' } else { if (method == null) method = 'GET' - path = '/' + '_ml' + '/' + 'inference' + '/' + '_stats' + path = '/' + '_ml' + '/' + 'trained_models' + '/' + '_stats' } // build request object @@ -1381,7 +1381,7 @@ MlApi.prototype.putTrainedModel = function mlPutTrainedModelApi (params, options var path = '' if (method == null) method = 'PUT' - path = '/' + '_ml' + '/' + 'inference' + '/' + encodeURIComponent(model_id || modelId) + path = '/' + '_ml' + '/' + 'trained_models' + '/' + encodeURIComponent(model_id || modelId) // build request object const request = { diff --git a/api/api/security.js b/api/api/security.js index f63a42c5c..66f61ac17 100644 --- a/api/api/security.js +++ b/api/api/security.js @@ -84,6 +84,33 @@ SecurityApi.prototype.changePassword = function securityChangePasswordApi (param return this.transport.request(request, options, callback) } +SecurityApi.prototype.clearApiKeyCache = function securityClearApiKeyCacheApi (params, options, callback) { + ;[params, options, callback] = normalizeArguments(params, options, callback) + + // check required parameters + if (params['ids'] == null) { + const err = new this[kConfigurationError]('Missing required parameter: ids') + return handleError(err, callback) + } + + var { method, body, ids, ...querystring } = params + querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring) + + var path = '' + if (method == null) method = 'POST' + path = '/' + '_security' + '/' + 'api_key' + '/' + encodeURIComponent(ids) + '/' + '_clear_cache' + + // build request object + const request = { + method, + path, + body: body || '', + querystring + } + + return this.transport.request(request, options, callback) +} + SecurityApi.prototype.clearCachedPrivileges = function securityClearCachedPrivilegesApi (params, options, callback) { ;[params, options, callback] = normalizeArguments(params, options, callback) @@ -775,6 +802,7 @@ SecurityApi.prototype.putUser = function securityPutUserApi (params, options, ca Object.defineProperties(SecurityApi.prototype, { change_password: { get () { return this.changePassword } }, + clear_api_key_cache: { get () { return this.clearApiKeyCache } }, clear_cached_privileges: { get () { return this.clearCachedPrivileges } }, clear_cached_realms: { get () { return this.clearCachedRealms } }, clear_cached_roles: { get () { return this.clearCachedRoles } }, diff --git a/api/kibana.d.ts b/api/kibana.d.ts index d3df5e4bd..cd670ddc5 100644 --- a/api/kibana.d.ts +++ b/api/kibana.d.ts @@ -376,6 +376,7 @@ interface KibanaClient { security: { authenticate, TContext = Context>(params?: RequestParams.SecurityAuthenticate, options?: TransportRequestOptions): TransportRequestPromise> changePassword, TRequestBody extends RequestBody = Record, TContext = Context>(params?: RequestParams.SecurityChangePassword, options?: TransportRequestOptions): TransportRequestPromise> + clearApiKeyCache, TContext = Context>(params?: RequestParams.SecurityClearApiKeyCache, options?: TransportRequestOptions): TransportRequestPromise> clearCachedPrivileges, TContext = Context>(params?: RequestParams.SecurityClearCachedPrivileges, options?: TransportRequestOptions): TransportRequestPromise> clearCachedRealms, TContext = Context>(params?: RequestParams.SecurityClearCachedRealms, options?: TransportRequestOptions): TransportRequestPromise> clearCachedRoles, TContext = Context>(params?: RequestParams.SecurityClearCachedRoles, options?: TransportRequestOptions): TransportRequestPromise> diff --git a/api/requestParams.d.ts b/api/requestParams.d.ts index 84a08a573..fd022088a 100644 --- a/api/requestParams.d.ts +++ b/api/requestParams.d.ts @@ -1581,6 +1581,7 @@ export interface MlGetDataFrameAnalytics extends Generic { allow_no_match?: boolean; from?: number; size?: number; + for_export?: boolean; } export interface MlGetDataFrameAnalyticsStats extends Generic { @@ -1601,6 +1602,7 @@ export interface MlGetDatafeeds extends Generic { datafeed_id?: string; allow_no_match?: boolean; allow_no_datafeeds?: boolean; + for_export?: boolean; } export interface MlGetFilters extends Generic { @@ -1632,6 +1634,7 @@ export interface MlGetJobs extends Generic { job_id?: string; allow_no_match?: boolean; allow_no_jobs?: boolean; + for_export?: boolean; } export interface MlGetModelSnapshots extends Generic { @@ -2130,6 +2133,10 @@ export interface SecurityChangePassword extends Generic { body: T; } +export interface SecurityClearApiKeyCache extends Generic { + ids: string | string[]; +} + export interface SecurityClearCachedPrivileges extends Generic { application: string | string[]; } diff --git a/docs/reference.asciidoc b/docs/reference.asciidoc index 02bb1148b..259dc4687 100644 --- a/docs/reference.asciidoc +++ b/docs/reference.asciidoc @@ -6079,7 +6079,7 @@ client.ml.deleteTrainedModel({ model_id: string }) ---- -link:{ref}/delete-inference.html[Documentation] + +link:{ref}/delete-trained-models.html[Documentation] + [cols=2*] |=== |`model_id` or `modelId` @@ -6461,7 +6461,8 @@ client.ml.getDataFrameAnalytics({ id: string, allow_no_match: boolean, from: number, - size: number + size: number, + for_export: boolean }) ---- link:{ref}/get-dfanalytics.html[Documentation] + @@ -6481,6 +6482,9 @@ _Default:_ `true` |`number` - specifies a max number of analytics to get + _Default:_ `100` +|`for_export` or `forExport` +|`boolean` - Omits fields that are illegal to set on data frame analytics PUT + |=== [discrete] @@ -6553,7 +6557,8 @@ WARNING: This parameter has been deprecated. client.ml.getDatafeeds({ datafeed_id: string, allow_no_match: boolean, - allow_no_datafeeds: boolean + allow_no_datafeeds: boolean, + for_export: boolean }) ---- link:{ref}/ml-get-datafeed.html[Documentation] + @@ -6570,6 +6575,9 @@ link:{ref}/ml-get-datafeed.html[Documentation] + WARNING: This parameter has been deprecated. +|`for_export` or `forExport` +|`boolean` - Omits fields that are illegal to set on datafeed PUT + |=== [discrete] @@ -6685,7 +6693,8 @@ WARNING: This parameter has been deprecated. client.ml.getJobs({ job_id: string, allow_no_match: boolean, - allow_no_jobs: boolean + allow_no_jobs: boolean, + for_export: boolean }) ---- link:{ref}/ml-get-job.html[Documentation] + @@ -6702,6 +6711,9 @@ link:{ref}/ml-get-job.html[Documentation] + WARNING: This parameter has been deprecated. +|`for_export` or `forExport` +|`boolean` - Omits fields that are illegal to set on job PUT + |=== [discrete] @@ -6878,7 +6890,7 @@ client.ml.getTrainedModels({ for_export: boolean }) ---- -link:{ref}/get-inference.html[Documentation] + +link:{ref}/get-trained-models.html[Documentation] + [cols=2*] |=== |`model_id` or `modelId` @@ -6927,7 +6939,7 @@ client.ml.getTrainedModelsStats({ size: number }) ---- -link:{ref}/get-inference-stats.html[Documentation] + +link:{ref}/get-trained-models-stats.html[Documentation] + [cols=2*] |=== |`model_id` or `modelId` @@ -7192,7 +7204,7 @@ client.ml.putTrainedModel({ body: object }) ---- -link:{ref}/put-inference.html[Documentation] + +link:{ref}/put-trained-models.html[Documentation] + [cols=2*] |=== |`model_id` or `modelId` @@ -8781,6 +8793,23 @@ link:{ref}/security-api-change-password.html[Documentation] + |=== +[discrete] +=== security.clearApiKeyCache + +[source,ts] +---- +client.security.clearApiKeyCache({ + ids: string | string[] +}) +---- +link:{ref}/security-api-clear-api-key-cache.html[Documentation] + +[cols=2*] +|=== +|`ids` +|`string \| string[]` - A comma-separated list of IDs of API keys to clear from the cache + +|=== + [discrete] === security.clearCachedPrivileges diff --git a/index.d.ts b/index.d.ts index 564dbf9f2..ab1b4e68d 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1980,6 +1980,14 @@ declare class Client { changePassword, TRequestBody extends RequestBody = Record, TContext = Context>(callback: callbackFn): TransportRequestCallback changePassword, TRequestBody extends RequestBody = Record, TContext = Context>(params: RequestParams.SecurityChangePassword, callback: callbackFn): TransportRequestCallback changePassword, TRequestBody extends RequestBody = Record, TContext = Context>(params: RequestParams.SecurityChangePassword, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback + clear_api_key_cache, TContext = Context>(params?: RequestParams.SecurityClearApiKeyCache, options?: TransportRequestOptions): TransportRequestPromise> + clear_api_key_cache, TContext = Context>(callback: callbackFn): TransportRequestCallback + clear_api_key_cache, TContext = Context>(params: RequestParams.SecurityClearApiKeyCache, callback: callbackFn): TransportRequestCallback + clear_api_key_cache, TContext = Context>(params: RequestParams.SecurityClearApiKeyCache, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback + clearApiKeyCache, TContext = Context>(params?: RequestParams.SecurityClearApiKeyCache, options?: TransportRequestOptions): TransportRequestPromise> + clearApiKeyCache, TContext = Context>(callback: callbackFn): TransportRequestCallback + clearApiKeyCache, TContext = Context>(params: RequestParams.SecurityClearApiKeyCache, callback: callbackFn): TransportRequestCallback + clearApiKeyCache, TContext = Context>(params: RequestParams.SecurityClearApiKeyCache, options: TransportRequestOptions, callback: callbackFn): TransportRequestCallback clear_cached_privileges, TContext = Context>(params?: RequestParams.SecurityClearCachedPrivileges, options?: TransportRequestOptions): TransportRequestPromise> clear_cached_privileges, TContext = Context>(callback: callbackFn): TransportRequestCallback clear_cached_privileges, TContext = Context>(params: RequestParams.SecurityClearCachedPrivileges, callback: callbackFn): TransportRequestCallback