From f01fb1469b08a6ac0e004569b10723d3e60c70b6 Mon Sep 17 00:00:00 2001 From: pquentin <42327+pquentin@users.noreply.github.com> Date: Fri, 18 Oct 2024 04:07:14 +0000 Subject: [PATCH] Update rest-api-spec --- output/schema/schema-serverless.json | 635 ++++++++++++++++-- output/schema/schema.json | 112 +++ output/schema/validation-errors.json | 24 + .../indices.delete_data_lifecycle.json | 2 +- .../indices.explain_data_lifecycle.json | 2 +- .../indices.get_data_lifecycle.json | 2 +- .../indices.put_data_lifecycle.json | 2 +- .../ingest.delete_ip_location_database.json | 28 + .../ingest.get_ip_location_database.json | 32 + .../ingest.put_ip_location_database.json | 33 + .../_json_spec/query_rules.test.json | 32 + 11 files changed, 833 insertions(+), 71 deletions(-) create mode 100644 specification/_json_spec/ingest.delete_ip_location_database.json create mode 100644 specification/_json_spec/ingest.get_ip_location_database.json create mode 100644 specification/_json_spec/ingest.put_ip_location_database.json create mode 100644 specification/_json_spec/query_rules.test.json diff --git a/output/schema/schema-serverless.json b/output/schema/schema-serverless.json index 25f626ad40..2042295b27 100644 --- a/output/schema/schema-serverless.json +++ b/output/schema/schema-serverless.json @@ -18,7 +18,7 @@ "stability": "stable" } }, - "description": "Deletes an async search by identifier.\nIf the search is still running, the search request will be cancelled.\nOtherwise, the saved search results are deleted.\nIf the Elasticsearch security features are enabled, the deletion of a specific async search is restricted to: the authenticated user that submitted the original search request; users that have the `cancel_task` cluster privilege.", + "description": "Delete an async search.\nIf the asynchronous search is still running, it is cancelled.\nOtherwise, the saved search results are deleted.\nIf the Elasticsearch security features are enabled, the deletion of a specific async search is restricted to: the authenticated user that submitted the original search request; users that have the `cancel_task` cluster privilege.", "docId": "async-search", "docTag": "search", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/async-search.html", @@ -55,7 +55,7 @@ "stability": "stable" } }, - "description": "Retrieves the results of a previously submitted async search request given its identifier.\nIf the Elasticsearch security features are enabled, access to the results of a specific async search is restricted to the user or API key that submitted it.", + "description": "Get async search results.\nRetrieve the results of a previously submitted asynchronous search request.\nIf the Elasticsearch security features are enabled, access to the results of a specific async search is restricted to the user or API key that submitted it.", "docId": "async-search", "docTag": "search", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/async-search.html", @@ -92,7 +92,7 @@ "stability": "stable" } }, - "description": "Get async search status\nRetrieves the status of a previously submitted async search request given its identifier, without retrieving search results.\nIf the Elasticsearch security features are enabled, use of this API is restricted to the `monitoring_user` role.", + "description": "Get async search status.\nRetrieve the status of a previously submitted async search request given its identifier, without retrieving search results.\nIf the Elasticsearch security features are enabled, use of this API is restricted to the `monitoring_user` role.", "docId": "async-search", "docTag": "search", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/async-search.html", @@ -129,7 +129,7 @@ "stability": "stable" } }, - "description": "Runs a search request asynchronously.\nWhen the primary sort of the results is an indexed field, shards get sorted based on minimum and maximum value that they hold for that field, hence partial results become available following the sort criteria that was requested.\nWarning: Async search does not support scroll nor search requests that only include the suggest section.\nBy default, Elasticsearch doesn’t allow you to store an async search response larger than 10Mb and an attempt to do this results in an error.\nThe maximum allowed size for a stored async search response can be set by changing the `search.max_async_search_response_size` cluster level setting.", + "description": "Run an async search.\nWhen the primary sort of the results is an indexed field, shards get sorted based on minimum and maximum value that they hold for that field. Partial results become available following the sort criteria that was requested.\n\nWarning: Asynchronous search does not support scroll or search requests that include only the suggest section.\n\nBy default, Elasticsearch does not allow you to store an async search response larger than 10Mb and an attempt to do this results in an error.\nThe maximum allowed size for a stored async search response can be set by changing the `search.max_async_search_response_size` cluster level setting.", "docId": "async-search", "docTag": "search", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/async-search.html", @@ -2854,7 +2854,7 @@ "stability": "stable" } }, - "description": "Performs analysis on a text string and returns the resulting tokens.", + "description": "Get tokens from text analysis.\nThe analyze API performs [analysis](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html) on a text string and returns the resulting tokens.", "docId": "indices-analyze", "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/indices-analyze.html", "name": "indices.analyze", @@ -9877,7 +9877,7 @@ "body": { "kind": "no_body" }, - "description": "Deletes an async search by identifier.\nIf the search is still running, the search request will be cancelled.\nOtherwise, the saved search results are deleted.\nIf the Elasticsearch security features are enabled, the deletion of a specific async search is restricted to: the authenticated user that submitted the original search request; users that have the `cancel_task` cluster privilege.", + "description": "Delete an async search.\nIf the asynchronous search is still running, it is cancelled.\nOtherwise, the saved search results are deleted.\nIf the Elasticsearch security features are enabled, the deletion of a specific async search is restricted to: the authenticated user that submitted the original search request; users that have the `cancel_task` cluster privilege.", "inherits": { "type": { "name": "RequestBase", @@ -9931,7 +9931,7 @@ "body": { "kind": "no_body" }, - "description": "Retrieves the results of a previously submitted async search request given its identifier.\nIf the Elasticsearch security features are enabled, access to the results of a specific async search is restricted to the user or API key that submitted it.", + "description": "Get async search results.\nRetrieve the results of a previously submitted asynchronous search request.\nIf the Elasticsearch security features are enabled, access to the results of a specific async search is restricted to the user or API key that submitted it.", "inherits": { "type": { "name": "RequestBase", @@ -9995,7 +9995,7 @@ } } ], - "specLocation": "async_search/get/AsyncSearchGetRequest.ts#L24-L55" + "specLocation": "async_search/get/AsyncSearchGetRequest.ts#L24-L56" }, { "body": { @@ -10037,7 +10037,7 @@ "body": { "kind": "no_body" }, - "description": "Get async search status\nRetrieves the status of a previously submitted async search request given its identifier, without retrieving search results.\nIf the Elasticsearch security features are enabled, use of this API is restricted to the `monitoring_user` role.", + "description": "Get async search status.\nRetrieve the status of a previously submitted async search request given its identifier, without retrieving search results.\nIf the Elasticsearch security features are enabled, use of this API is restricted to the `monitoring_user` role.", "inherits": { "type": { "name": "RequestBase", @@ -10566,7 +10566,7 @@ } ] }, - "description": "Runs a search request asynchronously.\nWhen the primary sort of the results is an indexed field, shards get sorted based on minimum and maximum value that they hold for that field, hence partial results become available following the sort criteria that was requested.\nWarning: Async search does not support scroll nor search requests that only include the suggest section.\nBy default, Elasticsearch doesn’t allow you to store an async search response larger than 10Mb and an attempt to do this results in an error.\nThe maximum allowed size for a stored async search response can be set by changing the `search.max_async_search_response_size` cluster level setting.", + "description": "Run an async search.\nWhen the primary sort of the results is an indexed field, shards get sorted based on minimum and maximum value that they hold for that field. Partial results become available following the sort criteria that was requested.\n\nWarning: Asynchronous search does not support scroll or search requests that include only the suggest section.\n\nBy default, Elasticsearch does not allow you to store an async search response larger than 10Mb and an attempt to do this results in an error.\nThe maximum allowed size for a stored async search response can be set by changing the `search.max_async_search_response_size` cluster level setting.", "inherits": { "type": { "name": "RequestBase", @@ -11168,7 +11168,7 @@ } } ], - "specLocation": "async_search/submit/AsyncSearchSubmitRequest.ts#L55-L287" + "specLocation": "async_search/submit/AsyncSearchSubmitRequest.ts#L55-L289" }, { "body": { @@ -19942,7 +19942,7 @@ } ] }, - "description": "Performs analysis on a text string and returns the resulting tokens.", + "description": "Get tokens from text analysis.\nThe analyze API performs [analysis](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis.html) on a text string and returns the resulting tokens.", "inherits": { "type": { "name": "RequestBase", @@ -19971,7 +19971,7 @@ } ], "query": [], - "specLocation": "indices/analyze/IndicesAnalyzeRequest.ts#L27-L92" + "specLocation": "indices/analyze/IndicesAnalyzeRequest.ts#L27-L93" }, { "body": { @@ -94189,17 +94189,20 @@ { "name": "long" }, + { + "name": "double" + }, { "name": "float" }, { - "name": "double" + "name": "boolean" }, { - "name": "string" + "name": "ip" }, { - "name": "boolean" + "name": "string" }, { "name": "auto" @@ -94209,7 +94212,37 @@ "name": "ConvertType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L531-L539" + "specLocation": "ingest/_types/Processors.ts#L621-L630" + }, + { + "kind": "enum", + "members": [ + { + "codegenName": "md5", + "name": "MD5" + }, + { + "codegenName": "sha1", + "name": "SHA-1" + }, + { + "codegenName": "sha256", + "name": "SHA-256" + }, + { + "codegenName": "sha512", + "name": "SHA-512" + }, + { + "codegenName": "murmurHash3", + "name": "MurmurHash3" + } + ], + "name": { + "name": "FingerprintDigest", + "namespace": "ingest._types" + }, + "specLocation": "ingest/_types/Processors.ts#L856-L862" }, { "kind": "enum", @@ -94225,7 +94258,7 @@ "name": "GeoGridTargetFormat", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L406-L409" + "specLocation": "ingest/_types/Processors.ts#L433-L436" }, { "kind": "enum", @@ -94244,7 +94277,7 @@ "name": "GeoGridTileType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L400-L404" + "specLocation": "ingest/_types/Processors.ts#L427-L431" }, { "kind": "enum", @@ -94262,7 +94295,7 @@ "name": "JsonProcessorConflictStrategy", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L970-L975" + "specLocation": "ingest/_types/Processors.ts#L1111-L1116" }, { "kind": "enum", @@ -94278,7 +94311,7 @@ "name": "ShapeType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L1238-L1241" + "specLocation": "ingest/_types/Processors.ts#L1433-L1436" }, { "kind": "enum", @@ -94303,7 +94336,7 @@ "name": "UserAgentProperty", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L480-L486" + "specLocation": "ingest/_types/Processors.ts#L507-L513" }, { "kind": "enum", @@ -120887,6 +120920,20 @@ } } }, + { + "description": "Computes the Community ID for network flow data as defined in the\nCommunity ID Specification. You can use a community ID to correlate network\nevents related to a single flow.", + "docId": "community-id-processor", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/community-id-processor.html", + "name": "community_id", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "CommunityIDProcessor", + "namespace": "ingest._types" + } + } + }, { "description": "Converts a field in the currently ingested document to a different type, such as converting a string to an integer.\nIf the field value is an array, all members will be converted.", "docId": "convert-processor", @@ -121013,6 +121060,20 @@ } } }, + { + "description": "Computes a hash of the document’s content. You can use this hash for\ncontent fingerprinting.", + "docId": "fingerprint-processor", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/fingerprint-processor.html", + "name": "fingerprint", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "FingerprintProcessor", + "namespace": "ingest._types" + } + } + }, { "description": "Runs an ingest processor on each element of an array or object.", "docId": "foreach-processor", @@ -121166,6 +121227,20 @@ } } }, + { + "description": "Calculates the network direction given a source IP address, destination IP\naddress, and a list of internal networks.", + "docId": "network-direction-processor", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/network-direction-processor.html", + "name": "network_direction", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "NetworkDirectionProcessor", + "namespace": "ingest._types" + } + } + }, { "description": "Executes another pipeline.", "docId": "pipeline-processor", @@ -121194,6 +121269,20 @@ } } }, + { + "description": "Extracts the registered domain (also known as the effective top-level\ndomain or eTLD), sub-domain, and top-level domain from a fully qualified\ndomain name (FQDN). Uses the registered domains defined in the Mozilla\nPublic Suffix List.", + "docId": "registered-domain-processor", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/{branch}/registered-domain-processor.html", + "name": "registered_domain", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "RegisteredDomainProcessor", + "namespace": "ingest._types" + } + } + }, { "description": "Removes existing fields.\nIf one field doesn’t exist, an exception will be thrown.", "docId": "remove-processor", @@ -121390,7 +121479,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L27-L270", + "specLocation": "ingest/_types/Processors.ts#L27-L297", "variants": { "kind": "container", "nonExhaustive": true @@ -121454,7 +121543,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L297-L312" + "specLocation": "ingest/_types/Processors.ts#L324-L339" }, { "kind": "interface", @@ -121527,7 +121616,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L272-L295" + "specLocation": "ingest/_types/Processors.ts#L299-L322" }, { "inherits": { @@ -121647,7 +121736,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L314-L355" + "specLocation": "ingest/_types/Processors.ts#L341-L382" }, { "inherits": { @@ -121701,7 +121790,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L488-L504" + "specLocation": "ingest/_types/Processors.ts#L515-L531" }, { "inherits": { @@ -121778,7 +121867,166 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L506-L529" + "specLocation": "ingest/_types/Processors.ts#L533-L556" + }, + { + "inherits": { + "type": { + "name": "ProcessorBase", + "namespace": "ingest._types" + } + }, + "kind": "interface", + "name": { + "name": "CommunityIDProcessor", + "namespace": "ingest._types" + }, + "properties": [ + { + "description": "Field containing the source IP address.", + "name": "source_ip", + "required": false, + "serverDefault": "source.ip", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the source port.", + "name": "source_port", + "required": false, + "serverDefault": "source.port", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the destination IP address.", + "name": "destination_ip", + "required": false, + "serverDefault": "destination.ip", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the destination port.", + "name": "destination_port", + "required": false, + "serverDefault": "destination.port", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the IANA number.", + "name": "iana_number", + "required": false, + "serverDefault": "network.iana_number", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the ICMP type.", + "name": "icmp_type", + "required": false, + "serverDefault": "icmp.type", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the ICMP code.", + "name": "icmp_code", + "required": false, + "serverDefault": "icmp.code", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the transport protocol name or number. Used only when the\niana_number field is not present. The following protocol names are currently\nsupported: eigrp, gre, icmp, icmpv6, igmp, ipv6-icmp, ospf, pim, sctp, tcp, udp", + "name": "transport", + "required": false, + "serverDefault": "network.transport", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Output field for the community ID.", + "name": "target_field", + "required": false, + "serverDefault": "network.community_id", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Seed for the community ID hash. Must be between 0 and 65535 (inclusive). The\nseed can prevent hash collisions between network domains, such as a staging\nand production network that use the same addressing scheme.", + "name": "seed", + "required": false, + "serverDefault": 0, + "type": { + "kind": "instance_of", + "type": { + "name": "integer", + "namespace": "_types" + } + } + }, + { + "description": "If true and any required fields are missing, the processor quietly exits\nwithout modifying the document.", + "name": "ignore_missing", + "required": false, + "serverDefault": true, + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "ingest/_types/Processors.ts#L558-L619" }, { "inherits": { @@ -121844,7 +122092,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L541-L561" + "specLocation": "ingest/_types/Processors.ts#L632-L652" }, { "inherits": { @@ -121942,7 +122190,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L563-L596" + "specLocation": "ingest/_types/Processors.ts#L654-L687" }, { "inherits": { @@ -122022,9 +122270,22 @@ "namespace": "_builtins" } } + }, + { + "description": "The format to use when writing the date to target_field. Must be a valid\njava time pattern.", + "name": "output_format", + "required": false, + "serverDefault": "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } } ], - "specLocation": "ingest/_types/Processors.ts#L638-L665" + "specLocation": "ingest/_types/Processors.ts#L729-L762" }, { "inherits": { @@ -122130,7 +122391,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L598-L636" + "specLocation": "ingest/_types/Processors.ts#L689-L727" }, { "inherits": { @@ -122196,7 +122457,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L667-L686" + "specLocation": "ingest/_types/Processors.ts#L764-L783" }, { "inherits": { @@ -122249,7 +122510,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L688-L706" + "specLocation": "ingest/_types/Processors.ts#L785-L803" }, { "inherits": { @@ -122264,7 +122525,7 @@ "namespace": "ingest._types" }, "properties": [], - "specLocation": "ingest/_types/Processors.ts#L708-L708" + "specLocation": "ingest/_types/Processors.ts#L805-L805" }, { "inherits": { @@ -122368,7 +122629,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L710-L749" + "specLocation": "ingest/_types/Processors.ts#L807-L846" }, { "inherits": { @@ -122396,7 +122657,86 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L751-L757" + "specLocation": "ingest/_types/Processors.ts#L848-L854" + }, + { + "inherits": { + "type": { + "name": "ProcessorBase", + "namespace": "ingest._types" + } + }, + "kind": "interface", + "name": { + "name": "FingerprintProcessor", + "namespace": "ingest._types" + }, + "properties": [ + { + "description": "Array of fields to include in the fingerprint. For objects, the processor\nhashes both the field key and value. For other fields, the processor hashes\nonly the field value.", + "name": "fields", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Fields", + "namespace": "_types" + } + } + }, + { + "description": "Output field for the fingerprint.", + "name": "target_field", + "required": false, + "serverDefault": "fingerprint", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Salt value for the hash function.", + "name": "salt", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, + { + "description": "The hash method used to compute the fingerprint. Must be one of MD5, SHA-1,\nSHA-256, SHA-512, or MurmurHash3.", + "name": "method", + "required": false, + "serverDefault": "SHA-1", + "type": { + "kind": "instance_of", + "type": { + "name": "FingerprintDigest", + "namespace": "ingest._types" + } + } + }, + { + "description": "If true, the processor ignores any missing fields. If all fields are\nmissing, the processor silently exits without modifying the document.", + "name": "ignore_missing", + "required": false, + "serverDefault": false, + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "ingest/_types/Processors.ts#L864-L892" }, { "inherits": { @@ -122449,7 +122789,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L759-L773" + "specLocation": "ingest/_types/Processors.ts#L894-L908" }, { "inherits": { @@ -122576,7 +122916,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L357-L398" + "specLocation": "ingest/_types/Processors.ts#L384-L425" }, { "inherits": { @@ -122683,7 +123023,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L411-L445" + "specLocation": "ingest/_types/Processors.ts#L438-L472" }, { "inherits": { @@ -122698,6 +123038,19 @@ "namespace": "ingest._types" }, "properties": [ + { + "description": "Must be disabled or v1. If v1, the processor uses patterns with Elastic\nCommon Schema (ECS) field names.", + "name": "ecs_compatibility", + "required": false, + "serverDefault": "disabled", + "type": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + }, { "description": "The field to use for grok expression parsing.", "name": "field", @@ -122775,7 +123128,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L775-L800" + "specLocation": "ingest/_types/Processors.ts#L910-L941" }, { "inherits": { @@ -122853,7 +123206,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L802-L826" + "specLocation": "ingest/_types/Processors.ts#L943-L967" }, { "inherits": { @@ -122907,7 +123260,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L828-L844" + "specLocation": "ingest/_types/Processors.ts#L969-L985" }, { "inherits": { @@ -122979,7 +123332,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L846-L865" + "specLocation": "ingest/_types/Processors.ts#L987-L1006" }, { "kind": "interface", @@ -123013,7 +123366,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L867-L879", + "specLocation": "ingest/_types/Processors.ts#L1008-L1020", "variants": { "kind": "container" } @@ -123052,7 +123405,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L881-L892" + "specLocation": "ingest/_types/Processors.ts#L1022-L1033" }, { "kind": "interface", @@ -123126,7 +123479,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L894-L920" + "specLocation": "ingest/_types/Processors.ts#L1035-L1061" }, { "inherits": { @@ -123179,7 +123532,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L922-L937" + "specLocation": "ingest/_types/Processors.ts#L1063-L1078" }, { "inherits": { @@ -123258,7 +123611,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L939-L968" + "specLocation": "ingest/_types/Processors.ts#L1080-L1109" }, { "inherits": { @@ -123415,7 +123768,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L977-L1029" + "specLocation": "ingest/_types/Processors.ts#L1118-L1170" }, { "inherits": { @@ -123469,7 +123822,102 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1031-L1047" + "specLocation": "ingest/_types/Processors.ts#L1172-L1188" + }, + { + "inherits": { + "type": { + "name": "ProcessorBase", + "namespace": "ingest._types" + } + }, + "kind": "interface", + "name": { + "name": "NetworkDirectionProcessor", + "namespace": "ingest._types" + }, + "properties": [ + { + "description": "Field containing the source IP address.", + "name": "source_ip", + "required": false, + "serverDefault": "source.ip", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Field containing the destination IP address.", + "name": "destination_ip", + "required": false, + "serverDefault": "destination.ip", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Output field for the network direction.", + "name": "target_field", + "required": false, + "serverDefault": "network.direction", + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "List of internal networks. Supports IPv4 and IPv6 addresses and ranges in\nCIDR notation. Also supports the named ranges listed below. These may be\nconstructed with template snippets. Must specify only one of\ninternal_networks or internal_networks_field.", + "name": "internal_networks", + "required": false, + "type": { + "kind": "array_of", + "value": { + "kind": "instance_of", + "type": { + "name": "string", + "namespace": "_builtins" + } + } + } + }, + { + "description": "A field on the given document to read the internal_networks configuration\nfrom.", + "name": "internal_networks_field", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "If true and any required fields are missing, the processor quietly exits\nwithout modifying the document.", + "name": "ignore_missing", + "required": false, + "serverDefault": true, + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "ingest/_types/Processors.ts#L1190-L1224" }, { "inherits": { @@ -123510,7 +123958,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1049-L1060" + "specLocation": "ingest/_types/Processors.ts#L1226-L1237" }, { "inherits": { @@ -123646,7 +124094,60 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1062-L1103" + "specLocation": "ingest/_types/Processors.ts#L1239-L1280" + }, + { + "inherits": { + "type": { + "name": "ProcessorBase", + "namespace": "ingest._types" + } + }, + "kind": "interface", + "name": { + "name": "RegisteredDomainProcessor", + "namespace": "ingest._types" + }, + "properties": [ + { + "description": "Field containing the source FQDN.", + "name": "field", + "required": true, + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "Object field containing extracted domain components. If an empty string,\nthe processor adds components to the document’s root.", + "name": "target_field", + "required": false, + "type": { + "kind": "instance_of", + "type": { + "name": "Field", + "namespace": "_types" + } + } + }, + { + "description": "If true and any required fields are missing, the processor quietly exits\nwithout modifying the document.", + "name": "ignore_missing", + "required": false, + "serverDefault": true, + "type": { + "kind": "instance_of", + "type": { + "name": "boolean", + "namespace": "_builtins" + } + } + } + ], + "specLocation": "ingest/_types/Processors.ts#L1282-L1298" }, { "inherits": { @@ -123699,7 +124200,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1105-L1119" + "specLocation": "ingest/_types/Processors.ts#L1300-L1314" }, { "inherits": { @@ -123752,7 +124253,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1121-L1137" + "specLocation": "ingest/_types/Processors.ts#L1316-L1332" }, { "inherits": { @@ -123834,7 +124335,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1139-L1167" + "specLocation": "ingest/_types/Processors.ts#L1334-L1362" }, { "inherits": { @@ -123906,7 +124407,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1169-L1189" + "specLocation": "ingest/_types/Processors.ts#L1364-L1384" }, { "inherits": { @@ -123992,7 +124493,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1191-L1225" + "specLocation": "ingest/_types/Processors.ts#L1386-L1420" }, { "inherits": { @@ -124035,7 +124536,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1227-L1236" + "specLocation": "ingest/_types/Processors.ts#L1422-L1431" }, { "inherits": { @@ -124088,7 +124589,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1243-L1259" + "specLocation": "ingest/_types/Processors.ts#L1438-L1454" }, { "inherits": { @@ -124167,7 +124668,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1261-L1286" + "specLocation": "ingest/_types/Processors.ts#L1456-L1481" }, { "inherits": { @@ -124182,7 +124683,7 @@ "namespace": "ingest._types" }, "properties": [], - "specLocation": "ingest/_types/Processors.ts#L1288-L1288" + "specLocation": "ingest/_types/Processors.ts#L1483-L1483" }, { "inherits": { @@ -124236,7 +124737,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1290-L1306" + "specLocation": "ingest/_types/Processors.ts#L1485-L1501" }, { "inherits": { @@ -124290,7 +124791,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1308-L1324" + "specLocation": "ingest/_types/Processors.ts#L1503-L1519" }, { "inherits": { @@ -124344,7 +124845,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1326-L1342" + "specLocation": "ingest/_types/Processors.ts#L1521-L1537" }, { "inherits": { @@ -124424,7 +124925,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L1344-L1370" + "specLocation": "ingest/_types/Processors.ts#L1539-L1565" }, { "inherits": { @@ -124537,7 +125038,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L447-L478" + "specLocation": "ingest/_types/Processors.ts#L474-L505" }, { "kind": "interface", diff --git a/output/schema/schema.json b/output/schema/schema.json index 5a1f375fb6..03a05273dd 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -8548,6 +8548,31 @@ } ] }, + { + "availability": { + "stack": { + "stability": "stable", + "visibility": "public" + } + }, + "description": "Deletes an ip location database configuration", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-ip-location-database-api.html", + "name": "ingest.delete_ip_location_database", + "request": null, + "requestBodyRequired": false, + "response": null, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "DELETE" + ], + "path": "/_ingest/ip_location/database/{id}" + } + ] + }, { "availability": { "serverless": { @@ -8659,6 +8684,37 @@ } ] }, + { + "availability": { + "stack": { + "stability": "stable", + "visibility": "public" + } + }, + "description": "Returns the specified ip location database configuration", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-ip-location-database-api.html", + "name": "ingest.get_ip_location_database", + "request": null, + "requestBodyRequired": false, + "response": null, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "GET" + ], + "path": "/_ingest/ip_location/database" + }, + { + "methods": [ + "GET" + ], + "path": "/_ingest/ip_location/database/{id}" + } + ] + }, { "availability": { "serverless": { @@ -8773,6 +8829,34 @@ } ] }, + { + "availability": { + "stack": { + "stability": "stable", + "visibility": "public" + } + }, + "description": "Puts the configuration for a ip location database to be downloaded", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-ip-location-database-api.html", + "name": "ingest.put_ip_location_database", + "request": null, + "requestBodyRequired": true, + "requestMediaType": [ + "application/json" + ], + "response": null, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "PUT" + ], + "path": "/_ingest/ip_location/database/{id}" + } + ] + }, { "availability": { "serverless": { @@ -13747,6 +13831,34 @@ } ] }, + { + "availability": { + "stack": { + "stability": "experimental", + "visibility": "public" + } + }, + "description": "Tests a query ruleset to identify the rules that would match input criteria", + "docUrl": "https://www.elastic.co/guide/en/elasticsearch/reference/master/test-query-ruleset.html", + "name": "query_rules.test", + "request": null, + "requestBodyRequired": true, + "requestMediaType": [ + "application/json" + ], + "response": null, + "responseMediaType": [ + "application/json" + ], + "urls": [ + { + "methods": [ + "POST" + ], + "path": "/_query_rules/{ruleset_id}/_test" + } + ] + }, { "availability": { "serverless": { diff --git a/output/schema/validation-errors.json b/output/schema/validation-errors.json index 6b40b6b077..46dac41cdd 100644 --- a/output/schema/validation-errors.json +++ b/output/schema/validation-errors.json @@ -881,12 +881,24 @@ ], "response": [] }, + "ingest.delete_ip_location_database": { + "request": [ + "Missing request & response" + ], + "response": [] + }, "ingest.get_geoip_database": { "request": [ "Request: query parameter 'master_timeout' does not exist in the json spec" ], "response": [] }, + "ingest.get_ip_location_database": { + "request": [ + "Missing request & response" + ], + "response": [] + }, "ingest.put_geoip_database": { "request": [ "Request: query parameter 'master_timeout' does not exist in the json spec", @@ -894,6 +906,12 @@ ], "response": [] }, + "ingest.put_ip_location_database": { + "request": [ + "Missing request & response" + ], + "response": [] + }, "license.delete": { "request": [ "Request: missing json spec query parameter 'master_timeout'", @@ -1023,6 +1041,12 @@ ], "response": [] }, + "query_rules.test": { + "request": [ + "Missing request & response" + ], + "response": [] + }, "reindex": { "request": [ "Request: query parameter 'require_alias' does not exist in the json spec", diff --git a/specification/_json_spec/indices.delete_data_lifecycle.json b/specification/_json_spec/indices.delete_data_lifecycle.json index 48311aed8d..94affa5502 100644 --- a/specification/_json_spec/indices.delete_data_lifecycle.json +++ b/specification/_json_spec/indices.delete_data_lifecycle.json @@ -4,7 +4,7 @@ "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-delete-lifecycle.html", "description": "Deletes the data stream lifecycle of the selected data streams." }, - "stability": "experimental", + "stability": "stable", "visibility": "public", "headers": { "accept": ["application/json"] diff --git a/specification/_json_spec/indices.explain_data_lifecycle.json b/specification/_json_spec/indices.explain_data_lifecycle.json index 9f2b24a6f8..e61a497806 100644 --- a/specification/_json_spec/indices.explain_data_lifecycle.json +++ b/specification/_json_spec/indices.explain_data_lifecycle.json @@ -4,7 +4,7 @@ "url": "https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams-explain-lifecycle.html", "description": "Retrieves information about the index's current data stream lifecycle, such as any potential encountered error, time since creation etc." }, - "stability": "experimental", + "stability": "stable", "visibility": "public", "headers": { "accept": ["application/json"] diff --git a/specification/_json_spec/indices.get_data_lifecycle.json b/specification/_json_spec/indices.get_data_lifecycle.json index f356e91226..0aa050cb43 100644 --- a/specification/_json_spec/indices.get_data_lifecycle.json +++ b/specification/_json_spec/indices.get_data_lifecycle.json @@ -4,7 +4,7 @@ "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-get-lifecycle.html", "description": "Returns the data stream lifecycle of the selected data streams." }, - "stability": "experimental", + "stability": "stable", "visibility": "public", "headers": { "accept": ["application/json"] diff --git a/specification/_json_spec/indices.put_data_lifecycle.json b/specification/_json_spec/indices.put_data_lifecycle.json index 5d96f47245..4bc27d8983 100644 --- a/specification/_json_spec/indices.put_data_lifecycle.json +++ b/specification/_json_spec/indices.put_data_lifecycle.json @@ -4,7 +4,7 @@ "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams-put-lifecycle.html", "description": "Updates the data stream lifecycle of the selected data streams." }, - "stability": "experimental", + "stability": "stable", "visibility": "public", "headers": { "accept": ["application/json"] diff --git a/specification/_json_spec/ingest.delete_ip_location_database.json b/specification/_json_spec/ingest.delete_ip_location_database.json new file mode 100644 index 0000000000..629ea86961 --- /dev/null +++ b/specification/_json_spec/ingest.delete_ip_location_database.json @@ -0,0 +1,28 @@ +{ + "ingest.delete_ip_location_database": { + "documentation": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-ip-location-database-api.html", + "description": "Deletes an ip location database configuration" + }, + "stability": "stable", + "visibility": "public", + "headers": { + "accept": ["application/json"] + }, + "url": { + "paths": [ + { + "path": "/_ingest/ip_location/database/{id}", + "methods": ["DELETE"], + "parts": { + "id": { + "type": "list", + "description": "A comma-separated list of ip location database configurations to delete" + } + } + } + ] + }, + "params": {} + } +} diff --git a/specification/_json_spec/ingest.get_ip_location_database.json b/specification/_json_spec/ingest.get_ip_location_database.json new file mode 100644 index 0000000000..d6dda6573b --- /dev/null +++ b/specification/_json_spec/ingest.get_ip_location_database.json @@ -0,0 +1,32 @@ +{ + "ingest.get_ip_location_database": { + "documentation": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-ip-location-database-api.html", + "description": "Returns the specified ip location database configuration" + }, + "stability": "stable", + "visibility": "public", + "headers": { + "accept": ["application/json"] + }, + "url": { + "paths": [ + { + "path": "/_ingest/ip_location/database", + "methods": ["GET"] + }, + { + "path": "/_ingest/ip_location/database/{id}", + "methods": ["GET"], + "parts": { + "id": { + "type": "list", + "description": "A comma-separated list of ip location database configurations to get; use `*` to get all ip location database configurations" + } + } + } + ] + }, + "params": {} + } +} diff --git a/specification/_json_spec/ingest.put_ip_location_database.json b/specification/_json_spec/ingest.put_ip_location_database.json new file mode 100644 index 0000000000..b10e290bd4 --- /dev/null +++ b/specification/_json_spec/ingest.put_ip_location_database.json @@ -0,0 +1,33 @@ +{ + "ingest.put_ip_location_database": { + "documentation": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-ip-location-database-api.html", + "description": "Puts the configuration for a ip location database to be downloaded" + }, + "stability": "stable", + "visibility": "public", + "headers": { + "accept": ["application/json"], + "content_type": ["application/json"] + }, + "url": { + "paths": [ + { + "path": "/_ingest/ip_location/database/{id}", + "methods": ["PUT"], + "parts": { + "id": { + "type": "string", + "description": "The id of the database configuration" + } + } + } + ] + }, + "params": {}, + "body": { + "description": "The database configuration definition", + "required": true + } + } +} diff --git a/specification/_json_spec/query_rules.test.json b/specification/_json_spec/query_rules.test.json new file mode 100644 index 0000000000..43167c765b --- /dev/null +++ b/specification/_json_spec/query_rules.test.json @@ -0,0 +1,32 @@ +{ + "query_rules.test": { + "documentation": { + "url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/test-query-ruleset.html", + "description": "Tests a query ruleset to identify the rules that would match input criteria" + }, + "stability": "experimental", + "visibility": "public", + "headers": { + "accept": ["application/json"], + "content_type": ["application/json"] + }, + "url": { + "paths": [ + { + "path": "/_query_rules/{ruleset_id}/_test", + "methods": ["POST"], + "parts": { + "ruleset_id": { + "type": "string", + "description": "The unique identifier of the ruleset to test." + } + } + } + ] + }, + "body": { + "description": "The match criteria to test against the ruleset", + "required": true + } + } +}