diff --git a/docs/reference.asciidoc b/docs/reference.asciidoc index 0241dd64d..1338d378e 100644 --- a/docs/reference.asciidoc +++ b/docs/reference.asciidoc @@ -1729,7 +1729,7 @@ client.search({ ... }) ** *`docvalue_fields` (Optional, { field, format, include_unmapped }[])*: An array of wildcard (`*`) field patterns. The request returns doc values for field names matching these patterns in the `hits.fields` property of the response. ** *`knn` (Optional, { field, query_vector, query_vector_builder, k, num_candidates, boost, filter, similarity, inner_hits, rescore_vector } | { field, query_vector, query_vector_builder, k, num_candidates, boost, filter, similarity, inner_hits, rescore_vector }[])*: The approximate kNN search to run. ** *`rank` (Optional, { rrf })*: The Reciprocal Rank Fusion (RRF) to use. -** *`min_score` (Optional, number)*: The minimum `_score` for matching documents. Documents with a lower `_score` are not included in the search results. +** *`min_score` (Optional, number)*: The minimum `_score` for matching documents. Documents with a lower `_score` are not included in search results and results collected by aggregations. ** *`post_filter` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })*: Use the `post_filter` parameter to filter search results. The search hits are filtered after the aggregations are calculated. A post filter has no impact on the aggregation results. ** *`profile` (Optional, boolean)*: Set to `true` to return detailed timing information about the execution of individual components in a search request. NOTE: This is a debugging tool and adds significant overhead to search execution. ** *`query` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })*: The search definition using the Query DSL. @@ -2425,7 +2425,7 @@ Defaults to 10,000 hits. names matching these patterns in the hits.fields property of the response. ** *`knn` (Optional, { field, query_vector, query_vector_builder, k, num_candidates, boost, filter, similarity, inner_hits, rescore_vector } | { field, query_vector, query_vector_builder, k, num_candidates, boost, filter, similarity, inner_hits, rescore_vector }[])*: Defines the approximate kNN search to run. ** *`min_score` (Optional, number)*: Minimum _score for matching documents. Documents with a lower _score are -not included in the search results. +not included in search results and results collected by aggregations. ** *`post_filter` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })* ** *`profile` (Optional, boolean)* ** *`query` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })*: Defines the search definition using the Query DSL. @@ -5371,7 +5371,7 @@ Defaults to 10,000 hits. ** *`docvalue_fields` (Optional, { field, format, include_unmapped }[])*: Array of wildcard (*) patterns. The request returns doc values for field names matching these patterns in the hits.fields property of the response. ** *`min_score` (Optional, number)*: Minimum _score for matching documents. Documents with a lower _score are -not included in the search results. +not included in search results and results collected by aggregations. ** *`post_filter` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })* ** *`profile` (Optional, boolean)* ** *`query` (Optional, { bool, boosting, common, combined_fields, constant_score, dis_max, distance_feature, exists, function_score, fuzzy, geo_bounding_box, geo_distance, geo_grid, geo_polygon, geo_shape, has_child, has_parent, ids, intervals, knn, match, match_all, match_bool_prefix, match_none, match_phrase, match_phrase_prefix, more_like_this, multi_match, nested, parent_id, percolate, pinned, prefix, query_string, range, rank_feature, regexp, rule, script, script_score, semantic, shape, simple_query_string, span_containing, span_field_masking, span_first, span_multi, span_near, span_not, span_or, span_term, span_within, sparse_vector, term, terms, terms_set, text_expansion, weighted_tokens, wildcard, wrapper, type })*: Defines the search definition using the Query DSL. @@ -8042,25 +8042,6 @@ client.inference.get({ ... }) ** *`task_type` (Optional, Enum("sparse_embedding" | "text_embedding" | "rerank" | "completion" | "chat_completion"))*: The task type ** *`inference_id` (Optional, string)*: The inference Id -[discrete] -==== post_eis_chat_completion -Perform a chat completion task through the Elastic Inference Service (EIS). - -Perform a chat completion inference task with the `elastic` service. - -{ref}/post-inference-api.html[Endpoint documentation] -[source,ts] ----- -client.inference.postEisChatCompletion({ eis_inference_id }) ----- - -[discrete] -==== Arguments - -* *Request (object):* -** *`eis_inference_id` (string)*: The unique identifier of the inference endpoint. -** *`chat_completion_request` (Optional, { messages, model, max_completion_tokens, stop, temperature, tool_choice, tools, top_p })* - [discrete] ==== put Create an inference endpoint. @@ -8281,27 +8262,6 @@ These settings are specific to the `cohere` service. ** *`task_settings` (Optional, { input_type, return_documents, top_n, truncate })*: Settings to configure the inference task. These settings are specific to the task type you specified. -[discrete] -==== put_eis -Create an Elastic Inference Service (EIS) inference endpoint. - -Create an inference endpoint to perform an inference task through the Elastic Inference Service (EIS). - -[source,ts] ----- -client.inference.putEis({ task_type, eis_inference_id, service, service_settings }) ----- - -[discrete] -==== Arguments - -* *Request (object):* -** *`task_type` (Enum("chat_completion"))*: The type of the inference task that the model will perform. -NOTE: The `chat_completion` task type only supports streaming and only through the _stream API. -** *`eis_inference_id` (string)*: The unique identifier of the inference endpoint. -** *`service` (Enum("elastic"))*: The type of service supported for the specified task type. In this case, `elastic`. -** *`service_settings` ({ model_id, rate_limit })*: Settings used to install the inference model. These settings are specific to the `elastic` service. - [discrete] ==== put_elasticsearch Create an Elasticsearch inference endpoint. @@ -16420,7 +16380,10 @@ To indicate that the request should never timeout, set it to `-1`. Update Watcher index settings. Update settings for the Watcher internal index (`.watches`). Only a subset of settings can be modified. -This includes `index.auto_expand_replicas` and `index.number_of_replicas`. +This includes `index.auto_expand_replicas`, `index.number_of_replicas`, `index.routing.allocation.exclude.*`, +`index.routing.allocation.include.*` and `index.routing.allocation.require.*`. +Modification of `index.routing.allocation.include._tier_preference` is an exception and is not allowed as the +Watcher shards must always be in the `data_content` tier. https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-watcher-update-settings[Endpoint documentation] [source,ts] diff --git a/src/api/api/inference.ts b/src/api/api/inference.ts index a1218c7bf..6a33b04c6 100644 --- a/src/api/api/inference.ts +++ b/src/api/api/inference.ts @@ -209,43 +209,6 @@ export default class Inference { return await this.transport.request({ path, method, querystring, body, meta }, options) } - /** - * Perform a chat completion task through the Elastic Inference Service (EIS). Perform a chat completion inference task with the `elastic` service. - * @see {@link https://www.elastic.co/guide/en/elasticsearch/reference/8.x/post-inference-api.html | Elasticsearch API documentation} - */ - async postEisChatCompletion (this: That, params: T.InferencePostEisChatCompletionRequest | TB.InferencePostEisChatCompletionRequest, options?: TransportRequestOptionsWithOutMeta): Promise - async postEisChatCompletion (this: That, params: T.InferencePostEisChatCompletionRequest | TB.InferencePostEisChatCompletionRequest, options?: TransportRequestOptionsWithMeta): Promise> - async postEisChatCompletion (this: That, params: T.InferencePostEisChatCompletionRequest | TB.InferencePostEisChatCompletionRequest, options?: TransportRequestOptions): Promise - async postEisChatCompletion (this: That, params: T.InferencePostEisChatCompletionRequest | TB.InferencePostEisChatCompletionRequest, options?: TransportRequestOptions): Promise { - const acceptedPath: string[] = ['eis_inference_id'] - const acceptedBody: string[] = ['chat_completion_request'] - const querystring: Record = {} - // @ts-expect-error - let body: any = params.body ?? undefined - - for (const key in params) { - if (acceptedBody.includes(key)) { - // @ts-expect-error - body = params[key] - } else if (acceptedPath.includes(key)) { - continue - } else if (key !== 'body') { - // @ts-expect-error - querystring[key] = params[key] - } - } - - const method = 'POST' - const path = `/_inference/chat_completion/${encodeURIComponent(params.eis_inference_id.toString())}/_stream` - const meta: TransportRequestMetadata = { - name: 'inference.post_eis_chat_completion', - pathParts: { - eis_inference_id: params.eis_inference_id - } - } - return await this.transport.request({ path, method, querystring, body, meta }, options) - } - /** * Create an inference endpoint. When you create an inference endpoint, the associated machine learning model is automatically deployed if it is not already running. After creating the endpoint, wait for the model deployment to complete before using it. To verify the deployment status, use the get trained model statistics API. Look for `"state": "fully_allocated"` in the response and ensure that the `"allocation_count"` matches the `"target_allocation_count"`. Avoid creating multiple endpoints for the same model unless required, as each endpoint consumes significant resources. IMPORTANT: The inference APIs enable you to use certain services, such as built-in machine learning models (ELSER, E5), models uploaded through Eland, Cohere, OpenAI, Mistral, Azure OpenAI, Google AI Studio, Google Vertex AI, Anthropic, Watsonx.ai, or Hugging Face. For built-in models and models uploaded through Eland, the inference APIs offer an alternative way to use and manage trained models. However, if you do not plan to use the inference APIs to use these models or if you want to use non-NLP models, use the machine learning trained model APIs. * @see {@link https://www.elastic.co/guide/en/elasticsearch/reference/8.x/put-inference-api.html | Elasticsearch API documentation} @@ -561,51 +524,6 @@ export default class Inference { return await this.transport.request({ path, method, querystring, body, meta }, options) } - /** - * Create an Elastic Inference Service (EIS) inference endpoint. Create an inference endpoint to perform an inference task through the Elastic Inference Service (EIS). - * @see {@link https://www.elastic.co/guide/en/elasticsearch/reference/8.x/infer-service-elastic.html | Elasticsearch API documentation} - */ - async putEis (this: That, params: T.InferencePutEisRequest | TB.InferencePutEisRequest, options?: TransportRequestOptionsWithOutMeta): Promise - async putEis (this: That, params: T.InferencePutEisRequest | TB.InferencePutEisRequest, options?: TransportRequestOptionsWithMeta): Promise> - async putEis (this: That, params: T.InferencePutEisRequest | TB.InferencePutEisRequest, options?: TransportRequestOptions): Promise - async putEis (this: That, params: T.InferencePutEisRequest | TB.InferencePutEisRequest, options?: TransportRequestOptions): Promise { - const acceptedPath: string[] = ['task_type', 'eis_inference_id'] - const acceptedBody: string[] = ['service', 'service_settings'] - const querystring: Record = {} - // @ts-expect-error - const userBody: any = params?.body - let body: Record | string - if (typeof userBody === 'string') { - body = userBody - } else { - body = userBody != null ? { ...userBody } : undefined - } - - for (const key in params) { - if (acceptedBody.includes(key)) { - body = body ?? {} - // @ts-expect-error - body[key] = params[key] - } else if (acceptedPath.includes(key)) { - continue - } else if (key !== 'body') { - // @ts-expect-error - querystring[key] = params[key] - } - } - - const method = 'PUT' - const path = `/_inference/${encodeURIComponent(params.task_type.toString())}/${encodeURIComponent(params.eis_inference_id.toString())}` - const meta: TransportRequestMetadata = { - name: 'inference.put_eis', - pathParts: { - task_type: params.task_type, - eis_inference_id: params.eis_inference_id - } - } - return await this.transport.request({ path, method, querystring, body, meta }, options) - } - /** * Create an Elasticsearch inference endpoint. Create an inference endpoint to perform an inference task with the `elasticsearch` service. > info > Your Elasticsearch deployment contains preconfigured ELSER and E5 inference endpoints, you only need to create the enpoints using the API if you want to customize the settings. If you use the ELSER or the E5 model through the `elasticsearch` service, the API request will automatically download and deploy the model if it isn't downloaded yet. > info > You might see a 502 bad gateway error in the response when using the Kibana Console. This error usually just reflects a timeout, while the model downloads in the background. You can check the download progress in the Machine Learning UI. If using the Python client, you can set the timeout parameter to a higher value. After creating the endpoint, wait for the model deployment to complete before using it. To verify the deployment status, use the get trained model statistics API. Look for `"state": "fully_allocated"` in the response and ensure that the `"allocation_count"` matches the `"target_allocation_count"`. Avoid creating multiple endpoints for the same model unless required, as each endpoint consumes significant resources. * @see {@link https://www.elastic.co/guide/en/elasticsearch/reference/8.x/infer-service-elasticsearch.html | Elasticsearch API documentation} diff --git a/src/api/api/watcher.ts b/src/api/api/watcher.ts index 9951716bf..f5284e655 100644 --- a/src/api/api/watcher.ts +++ b/src/api/api/watcher.ts @@ -481,7 +481,7 @@ export default class Watcher { } /** - * Update Watcher index settings. Update settings for the Watcher internal index (`.watches`). Only a subset of settings can be modified. This includes `index.auto_expand_replicas` and `index.number_of_replicas`. + * Update Watcher index settings. Update settings for the Watcher internal index (`.watches`). Only a subset of settings can be modified. This includes `index.auto_expand_replicas`, `index.number_of_replicas`, `index.routing.allocation.exclude.*`, `index.routing.allocation.include.*` and `index.routing.allocation.require.*`. Modification of `index.routing.allocation.include._tier_preference` is an exception and is not allowed as the Watcher shards must always be in the `data_content` tier. * @see {@link https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-watcher-update-settings | Elasticsearch API documentation} */ async updateSettings (this: That, params?: T.WatcherUpdateSettingsRequest | TB.WatcherUpdateSettingsRequest, options?: TransportRequestOptionsWithOutMeta): Promise diff --git a/src/api/types.ts b/src/api/types.ts index 96dee41d2..4048723ca 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -5391,7 +5391,7 @@ export interface MappingDenseVectorIndexOptions { type: MappingDenseVectorIndexOptionsType } -export type MappingDenseVectorIndexOptionsType = 'flat' | 'hnsw' | 'int4_flat' | 'int4_hnsw' | 'int8_flat' | 'int8_hnsw' +export type MappingDenseVectorIndexOptionsType = 'bbq_flat' | 'bbq_hnsw' | 'flat' | 'hnsw' | 'int4_flat' | 'int4_hnsw' | 'int8_flat' | 'int8_hnsw' export interface MappingDenseVectorProperty extends MappingPropertyBase { type: 'dense_vector' @@ -9182,7 +9182,8 @@ export interface ClusterGetSettingsResponse { export interface ClusterHealthHealthResponseBody { active_primary_shards: integer active_shards: integer - active_shards_percent_as_number: Percentage + active_shards_percent?: string + active_shards_percent_as_number: double cluster_name: Name delayed_unassigned_shards: integer indices?: Record @@ -9222,7 +9223,7 @@ export interface ClusterHealthRequest extends RequestBase { timeout?: Duration wait_for_active_shards?: WaitForActiveShards wait_for_events?: WaitForEvents - wait_for_nodes?: string | integer + wait_for_nodes?: ClusterHealthWaitForNodes wait_for_no_initializing_shards?: boolean wait_for_no_relocating_shards?: boolean wait_for_status?: HealthStatus @@ -9240,6 +9241,8 @@ export interface ClusterHealthShardHealthStats { unassigned_primary_shards: integer } +export type ClusterHealthWaitForNodes = string | integer + export interface ClusterInfoRequest extends RequestBase { target: ClusterInfoTargets } @@ -13016,15 +13019,6 @@ export type InferenceDenseByteVector = byte[] export type InferenceDenseVector = float[] -export interface InferenceEisServiceSettings { - model_id: string - rate_limit?: InferenceRateLimitSetting -} - -export type InferenceEisServiceType = 'elastic' - -export type InferenceEisTaskType = 'chat_completion' - export interface InferenceElasticsearchServiceSettings { adaptive_allocations?: InferenceAdaptiveAllocations deployment_id?: string @@ -13297,13 +13291,6 @@ export interface InferenceGetResponse { endpoints: InferenceInferenceEndpointInfo[] } -export interface InferencePostEisChatCompletionRequest extends RequestBase { - eis_inference_id: Id - chat_completion_request?: InferenceRequestChatCompletion -} - -export type InferencePostEisChatCompletionResponse = StreamResult - export interface InferencePutRequest extends RequestBase { task_type?: InferenceTaskType inference_id: Id @@ -13378,15 +13365,6 @@ export interface InferencePutCohereRequest extends RequestBase { export type InferencePutCohereResponse = InferenceInferenceEndpointInfo -export interface InferencePutEisRequest extends RequestBase { - task_type: InferenceEisTaskType - eis_inference_id: Id - service: InferenceEisServiceType - service_settings: InferenceEisServiceSettings -} - -export type InferencePutEisResponse = InferenceInferenceEndpointInfo - export interface InferencePutElasticsearchRequest extends RequestBase { task_type: InferenceElasticsearchTaskType elasticsearch_inference_id: Id @@ -13768,6 +13746,8 @@ export interface IngestInferenceProcessor extends IngestProcessorBase { target_field?: Field field_map?: Record inference_config?: IngestInferenceConfig + input_output?: IngestInputConfig | IngestInputConfig[] + ignore_missing?: boolean } export interface IngestIngest { @@ -13776,6 +13756,11 @@ export interface IngestIngest { pipeline?: Name } +export interface IngestInputConfig { + input_field: string + output_field: string +} + export interface IngestIpLocationProcessor extends IngestProcessorBase { database_file?: string field: Field diff --git a/src/api/typesWithBodyKey.ts b/src/api/typesWithBodyKey.ts index c43357186..c46b810be 100644 --- a/src/api/typesWithBodyKey.ts +++ b/src/api/typesWithBodyKey.ts @@ -5468,7 +5468,7 @@ export interface MappingDenseVectorIndexOptions { type: MappingDenseVectorIndexOptionsType } -export type MappingDenseVectorIndexOptionsType = 'flat' | 'hnsw' | 'int4_flat' | 'int4_hnsw' | 'int8_flat' | 'int8_hnsw' +export type MappingDenseVectorIndexOptionsType = 'bbq_flat' | 'bbq_hnsw' | 'flat' | 'hnsw' | 'int4_flat' | 'int4_hnsw' | 'int8_flat' | 'int8_hnsw' export interface MappingDenseVectorProperty extends MappingPropertyBase { type: 'dense_vector' @@ -9278,7 +9278,8 @@ export interface ClusterGetSettingsResponse { export interface ClusterHealthHealthResponseBody { active_primary_shards: integer active_shards: integer - active_shards_percent_as_number: Percentage + active_shards_percent?: string + active_shards_percent_as_number: double cluster_name: Name delayed_unassigned_shards: integer indices?: Record @@ -9318,7 +9319,7 @@ export interface ClusterHealthRequest extends RequestBase { timeout?: Duration wait_for_active_shards?: WaitForActiveShards wait_for_events?: WaitForEvents - wait_for_nodes?: string | integer + wait_for_nodes?: ClusterHealthWaitForNodes wait_for_no_initializing_shards?: boolean wait_for_no_relocating_shards?: boolean wait_for_status?: HealthStatus @@ -9336,6 +9337,8 @@ export interface ClusterHealthShardHealthStats { unassigned_primary_shards: integer } +export type ClusterHealthWaitForNodes = string | integer + export interface ClusterInfoRequest extends RequestBase { target: ClusterInfoTargets } @@ -13258,15 +13261,6 @@ export type InferenceDenseByteVector = byte[] export type InferenceDenseVector = float[] -export interface InferenceEisServiceSettings { - model_id: string - rate_limit?: InferenceRateLimitSetting -} - -export type InferenceEisServiceType = 'elastic' - -export type InferenceEisTaskType = 'chat_completion' - export interface InferenceElasticsearchServiceSettings { adaptive_allocations?: InferenceAdaptiveAllocations deployment_id?: string @@ -13543,14 +13537,6 @@ export interface InferenceGetResponse { endpoints: InferenceInferenceEndpointInfo[] } -export interface InferencePostEisChatCompletionRequest extends RequestBase { - eis_inference_id: Id - /** @deprecated The use of the 'body' key has been deprecated, use 'chat_completion_request' instead. */ - body?: InferenceRequestChatCompletion -} - -export type InferencePostEisChatCompletionResponse = StreamResult - export interface InferencePutRequest extends RequestBase { task_type?: InferenceTaskType inference_id: Id @@ -13644,18 +13630,6 @@ export interface InferencePutCohereRequest extends RequestBase { export type InferencePutCohereResponse = InferenceInferenceEndpointInfo -export interface InferencePutEisRequest extends RequestBase { - task_type: InferenceEisTaskType - eis_inference_id: Id - /** @deprecated The use of the 'body' key has been deprecated, move the nested keys to the top level object. */ - body?: { - service: InferenceEisServiceType - service_settings: InferenceEisServiceSettings - } -} - -export type InferencePutEisResponse = InferenceInferenceEndpointInfo - export interface InferencePutElasticsearchRequest extends RequestBase { task_type: InferenceElasticsearchTaskType elasticsearch_inference_id: Id @@ -14080,6 +14054,8 @@ export interface IngestInferenceProcessor extends IngestProcessorBase { target_field?: Field field_map?: Record inference_config?: IngestInferenceConfig + input_output?: IngestInputConfig | IngestInputConfig[] + ignore_missing?: boolean } export interface IngestIngest { @@ -14088,6 +14064,11 @@ export interface IngestIngest { pipeline?: Name } +export interface IngestInputConfig { + input_field: string + output_field: string +} + export interface IngestIpLocationProcessor extends IngestProcessorBase { database_file?: string field: Field