diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index d4a8187946152..45612db9ec563 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -46124,7 +46124,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -46271,27 +46271,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -46299,7 +46305,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -46478,6 +46484,188 @@ "dissect" ], "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" } ] }, @@ -46863,7 +47051,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -47010,27 +47198,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -47038,7 +47232,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -47217,28 +47411,210 @@ "dissect" ], "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "lifecycle", - "processing" - ], - "type": "object" - }, - { - "properties": { - "unwired": { - "additionalProperties": false, - "properties": {}, - "type": "object" - } - }, - "required": [ - "unwired" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "lifecycle", + "processing" + ], + "type": "object" + }, + { + "properties": { + "unwired": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "unwired" ], "type": "object" } @@ -47768,7 +48144,195 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "formats": { + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "field", + "formats" + ], + "type": "object" + } + ] + } + }, + "required": [ + "date" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "dissect": { "allOf": [ { "properties": { @@ -47911,6 +48475,10 @@ }, { "properties": { + "append_separator": { + "minLength": 1, + "type": "string" + }, "field": { "minLength": 1, "type": "string" @@ -47918,24 +48486,14 @@ "ignore_missing": { "type": "boolean" }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" + "pattern": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "pattern" ], "type": "object" } @@ -47943,14 +48501,14 @@ } }, "required": [ - "grok" + "dissect" ], "type": "object" }, { "additionalProperties": false, "properties": { - "dissect": { + "grok": { "allOf": [ { "properties": { @@ -48093,10 +48651,6 @@ }, { "properties": { - "append_separator": { - "minLength": 1, - "type": "string" - }, "field": { "minLength": 1, "type": "string" @@ -48104,14 +48658,24 @@ "ignore_missing": { "type": "boolean" }, - "pattern": { - "minLength": 1, - "type": "string" + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" } }, "required": [ "field", - "pattern" + "patterns" ], "type": "object" } @@ -48119,7 +48683,7 @@ } }, "required": [ - "dissect" + "grok" ], "type": "object" } @@ -48480,7 +49044,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -48627,27 +49191,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -48655,7 +49225,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -48834,6 +49404,188 @@ "dissect" ], "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" } ] }, diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index 8b470c222e037..23ccef358a37a 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -45715,7 +45715,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -45862,27 +45862,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -45890,7 +45896,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -46069,6 +46075,188 @@ "dissect" ], "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" } ] }, @@ -46454,7 +46642,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -46601,27 +46789,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -46629,7 +46823,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -46808,28 +47002,210 @@ "dissect" ], "type": "object" - } - ] - }, - "type": "array" - } - }, - "required": [ - "lifecycle", - "processing" - ], - "type": "object" - }, - { - "properties": { - "unwired": { - "additionalProperties": false, - "properties": {}, - "type": "object" - } - }, - "required": [ - "unwired" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" + } + ] + }, + "type": "array" + } + }, + "required": [ + "lifecycle", + "processing" + ], + "type": "object" + }, + { + "properties": { + "unwired": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "unwired" ], "type": "object" } @@ -47359,7 +47735,195 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "formats": { + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "field", + "formats" + ], + "type": "object" + } + ] + } + }, + "required": [ + "date" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "dissect": { "allOf": [ { "properties": { @@ -47502,6 +48066,10 @@ }, { "properties": { + "append_separator": { + "minLength": 1, + "type": "string" + }, "field": { "minLength": 1, "type": "string" @@ -47509,24 +48077,14 @@ "ignore_missing": { "type": "boolean" }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" + "pattern": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "pattern" ], "type": "object" } @@ -47534,14 +48092,14 @@ } }, "required": [ - "grok" + "dissect" ], "type": "object" }, { "additionalProperties": false, "properties": { - "dissect": { + "grok": { "allOf": [ { "properties": { @@ -47684,10 +48242,6 @@ }, { "properties": { - "append_separator": { - "minLength": 1, - "type": "string" - }, "field": { "minLength": 1, "type": "string" @@ -47695,14 +48249,24 @@ "ignore_missing": { "type": "boolean" }, - "pattern": { - "minLength": 1, - "type": "string" + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" } }, "required": [ "field", - "pattern" + "patterns" ], "type": "object" } @@ -47710,7 +48274,7 @@ } }, "required": [ - "dissect" + "grok" ], "type": "object" } @@ -48071,7 +48635,7 @@ { "additionalProperties": false, "properties": { - "grok": { + "date": { "allOf": [ { "properties": { @@ -48218,27 +48782,33 @@ "minLength": 1, "type": "string" }, - "ignore_missing": { - "type": "boolean" - }, - "pattern_definitions": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "patterns": { + "formats": { "items": { "minLength": 1, "type": "string" }, - "minItems": 1, "type": "array" + }, + "locale": { + "minLength": 1, + "type": "string" + }, + "output_format": { + "minLength": 1, + "type": "string" + }, + "target_field": { + "minLength": 1, + "type": "string" + }, + "timezone": { + "minLength": 1, + "type": "string" } }, "required": [ "field", - "patterns" + "formats" ], "type": "object" } @@ -48246,7 +48816,7 @@ } }, "required": [ - "grok" + "date" ], "type": "object" }, @@ -48425,6 +48995,188 @@ "dissect" ], "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "grok": { + "allOf": [ + { + "properties": { + "description": { + "type": "string" + }, + "if": { + "anyOf": [ + { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "exists", + "notExists" + ], + "type": "string" + } + }, + "required": [ + "field", + "operator" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "operator": { + "enum": [ + "eq", + "neq", + "lt", + "lte", + "gt", + "gte", + "contains", + "startsWith", + "endsWith" + ], + "type": "string" + }, + "value": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + } + ] + } + }, + "required": [ + "field", + "operator", + "value" + ], + "type": "object" + } + ] + }, + { + "additionalProperties": false, + "properties": { + "and": { + "items": {}, + "type": "array" + } + }, + "required": [ + "and" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "or": { + "items": {}, + "type": "array" + } + }, + "required": [ + "or" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "never": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "never" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "always": { + "additionalProperties": false, + "properties": {}, + "type": "object" + } + }, + "required": [ + "always" + ], + "type": "object" + } + ] + }, + "ignore_failure": { + "type": "boolean" + } + }, + "required": [ + "if" + ], + "type": "object" + }, + { + "properties": { + "field": { + "minLength": 1, + "type": "string" + }, + "ignore_missing": { + "type": "boolean" + }, + "pattern_definitions": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "patterns": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "field", + "patterns" + ], + "type": "object" + } + ] + } + }, + "required": [ + "grok" + ], + "type": "object" } ] }, diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 481a5a2d91caa..ae1199814986f 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -41773,7 +41773,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -41866,23 +41866,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -41992,6 +41997,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle @@ -42218,7 +42336,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -42311,23 +42429,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -42437,109 +42560,222 @@ paths: - pattern required: - dissect - type: array - required: - - lifecycle - - processing - - type: object - properties: - unwired: - additionalProperties: false - type: object - properties: {} - required: - - unwired - required: - - ingest - required: - - stream - - allOf: - - type: object - properties: - dashboards: - items: - minLength: 1 - type: string - type: array - required: - - dashboards - - type: object - properties: - stream: - additionalProperties: false - type: object - properties: - group: - additionalProperties: false - type: object - properties: - description: - type: string - members: - items: - minLength: 1 - type: string - type: array - required: - - members - required: - - group - required: - - stream - responses: {} - summary: Create or update a stream - tags: - - streams - x-state: Technical Preview - x-beta: true - /api/streams/{name}/_fork: - post: - description: Forks a wired stream and creates a child stream - operationId: post-streams-name-fork - parameters: - - description: A required header to protect against CSRF attacks - in: header - name: kbn-xsrf - required: true - schema: - example: 'true' - type: string - - in: path - name: name - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - additionalProperties: false - type: object - properties: - if: - anyOf: - - anyOf: - - additionalProperties: false - type: object - properties: - field: - minLength: 1 - type: string - operator: - enum: - - exists - - notExists - type: string - required: - - field - - operator - - additionalProperties: false - type: object - properties: - field: - minLength: 1 - type: string - operator: + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok + type: array + required: + - lifecycle + - processing + - type: object + properties: + unwired: + additionalProperties: false + type: object + properties: {} + required: + - unwired + required: + - ingest + required: + - stream + - allOf: + - type: object + properties: + dashboards: + items: + minLength: 1 + type: string + type: array + required: + - dashboards + - type: object + properties: + stream: + additionalProperties: false + type: object + properties: + group: + additionalProperties: false + type: object + properties: + description: + type: string + members: + items: + minLength: 1 + type: string + type: array + required: + - members + required: + - group + required: + - stream + responses: {} + summary: Create or update a stream + tags: + - streams + x-state: Technical Preview + x-beta: true + /api/streams/{name}/_fork: + post: + description: Forks a wired stream and creates a child stream + operationId: post-streams-name-fork + parameters: + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: name + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + type: object + properties: + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: enum: - eq - neq @@ -42782,7 +43018,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -42875,23 +43111,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -43001,6 +43242,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle @@ -43212,7 +43566,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -43305,23 +43659,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -43431,6 +43790,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 0b4788f1d3cdd..fed33f13d4b14 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -44948,7 +44948,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -45041,23 +45041,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -45167,6 +45172,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle @@ -45393,7 +45511,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -45486,23 +45604,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -45612,109 +45735,222 @@ paths: - pattern required: - dissect - type: array - required: - - lifecycle - - processing - - type: object - properties: - unwired: - additionalProperties: false - type: object - properties: {} - required: - - unwired - required: - - ingest - required: - - stream - - allOf: - - type: object - properties: - dashboards: - items: - minLength: 1 - type: string - type: array - required: - - dashboards - - type: object - properties: - stream: - additionalProperties: false - type: object - properties: - group: - additionalProperties: false - type: object - properties: - description: - type: string - members: - items: - minLength: 1 - type: string - type: array - required: - - members - required: - - group - required: - - stream - responses: {} - summary: Create or update a stream - tags: - - streams - x-state: Technical Preview - /api/streams/{name}/_fork: - post: - description: Forks a wired stream and creates a child stream - operationId: post-streams-name-fork - parameters: - - description: A required header to protect against CSRF attacks - in: header - name: kbn-xsrf - required: true - schema: - example: 'true' - type: string - - in: path - name: name - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - additionalProperties: false - type: object - properties: - if: - anyOf: - - anyOf: - - additionalProperties: false - type: object - properties: - field: - minLength: 1 - type: string - operator: - enum: - - exists - - notExists - type: string - required: - - field - - operator - - additionalProperties: false - type: object - properties: - field: - minLength: 1 - type: string - operator: - enum: + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok + type: array + required: + - lifecycle + - processing + - type: object + properties: + unwired: + additionalProperties: false + type: object + properties: {} + required: + - unwired + required: + - ingest + required: + - stream + - allOf: + - type: object + properties: + dashboards: + items: + minLength: 1 + type: string + type: array + required: + - dashboards + - type: object + properties: + stream: + additionalProperties: false + type: object + properties: + group: + additionalProperties: false + type: object + properties: + description: + type: string + members: + items: + minLength: 1 + type: string + type: array + required: + - members + required: + - group + required: + - stream + responses: {} + summary: Create or update a stream + tags: + - streams + x-state: Technical Preview + /api/streams/{name}/_fork: + post: + description: Forks a wired stream and creates a child stream + operationId: post-streams-name-fork + parameters: + - description: A required header to protect against CSRF attacks + in: header + name: kbn-xsrf + required: true + schema: + example: 'true' + type: string + - in: path + name: name + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + additionalProperties: false + type: object + properties: + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: - eq - neq - lt @@ -45952,7 +46188,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -46045,23 +46281,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -46171,6 +46412,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle @@ -46382,7 +46736,7 @@ paths: - additionalProperties: false type: object properties: - grok: + date: allOf: - type: object properties: @@ -46475,23 +46829,28 @@ paths: field: minLength: 1 type: string - ignore_missing: - type: boolean - pattern_definitions: - additionalProperties: - type: string - type: object - patterns: + formats: items: minLength: 1 type: string - minItems: 1 type: array + locale: + minLength: 1 + type: string + output_format: + minLength: 1 + type: string + target_field: + minLength: 1 + type: string + timezone: + minLength: 1 + type: string required: - field - - patterns + - formats required: - - grok + - date - additionalProperties: false type: object properties: @@ -46601,6 +46960,119 @@ paths: - pattern required: - dissect + - additionalProperties: false + type: object + properties: + grok: + allOf: + - type: object + properties: + description: + type: string + if: + anyOf: + - anyOf: + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - exists + - notExists + type: string + required: + - field + - operator + - additionalProperties: false + type: object + properties: + field: + minLength: 1 + type: string + operator: + enum: + - eq + - neq + - lt + - lte + - gt + - gte + - contains + - startsWith + - endsWith + type: string + value: + anyOf: + - type: string + - type: number + - type: boolean + required: + - field + - operator + - value + - additionalProperties: false + type: object + properties: + and: + items: {} + type: array + required: + - and + - additionalProperties: false + type: object + properties: + or: + items: {} + type: array + required: + - or + - additionalProperties: false + type: object + properties: + never: + additionalProperties: false + type: object + properties: {} + required: + - never + - additionalProperties: false + type: object + properties: + always: + additionalProperties: false + type: object + properties: {} + required: + - always + ignore_failure: + type: boolean + required: + - if + - type: object + properties: + field: + minLength: 1 + type: string + ignore_missing: + type: boolean + pattern_definitions: + additionalProperties: + type: string + type: object + patterns: + items: + minLength: 1 + type: string + minItems: 1 + type: array + required: + - field + - patterns + required: + - grok type: array required: - lifecycle diff --git a/x-pack/platform/packages/shared/kbn-streams-schema/src/models/ingest/processors/index.ts b/x-pack/platform/packages/shared/kbn-streams-schema/src/models/ingest/processors/index.ts index f1cafd008785d..752030fbd6eca 100644 --- a/x-pack/platform/packages/shared/kbn-streams-schema/src/models/ingest/processors/index.ts +++ b/x-pack/platform/packages/shared/kbn-streams-schema/src/models/ingest/processors/index.ts @@ -68,7 +68,37 @@ export const dissectProcessorDefinitionSchema = z.strictObject({ ), }) satisfies z.Schema; -export type ProcessorDefinition = DissectProcessorDefinition | GrokProcessorDefinition; +export interface DateProcessorConfig extends ProcessorBase { + field: string; + formats: string[]; + locale?: string; + target_field?: string; + timezone?: string; + output_format?: string; +} + +export interface DateProcessorDefinition { + date: DateProcessorConfig; +} + +export const dateProcessorDefinitionSchema = z.strictObject({ + date: z.intersection( + processorBaseSchema, + z.object({ + field: NonEmptyString, + formats: z.array(NonEmptyString), + locale: z.optional(NonEmptyString), + target_field: z.optional(NonEmptyString), + timezone: z.optional(NonEmptyString), + output_format: z.optional(NonEmptyString), + }) + ), +}) satisfies z.Schema; + +export type ProcessorDefinition = + | DateProcessorDefinition + | DissectProcessorDefinition + | GrokProcessorDefinition; export type ProcessorDefinitionWithId = ProcessorDefinition & { id: string }; type UnionKeysOf> = T extends T ? keyof T : never; @@ -82,13 +112,15 @@ export type ProcessorTypeOf = UnionKeysOf & ProcessorType; export const processorDefinitionSchema: z.ZodType = z.union([ - grokProcessorDefinitionSchema, + dateProcessorDefinitionSchema, dissectProcessorDefinitionSchema, + grokProcessorDefinitionSchema, ]); export const processorWithIdDefinitionSchema: z.ZodType = z.union([ - grokProcessorDefinitionSchema.merge(z.object({ id: z.string() })), + dateProcessorDefinitionSchema.merge(z.object({ id: z.string() })), dissectProcessorDefinitionSchema.merge(z.object({ id: z.string() })), + grokProcessorDefinitionSchema.merge(z.object({ id: z.string() })), ]); export const isGrokProcessorDefinition = createIsNarrowSchema( @@ -101,6 +133,11 @@ export const isDissectProcessorDefinition = createIsNarrowSchema( dissectProcessorDefinitionSchema ); +export const isDateProcessorDefinition = createIsNarrowSchema( + processorDefinitionSchema, + dateProcessorDefinitionSchema +); + const processorTypes: ProcessorType[] = (processorDefinitionSchema as z.ZodUnion).options.map( (option: z.ZodUnion['options'][number]) => Object.keys(option.shape)[0] ); diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_formats_field.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_formats_field.tsx new file mode 100644 index 0000000000000..00d3fdf06df6e --- /dev/null +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_formats_field.tsx @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { useController } from 'react-hook-form'; +import { EuiFieldText, EuiFormRow } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { ProcessorFormState } from '../../types'; + +export const DateFormatsField = () => { + const { field, fieldState } = useController({ + name: 'formats', + rules: { + required: i18n.translate( + 'xpack.streams.streamDetailView.managementTab.enrichment.processor.dateFormatsRequiredError', + { defaultMessage: 'A value for format is required.' } + ), + }, + }); + + const { invalid, error } = fieldState; + const { ref, ...inputProps } = field; + + const handleChange = (e: React.ChangeEvent) => { + field.onChange([e.target.value]); + }; + + return ( + + } + fullWidth + isInvalid={invalid} + error={error?.message} + > + + + ); +}; diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_optional_fields.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_optional_fields.tsx new file mode 100644 index 0000000000000..d6496aa6941be --- /dev/null +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/date_optional_fields.tsx @@ -0,0 +1,111 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { useFormContext } from 'react-hook-form'; +import { EuiCode, EuiFieldText, EuiFormRow } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +export const DateTargetField = () => { + const { register } = useFormContext(); + const { ref, ...inputProps } = register('target_field'); + + return ( + @timestamp }} + /> + } + fullWidth + > + + + ); +}; + +export const DateTimezoneField = () => { + const { register } = useFormContext(); + const { ref, ...inputProps } = register('timezone'); + + return ( + UTC }} + /> + } + fullWidth + > + + + ); +}; + +export const DateLocaleField = () => { + const { register } = useFormContext(); + const { ref, ...inputProps } = register('locale'); + + return ( + ENGLISH }} + /> + } + fullWidth + > + + + ); +}; + +export const DateOutputFormatField = () => { + const { register } = useFormContext(); + const { ref, ...inputProps } = register('output_format'); + + return ( + target_field, + outputFormat: yyyy-MM-dd'T'HH:mm:ss.SSSXXX, + }} + /> + } + fullWidth + > + + + ); +}; diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/index.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/index.tsx new file mode 100644 index 0000000000000..a2211249141e4 --- /dev/null +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/date/index.tsx @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { EuiSpacer } from '@elastic/eui'; + +import { ProcessorFieldSelector } from '../processor_field_selector'; +import { OptionalFieldsAccordion } from '../optional_fields_accordion'; +import { ProcessorConditionEditor } from '../processor_condition_editor'; +import { IgnoreFailureToggle } from '../ignore_toggles'; +import { + DateTargetField, + DateTimezoneField, + DateOutputFormatField, + DateLocaleField, +} from './date_optional_fields'; +import { DateFormatsField } from './date_formats_field'; + +export const DateProcessorForm = () => { + return ( + <> + + + + + + + + + + + + + + + ); +}; diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/index.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/index.tsx index 46f9777760037..29fcb7dc99aaa 100644 --- a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/index.tsx +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/index.tsx @@ -37,6 +37,7 @@ import { isGrokProcessor, isDissectProcessor, getDefaultFormStateByType, + isDateProcessor, } from '../utils'; import { ProcessorErrors, ProcessorMetricBadges } from './processor_metrics'; import { @@ -46,6 +47,7 @@ import { StreamEnrichmentContext, } from '../state_management/stream_enrichment_state_machine'; import { ProcessorMetrics } from '../state_management/simulation_state_machine'; +import { DateProcessorForm } from './date'; export function AddProcessorPanel() { const { euiTheme } = useEuiTheme(); @@ -166,8 +168,9 @@ export function AddProcessorPanel() { - {type === 'grok' && } + {type === 'date' && } {type === 'dissect' && } + {type === 'grok' && } {processorMetrics && !isEmpty(processorMetrics.errors) && ( @@ -351,6 +354,7 @@ export function EditProcessorPanel({ processorRef, processorMetrics }: EditProce + {type === 'date' && } {type === 'grok' && } {type === 'dissect' && } @@ -392,6 +396,8 @@ const getProcessorDescription = (processor: ProcessorDefinitionWithUIAttributes) return processor.grok.patterns.join(' • '); } else if (isDissectProcessor(processor)) { return processor.dissect.pattern; + } else if (isDateProcessor(processor)) { + return `${processor.date.field} • ${processor.date.formats.join(' - ')}`; } return ''; diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/processor_type_selector.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/processor_type_selector.tsx index 01e765ccfa843..3a6d92f5a96d1 100644 --- a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/processor_type_selector.tsx +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/processor_type_selector.tsx @@ -68,6 +68,16 @@ export const ProcessorTypeSelector = ({ }; const availableProcessors: TAvailableProcessors = { + date: { + value: 'date', + inputDisplay: 'Date', + getDocUrl: () => ( + + ), + }, dissect: { value: 'dissect', inputDisplay: 'Dissect', diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/toggle_field.tsx b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/toggle_field.tsx index f5e70267b7ff9..82e882790fe98 100644 --- a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/toggle_field.tsx +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/toggle_field.tsx @@ -11,9 +11,11 @@ import { EuiFormRow, EuiFormRowProps, EuiSwitch, htmlIdGenerator } from '@elasti import { ProcessorFormState } from '../types'; type ExtractBooleanFields = NonNullable< - { - [K in keyof TInput]: boolean extends TInput[K] ? K : never; - }[keyof TInput] + TInput extends Record + ? { + [K in keyof TInput]: boolean extends TInput[K] ? K : never; + }[keyof TInput] + : never >; interface ToggleFieldProps { diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/types.ts b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/types.ts index 1d153c6e4e3e7..8254be95d3dc5 100644 --- a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/types.ts +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/types.ts @@ -6,6 +6,7 @@ */ import { + DateProcessorConfig, DissectProcessorConfig, FieldDefinitionType, GrokProcessorConfig, @@ -25,16 +26,13 @@ export interface DetectedField { type?: FieldDefinitionType | 'system'; } -interface BaseFormState { - detected_fields?: DetectedField[]; -} +export type GrokFormState = Omit & { + type: 'grok'; + patterns: Array<{ value: string }>; +}; -export type GrokFormState = BaseFormState & - Omit & { - type: 'grok'; - patterns: Array<{ value: string }>; - }; +export type DissectFormState = DissectProcessorConfig & { type: 'dissect' }; -export type DissectFormState = BaseFormState & DissectProcessorConfig & { type: 'dissect' }; +export type DateFormState = DateProcessorConfig & { type: 'date' }; -export type ProcessorFormState = GrokFormState | DissectFormState; +export type ProcessorFormState = GrokFormState | DissectFormState | DateFormState; diff --git a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/utils.ts b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/utils.ts index 6ce2ce2c0a0f3..1268586b80392 100644 --- a/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/utils.ts +++ b/x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/utils.ts @@ -21,16 +21,19 @@ import { GrokFormState, ProcessorFormState, WithUIAttributes, + DateFormState, } from './types'; import { ALWAYS_CONDITION } from '../../../util/condition'; -const defaultGrokProcessorFormState: GrokFormState = { - type: 'grok', - field: 'message', - patterns: [{ value: '' }], - pattern_definitions: {}, +const defaultDateProcessorFormState: DateFormState = { + type: 'date', + field: '', + formats: [], + locale: '', + target_field: '', + timezone: '', + output_format: '', ignore_failure: true, - ignore_missing: true, if: ALWAYS_CONDITION, }; @@ -43,7 +46,18 @@ const defaultDissectProcessorFormState: DissectFormState = { if: ALWAYS_CONDITION, }; +const defaultGrokProcessorFormState: GrokFormState = { + type: 'grok', + field: 'message', + patterns: [{ value: '' }], + pattern_definitions: {}, + ignore_failure: true, + ignore_missing: true, + if: ALWAYS_CONDITION, +}; + const defaultProcessorFormStateByType: Record = { + date: defaultDateProcessorFormState, dissect: defaultDissectProcessorFormState, grok: defaultGrokProcessorFormState, }; @@ -75,6 +89,15 @@ export const getFormStateFrom = ( }); } + if (isDateProcessor(processor)) { + const { date } = processor; + + return structuredClone({ + ...date, + type: 'date', + }); + } + throw new Error(`Form state for processor type "${processor.type}" is not implemented.`); }; @@ -109,6 +132,24 @@ export const convertFormStateToProcessor = (formState: ProcessorFormState): Proc }; } + if (formState.type === 'date') { + const { field, formats, locale, ignore_failure, target_field, timezone, output_format } = + formState; + + return { + date: { + if: formState.if, + field, + formats, + ignore_failure, + locale: isEmpty(locale) ? undefined : locale, + target_field: isEmpty(target_field) ? undefined : target_field, + timezone: isEmpty(timezone) ? undefined : timezone, + output_format: isEmpty(output_format) ? undefined : output_format, + }, + }; + } + throw new Error('Cannot convert form state to processing: unknown type.'); }; @@ -121,8 +162,9 @@ const createProcessorGuardByType = > => processor.type === type; -export const isGrokProcessor = createProcessorGuardByType('grok'); +export const isDateProcessor = createProcessorGuardByType('date'); export const isDissectProcessor = createProcessorGuardByType('dissect'); +export const isGrokProcessor = createProcessorGuardByType('grok'); const createId = htmlIdGenerator(); const toUIDefinition = (