diff --git a/oas_docs/bundle.json b/oas_docs/bundle.json index c72e872084b0f..3b284d7786f84 100644 --- a/oas_docs/bundle.json +++ b/oas_docs/bundle.json @@ -9486,6 +9486,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -9521,198 +9524,323 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], "type": "object" - } + }, + "type": "array" }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" - }, - "is_managed": { - "type": "boolean" - }, - "name": { - "description": "Package policy name (should be unique)", - "type": "string" - }, - "namespace": { - "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", - "type": "string" + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] + }, + "is_managed": { + "type": "boolean" + }, + "name": { + "description": "Package policy name (should be unique)", + "type": "string" + }, + "namespace": { + "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", + "type": "string" }, "output_id": { "nullable": true, @@ -9819,6 +9947,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -9832,24 +9966,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -10595,6 +10780,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -10630,187 +10818,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "data_stream": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { "additionalProperties": false, "properties": { - "dataset": { + "frozen": { + "type": "boolean" + }, + "type": { "type": "string" }, - "elasticsearch": { - "additionalProperties": false, - "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" - }, - "privileges": { - "additionalProperties": false, - "properties": { - "indices": { - "items": { - "type": "string" - }, - "type": "array" - } - }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { + "additionalProperties": false, + "properties": { + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "data_stream": { + "additionalProperties": false, + "properties": { + "dataset": { + "type": "string" + }, + "elasticsearch": { + "additionalProperties": false, + "properties": { + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "type": "array" - }, - "type": { - "type": "string" + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" }, - "value": {} + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -10928,6 +11241,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -10941,24 +11260,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -11428,6 +11798,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -11463,187 +11836,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" ], - "type": "string" + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" + }, + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -11761,6 +12259,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -11774,24 +12278,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -12497,6 +13052,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -12532,269 +13090,394 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "data_stream": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" - ], - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" + "enabled", + "data_stream", + "compiled_stream" ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} + "type": "array" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" - }, - "is_managed": { - "type": "boolean" - }, - "name": { - "description": "Package policy name (should be unique)", - "type": "string" - }, - "namespace": { - "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", - "type": "string" - }, - "output_id": { - "nullable": true, - "type": "string" - }, - "overrides": { - "additionalProperties": false, - "description": "Override settings that are defined in the package policy. The override option should be used only in unusual circumstances and not as a routine procedure.", - "nullable": true, - "properties": { - "inputs": { - "additionalProperties": {}, - "type": "object" - } - }, - "type": "object" - }, - "package": { - "additionalProperties": false, - "properties": { - "experimental_data_stream_features": { - "items": { - "additionalProperties": false, - "properties": { - "data_stream": { + "type": { "type": "string" }, - "features": { - "additionalProperties": false, - "properties": { - "doc_value_only_numeric": { - "type": "boolean" - }, - "doc_value_only_other": { - "type": "boolean" - }, - "synthetic_source": { - "type": "boolean" + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} }, - "tsdb": { - "type": "boolean" - } + "required": [ + "value" + ], + "type": "object" }, + "description": "Package variable (see integration documentation for more information)", "type": "object" } }, "required": [ - "data_stream", - "features" + "type", + "enabled", + "streams", + "compiled_input" ], "type": "object" }, "type": "array" }, - "name": { - "description": "Package name", - "type": "string" - }, - "requires_root": { - "type": "boolean" - }, - "title": { - "type": "string" - }, - "version": { - "description": "Package version", - "type": "string" - } - }, - "required": [ - "name", + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] + }, + "is_managed": { + "type": "boolean" + }, + "name": { + "description": "Package policy name (should be unique)", + "type": "string" + }, + "namespace": { + "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", + "type": "string" + }, + "output_id": { + "nullable": true, + "type": "string" + }, + "overrides": { + "additionalProperties": false, + "description": "Override settings that are defined in the package policy. The override option should be used only in unusual circumstances and not as a routine procedure.", + "nullable": true, + "properties": { + "inputs": { + "additionalProperties": {}, + "type": "object" + } + }, + "type": "object" + }, + "package": { + "additionalProperties": false, + "properties": { + "experimental_data_stream_features": { + "items": { + "additionalProperties": false, + "properties": { + "data_stream": { + "type": "string" + }, + "features": { + "additionalProperties": false, + "properties": { + "doc_value_only_numeric": { + "type": "boolean" + }, + "doc_value_only_other": { + "type": "boolean" + }, + "synthetic_source": { + "type": "boolean" + }, + "tsdb": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "data_stream", + "features" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Package name", + "type": "string" + }, + "requires_root": { + "type": "boolean" + }, + "title": { + "type": "string" + }, + "version": { + "description": "Package version", + "type": "string" + } + }, + "required": [ + "name", "version" ], "type": "object" @@ -12830,6 +13513,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -12843,24 +13532,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -13604,6 +14344,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -13639,187 +14382,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "type": "array" - }, - "type": { - "type": "string" + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" }, - "type": { - "type": "string" + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -13937,6 +14805,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -13950,24 +14824,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -14437,6 +15362,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -14472,187 +15400,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { + "additionalProperties": false, + "properties": { + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "type": { - "type": "string" + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "data_stream": { + "additionalProperties": false, + "properties": { + "dataset": { + "type": "string" + }, + "elasticsearch": { + "additionalProperties": false, + "properties": { + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": { + "type": "string" + } }, - "value": {} + "required": [ + "dataset", + "type" + ], + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "enabled", + "data_stream", + "compiled_stream" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" }, - "required": [ - "value" - ], - "type": "object" + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" + }, + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" }, - "elasticsearch": { - "additionalProperties": false, - "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" - }, - "privileges": { - "additionalProperties": false, - "properties": { - "indices": { - "items": { + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { "type": "string" }, - "type": "array" - } - }, - "type": "object" - } + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, + "description": "Input/stream level variable (see integration documentation for more information)", "type": "object" - }, - "type": { - "type": "string" } }, - "required": [ - "dataset", - "type" - ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { "type": "string" }, - "value": {} + "type": "array" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -14770,6 +15823,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -14783,24 +15842,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" diff --git a/oas_docs/bundle.serverless.json b/oas_docs/bundle.serverless.json index a1055afca8265..4cb2961b2ff70 100644 --- a/oas_docs/bundle.serverless.json +++ b/oas_docs/bundle.serverless.json @@ -9486,6 +9486,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -9521,198 +9524,323 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], "type": "object" - } + }, + "type": "array" }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" - }, - "is_managed": { - "type": "boolean" - }, - "name": { - "description": "Package policy name (should be unique)", - "type": "string" - }, - "namespace": { - "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", - "type": "string" + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] + }, + "is_managed": { + "type": "boolean" + }, + "name": { + "description": "Package policy name (should be unique)", + "type": "string" + }, + "namespace": { + "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", + "type": "string" }, "output_id": { "nullable": true, @@ -9819,6 +9947,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -9832,24 +9966,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -10595,6 +10780,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -10630,187 +10818,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "data_stream": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { "additionalProperties": false, "properties": { - "dataset": { + "frozen": { + "type": "boolean" + }, + "type": { "type": "string" }, - "elasticsearch": { - "additionalProperties": false, - "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" - }, - "privileges": { - "additionalProperties": false, - "properties": { - "indices": { - "items": { - "type": "string" - }, - "type": "array" - } - }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { + "additionalProperties": false, + "properties": { + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "data_stream": { + "additionalProperties": false, + "properties": { + "dataset": { + "type": "string" + }, + "elasticsearch": { + "additionalProperties": false, + "properties": { + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "type": "array" - }, - "type": { - "type": "string" + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" }, - "value": {} + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -10928,6 +11241,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -10941,24 +11260,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -11428,6 +11798,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -11463,187 +11836,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" ], - "type": "string" + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" + }, + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -11761,6 +12259,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -11774,24 +12278,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -12497,6 +13052,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -12532,269 +13090,394 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "data_stream": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" - ], - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" + "enabled", + "data_stream", + "compiled_stream" ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" }, - "value": {} + "type": "array" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" - }, - "is_managed": { - "type": "boolean" - }, - "name": { - "description": "Package policy name (should be unique)", - "type": "string" - }, - "namespace": { - "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", - "type": "string" - }, - "output_id": { - "nullable": true, - "type": "string" - }, - "overrides": { - "additionalProperties": false, - "description": "Override settings that are defined in the package policy. The override option should be used only in unusual circumstances and not as a routine procedure.", - "nullable": true, - "properties": { - "inputs": { - "additionalProperties": {}, - "type": "object" - } - }, - "type": "object" - }, - "package": { - "additionalProperties": false, - "properties": { - "experimental_data_stream_features": { - "items": { - "additionalProperties": false, - "properties": { - "data_stream": { + "type": { "type": "string" }, - "features": { - "additionalProperties": false, - "properties": { - "doc_value_only_numeric": { - "type": "boolean" - }, - "doc_value_only_other": { - "type": "boolean" - }, - "synthetic_source": { - "type": "boolean" + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} }, - "tsdb": { - "type": "boolean" - } + "required": [ + "value" + ], + "type": "object" }, + "description": "Package variable (see integration documentation for more information)", "type": "object" } }, "required": [ - "data_stream", - "features" + "type", + "enabled", + "streams", + "compiled_input" ], "type": "object" }, "type": "array" }, - "name": { - "description": "Package name", - "type": "string" - }, - "requires_root": { - "type": "boolean" - }, - "title": { - "type": "string" - }, - "version": { - "description": "Package version", - "type": "string" - } - }, - "required": [ - "name", + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] + }, + "is_managed": { + "type": "boolean" + }, + "name": { + "description": "Package policy name (should be unique)", + "type": "string" + }, + "namespace": { + "description": "The package policy namespace. Leave blank to inherit the agent policy's namespace.", + "type": "string" + }, + "output_id": { + "nullable": true, + "type": "string" + }, + "overrides": { + "additionalProperties": false, + "description": "Override settings that are defined in the package policy. The override option should be used only in unusual circumstances and not as a routine procedure.", + "nullable": true, + "properties": { + "inputs": { + "additionalProperties": {}, + "type": "object" + } + }, + "type": "object" + }, + "package": { + "additionalProperties": false, + "properties": { + "experimental_data_stream_features": { + "items": { + "additionalProperties": false, + "properties": { + "data_stream": { + "type": "string" + }, + "features": { + "additionalProperties": false, + "properties": { + "doc_value_only_numeric": { + "type": "boolean" + }, + "doc_value_only_other": { + "type": "boolean" + }, + "synthetic_source": { + "type": "boolean" + }, + "tsdb": { + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "data_stream", + "features" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Package name", + "type": "string" + }, + "requires_root": { + "type": "boolean" + }, + "title": { + "type": "string" + }, + "version": { + "description": "Package version", + "type": "string" + } + }, + "required": [ + "name", "version" ], "type": "object" @@ -12830,6 +13513,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -12843,24 +13532,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -13604,6 +14344,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -13639,187 +14382,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "elasticsearch": { + "data_stream": { "additionalProperties": false, "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" + "dataset": { + "type": "string" }, - "privileges": { + "elasticsearch": { "additionalProperties": false, "properties": { - "indices": { - "items": { - "type": "string" + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } }, - "type": "array" + "type": "object" } }, "type": "object" + }, + "type": { + "type": "string" } }, + "required": [ + "dataset", + "type" + ], "type": "object" }, - "type": { + "enabled": { + "type": "boolean" + }, + "id": { "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" } }, "required": [ - "dataset", - "type" + "enabled", + "data_stream", + "compiled_stream" ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "value": {} + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" }, - "required": [ - "value" - ], - "type": "object" + "type": { + "type": "string" + }, + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } }, - "type": "array" - }, - "type": { - "type": "string" + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } + }, + "type": "object" }, - "type": { - "type": "string" + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -13937,6 +14805,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -13950,24 +14824,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" @@ -14437,6 +15362,9 @@ "items": { "additionalProperties": false, "properties": { + "agents": { + "type": "number" + }, "created_at": { "type": "string" }, @@ -14472,187 +15400,312 @@ "type": "string" }, "inputs": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_input": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "compiled_input": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "policy_template": { - "type": "string" - }, - "streams": { - "items": { - "additionalProperties": false, - "properties": { - "compiled_stream": {}, - "config": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "policy_template": { + "type": "string" + }, + "streams": { + "items": { + "additionalProperties": false, + "properties": { + "compiled_stream": {}, + "config": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "type": { - "type": "string" + "description": "Package variable (see integration documentation for more information)", + "type": "object" + }, + "data_stream": { + "additionalProperties": false, + "properties": { + "dataset": { + "type": "string" + }, + "elasticsearch": { + "additionalProperties": false, + "properties": { + "dynamic_dataset": { + "type": "boolean" + }, + "dynamic_namespace": { + "type": "boolean" + }, + "privileges": { + "additionalProperties": false, + "properties": { + "indices": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "type": { + "type": "string" + } }, - "value": {} + "required": [ + "dataset", + "type" + ], + "type": "object" + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "string" + }, + "keep_enabled": { + "type": "boolean" + }, + "release": { + "enum": [ + "ga", + "beta", + "experimental" + ], + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" + }, + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "enabled", + "data_stream", + "compiled_stream" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "type": "string" + }, + "vars": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" }, - "required": [ - "value" - ], - "type": "object" + "value": {} }, - "description": "Package variable (see integration documentation for more information)", + "required": [ + "value" + ], "type": "object" }, - "data_stream": { + "description": "Package variable (see integration documentation for more information)", + "type": "object" + } + }, + "required": [ + "type", + "enabled", + "streams", + "compiled_input" + ], + "type": "object" + }, + "type": "array" + }, + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "enabled": { + "description": "enable or disable that input, (default to true)", + "type": "boolean" + }, + "streams": { + "additionalProperties": { "additionalProperties": false, "properties": { - "dataset": { - "type": "string" + "enabled": { + "description": "enable or disable that stream, (default to true)", + "type": "boolean" }, - "elasticsearch": { - "additionalProperties": false, - "properties": { - "dynamic_dataset": { - "type": "boolean" - }, - "dynamic_namespace": { - "type": "boolean" - }, - "privileges": { - "additionalProperties": false, - "properties": { - "indices": { - "items": { + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { "type": "string" }, - "type": "array" - } - }, - "type": "object" - } + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, + "description": "Input/stream level variable (see integration documentation for more information)", "type": "object" - }, - "type": { - "type": "string" } }, - "required": [ - "dataset", - "type" - ], "type": "object" }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "keep_enabled": { - "type": "boolean" - }, - "release": { - "enum": [ - "ga", - "beta", - "experimental" - ], - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { + "description": "Input streams (see integration documentation to know what streams are available)", + "type": "object" + }, + "vars": { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { "type": "string" }, - "value": {} + "type": "array" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" - } - }, - "required": [ - "enabled", - "data_stream", - "compiled_stream" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "type": "string" - }, - "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true }, - "value": {} - }, - "required": [ - "value" - ], - "type": "object" + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object" + } }, - "description": "Package variable (see integration documentation for more information)", "type": "object" - } - }, - "required": [ - "type", - "enabled", - "streams", - "compiled_input" - ], - "type": "object" - }, - "type": "array" + }, + "description": "Package policy inputs (see integration documentation to know what inputs are available)", + "type": "object", + "x-oas-optional": true + } + ] }, "is_managed": { "type": "boolean" @@ -14770,6 +15823,12 @@ }, "type": "array" }, + "spaceIds": { + "items": { + "type": "string" + }, + "type": "array" + }, "supports_agentless": { "default": false, "description": "Indicates whether the package policy belongs to an agentless agent policy.", @@ -14783,24 +15842,75 @@ "type": "string" }, "vars": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "frozen": { - "type": "boolean" - }, - "type": { - "type": "string" + "anyOf": [ + { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "frozen": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": {} + }, + "required": [ + "value" + ], + "type": "object" }, - "value": {} + "description": "Package variable (see integration documentation for more information)", + "type": "object" }, - "required": [ - "value" - ], - "type": "object" - }, - "description": "Package variable (see integration documentation for more information)", - "type": "object" + { + "additionalProperties": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "number" + }, + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "isSecretRef": { + "type": "boolean" + } + }, + "required": [ + "id", + "isSecretRef" + ], + "type": "object" + } + ], + "nullable": true + }, + "description": "Input/stream level variable (see integration documentation for more information)", + "type": "object", + "x-oas-optional": true + } + ] }, "version": { "type": "string" diff --git a/oas_docs/output/kibana.serverless.yaml b/oas_docs/output/kibana.serverless.yaml index 2494c58780663..cb0ad9d6d62ae 100644 --- a/oas_docs/output/kibana.serverless.yaml +++ b/oas_docs/output/kibana.serverless.yaml @@ -13025,6 +13025,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -13049,133 +13051,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -13258,6 +13331,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -13268,19 +13345,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -13796,6 +13899,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -13820,133 +13925,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -14029,6 +14205,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -14039,19 +14219,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -14375,6 +14581,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -14399,133 +14607,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -14608,6 +14887,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -14618,19 +14901,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -14933,6 +15242,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -14957,133 +15268,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -15166,6 +15548,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -15176,19 +15562,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -15702,6 +16114,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -15726,133 +16140,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -15935,6 +16420,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -15945,19 +16434,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -16280,6 +16795,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -16304,133 +16821,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -16513,6 +17101,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -16523,19 +17115,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: diff --git a/oas_docs/output/kibana.yaml b/oas_docs/output/kibana.yaml index 944c7c1575df1..5350c07f1b676 100644 --- a/oas_docs/output/kibana.yaml +++ b/oas_docs/output/kibana.yaml @@ -15166,6 +15166,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -15190,133 +15192,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -15399,6 +15472,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -15409,19 +15486,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -15936,6 +16039,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -15960,133 +16065,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -16169,6 +16345,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -16179,19 +16359,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -16514,6 +16720,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -16538,133 +16746,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -16747,6 +17026,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -16757,19 +17040,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -17071,6 +17380,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -17095,133 +17406,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -17304,6 +17686,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -17314,19 +17700,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -17839,6 +18251,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -17863,133 +18277,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -18072,6 +18557,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -18082,19 +18571,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: @@ -18416,6 +18931,8 @@ paths: additionalProperties: false type: object properties: + agents: + type: number created_at: type: string created_by: @@ -18440,133 +18957,204 @@ paths: id: type: string inputs: - items: - additionalProperties: false - type: object - properties: - compiled_input: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + anyOf: + - items: + additionalProperties: false type: object - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - policy_template: - type: string - streams: - items: - additionalProperties: false - type: object - properties: - compiled_stream: {} - config: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object - data_stream: + properties: + compiled_input: {} + config: + additionalProperties: additionalProperties: false type: object properties: - dataset: + frozen: + type: boolean + type: type: string - elasticsearch: + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + enabled: + type: boolean + id: + type: string + keep_enabled: + type: boolean + policy_template: + type: string + streams: + items: + additionalProperties: false + type: object + properties: + compiled_stream: {} + config: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + data_stream: additionalProperties: false type: object properties: - dynamic_dataset: - type: boolean - dynamic_namespace: - type: boolean - privileges: + dataset: + type: string + elasticsearch: additionalProperties: false type: object properties: - indices: - items: - type: string - type: array - type: + dynamic_dataset: + type: boolean + dynamic_namespace: + type: boolean + privileges: + additionalProperties: false + type: object + properties: + indices: + items: + type: string + type: array + type: + type: string + required: + - dataset + - type + enabled: + type: boolean + id: type: string + keep_enabled: + type: boolean + release: + enum: + - ga + - beta + - experimental + type: string + vars: + additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object required: - - dataset - - type - enabled: - type: boolean - id: - type: string - keep_enabled: - type: boolean - release: - enum: - - ga - - beta - - experimental - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + - enabled + - data_stream + - compiled_stream + type: array + type: + type: string + vars: + additionalProperties: + additionalProperties: false type: object - required: - - enabled - - data_stream - - compiled_stream - type: array - type: - type: string - vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + required: + - type + - enabled + - streams + - compiled_input + type: array + - additionalProperties: + additionalProperties: false type: object - required: - - type - - enabled - - streams - - compiled_input - type: array + properties: + enabled: + description: enable or disable that input, (default to true) + type: boolean + streams: + additionalProperties: + additionalProperties: false + type: object + properties: + enabled: + description: enable or disable that stream, (default to true) + type: boolean + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Input streams (see integration documentation to know what streams are available) + type: object + vars: + additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + description: Package policy inputs (see integration documentation to know what inputs are available) + type: object + x-oas-optional: true is_managed: type: boolean name: @@ -18649,6 +19237,10 @@ paths: required: - id type: array + spaceIds: + items: + type: string + type: array supports_agentless: default: false description: Indicates whether the package policy belongs to an agentless agent policy. @@ -18659,19 +19251,45 @@ paths: updated_by: type: string vars: - additionalProperties: - additionalProperties: false - type: object - properties: - frozen: - type: boolean - type: - type: string - value: {} - required: - - value - description: Package variable (see integration documentation for more information) - type: object + anyOf: + - additionalProperties: + additionalProperties: false + type: object + properties: + frozen: + type: boolean + type: + type: string + value: {} + required: + - value + description: Package variable (see integration documentation for more information) + type: object + - additionalProperties: + anyOf: + - type: boolean + - type: string + - type: number + - items: + type: string + type: array + - items: + type: number + type: array + - additionalProperties: false + type: object + properties: + id: + type: string + isSecretRef: + type: boolean + required: + - id + - isSecretRef + nullable: true + description: Input/stream level variable (see integration documentation for more information) + type: object + x-oas-optional: true version: type: string required: diff --git a/x-pack/platform/plugins/shared/fleet/common/constants/agentless.ts b/x-pack/platform/plugins/shared/fleet/common/constants/agentless.ts index 297f3d31edc74..3b231762ec7d8 100644 --- a/x-pack/platform/plugins/shared/fleet/common/constants/agentless.ts +++ b/x-pack/platform/plugins/shared/fleet/common/constants/agentless.ts @@ -7,11 +7,16 @@ import type { MonitoringType } from '../types'; +import { outputType } from './output'; + export const AGENTLESS_AGENT_POLICY_INACTIVITY_TIMEOUT = 3600; export const AGENTLESS_AGENT_POLICY_MONITORING: MonitoringType = ['logs', 'metrics']; export const AGENTLESS_GLOBAL_TAG_NAME_ORGANIZATION = 'organization'; export const AGENTLESS_GLOBAL_TAG_NAME_DIVISION = 'division'; export const AGENTLESS_GLOBAL_TAG_NAME_TEAM = 'team'; +// Allowed output types for agentless integrations +export const AGENTLESS_ALLOWED_OUTPUT_TYPES = [outputType.Elasticsearch]; + // Input types to disable for agentless integrations export const AGENTLESS_DISABLED_INPUTS = ['tcp', 'udp', 'filestream', 'http_endpoint', 'winlog']; diff --git a/x-pack/platform/plugins/shared/fleet/common/services/index.ts b/x-pack/platform/plugins/shared/fleet/common/services/index.ts index ce82633174fb3..214e687a49f44 100644 --- a/x-pack/platform/plugins/shared/fleet/common/services/index.ts +++ b/x-pack/platform/plugins/shared/fleet/common/services/index.ts @@ -66,7 +66,7 @@ export { mapPackageReleaseToIntegrationCardRelease, } from './package_prerelease'; -export { getAllowedOutputTypeForPolicy } from './output_helpers'; +export { getAllowedOutputTypesForAgentPolicy } from './output_helpers'; export { agentStatusesToSummary } from './agent_statuses_to_summary'; export { diff --git a/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.test.ts b/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.test.ts index 99778c761630e..7394742d209a4 100644 --- a/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.test.ts +++ b/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.test.ts @@ -8,13 +8,13 @@ import { load } from 'js-yaml'; import { - getAllowedOutputTypeForPolicy, + getAllowedOutputTypesForAgentPolicy, outputYmlIncludesReservedPerformanceKey, } from './output_helpers'; -describe('getAllowedOutputTypeForPolicy', () => { +describe('getAllowedOutputTypesForAgentPolicy', () => { it('should return all available output type for an agent policy without APM and Fleet Server', () => { - const res = getAllowedOutputTypeForPolicy({ + const res = getAllowedOutputTypesForAgentPolicy({ package_policies: [ { package: { name: 'nginx' }, @@ -22,12 +22,15 @@ describe('getAllowedOutputTypeForPolicy', () => { ], } as any); + expect(res).toHaveLength(4); expect(res).toContain('elasticsearch'); expect(res).toContain('logstash'); + expect(res).toContain('kafka'); + expect(res).toContain('remote_elasticsearch'); }); it('should return only elasticsearch for an agent policy with APM', () => { - const res = getAllowedOutputTypeForPolicy({ + const res = getAllowedOutputTypesForAgentPolicy({ package_policies: [ { package: { name: 'apm' }, @@ -39,7 +42,7 @@ describe('getAllowedOutputTypeForPolicy', () => { }); it('should return only elasticsearch for an agent policy with Fleet Server', () => { - const res = getAllowedOutputTypeForPolicy({ + const res = getAllowedOutputTypesForAgentPolicy({ package_policies: [ { package: { name: 'fleet_server' }, @@ -49,6 +52,32 @@ describe('getAllowedOutputTypeForPolicy', () => { expect(res).toEqual(['elasticsearch']); }); + + it('should return only elasticsearch for an agentless agent policy', () => { + const res = getAllowedOutputTypesForAgentPolicy({ supports_agentless: true } as any); + + expect(res).toEqual(['elasticsearch']); + }); +}); + +describe('getAllowedOutputTypesForPackagePolicy', () => { + it('should return all available output type for a package policy without agentless support', () => { + const res = getAllowedOutputTypesForAgentPolicy({ + package_policies: [ + { + package: { name: 'nginx' }, + }, + ], + } as any); + + expect(res).toHaveLength(4); + }); + + it('should return only elasticsearch for a package policy with agentless support', () => { + const res = getAllowedOutputTypesForAgentPolicy({ supports_agentless: true } as any); + + expect(res).toEqual(['elasticsearch']); + }); }); describe('outputYmlIncludesReservedPerformanceKey', () => { diff --git a/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.ts b/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.ts index 998a357d57976..e664495d327f3 100644 --- a/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.ts +++ b/x-pack/platform/plugins/shared/fleet/common/services/output_helpers.ts @@ -9,7 +9,7 @@ import { isObject } from 'lodash'; import { getFlattenedObject } from '@kbn/std'; -import type { AgentPolicy, OutputType, ValueOf } from '../types'; +import type { AgentPolicy, PackagePolicy, OutputType, ValueOf } from '../types'; import { FLEET_APM_PACKAGE, FLEET_SERVER_PACKAGE, @@ -17,6 +17,7 @@ import { outputType, OUTPUT_TYPES_WITH_PRESET_SUPPORT, RESERVED_CONFIG_YML_KEYS, + AGENTLESS_ALLOWED_OUTPUT_TYPES, } from '../constants'; const sameClusterRestrictedPackages = [ @@ -29,7 +30,7 @@ const sameClusterRestrictedPackages = [ * Return allowed output type for a given agent policy, * Fleet Server and APM cannot use anything else than same cluster ES */ -export function getAllowedOutputTypeForPolicy(agentPolicy: AgentPolicy): string[] { +export function getAllowedOutputTypesForAgentPolicy(agentPolicy: Partial): string[] { const isRestrictedToSameClusterES = agentPolicy.package_policies && agentPolicy.package_policies.some( @@ -40,14 +41,33 @@ export function getAllowedOutputTypeForPolicy(agentPolicy: AgentPolicy): string[ return [outputType.Elasticsearch]; } + if (agentPolicy.supports_agentless) { + return AGENTLESS_ALLOWED_OUTPUT_TYPES; + } + return Object.values(outputType); } -export function getAllowedOutputTypesForIntegration(packageName: string): string[] { - const isRestrictedToSameClusterES = sameClusterRestrictedPackages.includes(packageName); +/** + * Return allowed output type for a given package policy + */ +export function getAllowedOutputTypesForPackagePolicy( + packagePolicy: Pick +): string[] { + if (packagePolicy.supports_agentless) { + return AGENTLESS_ALLOWED_OUTPUT_TYPES; + } - if (isRestrictedToSameClusterES) { - return [outputType.Elasticsearch]; + return Object.values(outputType); +} + +export function getAllowedOutputTypesForIntegration(packageName?: string): string[] { + if (packageName) { + const isRestrictedToSameClusterES = sameClusterRestrictedPackages.includes(packageName); + + if (isRestrictedToSameClusterES) { + return [outputType.Elasticsearch]; + } } return Object.values(outputType); diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx index 599603d9d5f6a..0f3f7356733dd 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.test.tsx @@ -43,18 +43,28 @@ const mockApiCallsWithOutputs = (http: MockedFleetStartServices['http']) => { name: 'Output 1', is_default: true, is_default_monitoring: true, + type: 'elasticsearch', }, { id: 'output2', name: 'Output 2', is_default: false, is_default_monitoring: false, + type: 'remote_elasticsearch', }, { id: 'output3', name: 'Output 3', is_default: false, is_default_monitoring: false, + type: 'logstash', + }, + { + id: 'output4', + name: 'Output 4', + is_default: false, + is_default_monitoring: false, + type: 'kafka', }, ], }, @@ -198,91 +208,30 @@ describe('useOutputOptions', () => { expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { - "disabled": undefined, + "disabled": false, "inputDisplay": "Default (currently Output 1)", "value": "@@##DEFAULT_SELECT##@@", }, Object { - "disabled": true, - "inputDisplay": - - Output 1 - - - - - - , + "disabled": false, + "inputDisplay": "Output 1", "value": "output1", }, Object { - "disabled": true, - "inputDisplay": - - Output 2 - - - - - - , + "disabled": false, + "inputDisplay": "Output 2", "value": "output2", }, Object { - "disabled": true, - "inputDisplay": - - Output 3 - - - - - - , + "disabled": false, + "inputDisplay": "Output 3", "value": "output3", }, + Object { + "disabled": false, + "inputDisplay": "Output 4", + "value": "output4", + }, ] `); expect(result.current.monitoringOutputOptions).toMatchInlineSnapshot(` @@ -307,6 +256,11 @@ describe('useOutputOptions', () => { "inputDisplay": "Output 3", "value": "output3", }, + Object { + "disabled": false, + "inputDisplay": "Output 4", + "value": "output4", + }, ] `); }); @@ -324,91 +278,30 @@ describe('useOutputOptions', () => { expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` Array [ Object { - "disabled": undefined, + "disabled": false, "inputDisplay": "Default (currently Output 1)", "value": "@@##DEFAULT_SELECT##@@", }, Object { "disabled": true, - "inputDisplay": - - Output 1 - - - - - - , + "inputDisplay": "Output 1", "value": "output1", }, Object { "disabled": true, - "inputDisplay": - - Output 2 - - - - - - , + "inputDisplay": "Output 2", "value": "output2", }, Object { "disabled": true, - "inputDisplay": - - Output 3 - - - - - - , + "inputDisplay": "Output 3", "value": "output3", }, + Object { + "disabled": true, + "inputDisplay": "Output 4", + "value": "output4", + }, ] `); expect(result.current.monitoringOutputOptions).toMatchInlineSnapshot(` @@ -433,6 +326,11 @@ describe('useOutputOptions', () => { "inputDisplay": "Output 3", "value": "output3", }, + Object { + "disabled": true, + "inputDisplay": "Output 4", + "value": "output4", + }, ] `); }); @@ -524,7 +422,7 @@ describe('useOutputOptions', () => { size="s" > { size="s" > { ] `); }); + + it('should only enable elasticsearch data output for agentless policy', async () => { + const testRenderer = createFleetTestRendererMock(); + mockedUseLicence.mockReturnValue({ + hasAtLeast: () => true, + } as unknown as LicenseService); + mockApiCallsWithOutputs(testRenderer.startServices.http); + const { result } = testRenderer.renderHook(() => + useOutputOptions({ + supports_agentless: true, + } as AgentPolicy) + ); + expect(result.current.isLoading).toBeTruthy(); + await waitFor(() => new Promise((resolve) => resolve(null))); + expect(result.current.dataOutputOptions).toMatchInlineSnapshot(` + Array [ + Object { + "disabled": false, + "inputDisplay": "Default (currently Output 1)", + "value": "@@##DEFAULT_SELECT##@@", + }, + Object { + "disabled": false, + "inputDisplay": "Output 1", + "value": "output1", + }, + Object { + "disabled": true, + "inputDisplay": + + Output 2 + + + + + + , + "value": "output2", + }, + Object { + "disabled": true, + "inputDisplay": + + Output 3 + + + + + + , + "value": "output3", + }, + Object { + "disabled": true, + "inputDisplay": + + Output 4 + + + + + + , + "value": "output4", + }, + ] + `); + }); }); describe('useFleetServerHostsOptions', () => { diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx index 7409f75a593dd..68204e8c1ac60 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/components/agent_policy_advanced_fields/hooks.tsx @@ -18,7 +18,7 @@ import { } from '../../../../hooks'; import { LICENCE_FOR_PER_POLICY_OUTPUT } from '../../../../../../../common/constants'; import { - getAllowedOutputTypeForPolicy, + getAllowedOutputTypesForAgentPolicy, policyHasFleetServer, policyHasSyntheticsIntegration, } from '../../../../../../../common/services'; @@ -64,12 +64,13 @@ export function useOutputOptions(agentPolicy: Partial getAllowedOutputTypeForPolicy(agentPolicy as AgentPolicy), + () => getAllowedOutputTypesForAgentPolicy(agentPolicy as AgentPolicy), [agentPolicy] ); @@ -90,7 +91,7 @@ export function useOutputOptions(agentPolicy: Partial = const licenseService = useLicense(); const [isUninstallCommandFlyoutOpen, setIsUninstallCommandFlyoutOpen] = useState(false); const policyHasElasticDefend = useMemo(() => hasElasticDefend(agentPolicy), [agentPolicy]); - const isManagedorAgentlessPolicy = - agentPolicy.is_managed === true || agentPolicy?.supports_agentless === true; + const isManagedPolicy = agentPolicy.is_managed === true; + const isManagedorAgentlessPolicy = isManagedPolicy || agentPolicy?.supports_agentless === true; const userHasAccessToAllPolicySpaces = useMemo( () => ('space_ids' in agentPolicy ? !agentPolicy.space_ids?.includes(UNKNOWN_SPACE) : true), @@ -656,7 +656,7 @@ export const AgentPolicyAdvancedOptionsContent: React.FunctionComponent = isDisabled={disabled} > , + packageName: string +) { const licenseService = useLicense(); const canUseOutputPerIntegration = licenseService.hasAtLeast(LICENCE_FOR_OUTPUT_PER_INTEGRATION); const { data: outputsData, isLoading } = useGetOutputs(); - const allowedOutputTypes = getAllowedOutputTypesForIntegration(packageName); + const allowedOutputTypes = getAllowedOutputTypesForPackagePolicy(packagePolicy); const allowedOutputs = useMemo(() => { if (!outputsData || !canUseOutputPerIntegration) { return []; diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_define_package_policy.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_define_package_policy.tsx index 43c3f8092e921..f49d07f23ab13 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_define_package_policy.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/step_define_package_policy.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { memo, useState } from 'react'; +import React, { memo, useState, useEffect } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { @@ -88,7 +88,25 @@ export const StepDefinePackagePolicy: React.FunctionComponent<{ isLoading: isOutputsLoading, canUseOutputPerIntegration, allowedOutputs, - } = useOutputs(packageInfo.name); + } = useOutputs(packagePolicy, packageInfo.name); + + // Reset output if switching to agentless and the current + // selected output is not allowed + useEffect(() => { + if (packagePolicy.supports_agentless && packagePolicy.output_id) { + const currentOutput = allowedOutputs.find((o) => o.id === packagePolicy.output_id); + if (!currentOutput) { + updatePackagePolicy({ + output_id: null, + }); + } + } + }, [ + packagePolicy.supports_agentless, + packagePolicy.output_id, + allowedOutputs, + updatePackagePolicy, + ]); // Managed policy const isManaged = packagePolicy.is_managed; diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/hooks/navigation.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/hooks/navigation.tsx index 8b9ca7886d236..786762e9f68c7 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/hooks/navigation.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/hooks/navigation.tsx @@ -14,7 +14,6 @@ import { useStartServices, useLink, useIntraAppState } from '../../../../hooks'; import type { CreatePackagePolicyRouteState, PackagePolicy, - NewPackagePolicy, OnSaveQueryParamKeys, } from '../../../../types'; import type { EditPackagePolicyFrom } from '../types'; @@ -60,13 +59,12 @@ export const useCancelAddPackagePolicy = (params: UseCancelParams) => { }; interface UseOnSaveNavigateParams { - packagePolicy: NewPackagePolicy; routeState?: CreatePackagePolicyRouteState; queryParamsPolicyId?: string; } export const useOnSaveNavigate = (params: UseOnSaveNavigateParams) => { - const { packagePolicy, queryParamsPolicyId } = params; + const { queryParamsPolicyId } = params; const routeState = useIntraAppState(); const doOnSaveNavigation = useRef(true); const { getPath } = useLink(); @@ -87,14 +85,15 @@ export const useOnSaveNavigate = (params: UseOnSaveNavigateParams) => { if (!doOnSaveNavigation.current) { return; } - const hasNoAgentPolicies = packagePolicy.policy_ids.length === 0; - const packagePolicyPath = hasNoAgentPolicies - ? getPath('integration_details_policies', { - pkgkey: pkgKeyFromPackageInfo(packagePolicy.package!), - }) - : getPath('policy_details', { - policyId: packagePolicy.policy_ids[0], // TODO navigates to first policy - }); + const hasNoAgentPolicies = policy.policy_ids.length === 0; + const packagePolicyPath = + hasNoAgentPolicies || policy.supports_agentless + ? getPath('integration_details_policies', { + pkgkey: pkgKeyFromPackageInfo(policy.package!), + }) + : getPath('policy_details', { + policyId: policy.policy_ids[0], // TODO navigates to first policy + }); const [onSaveNavigateTo, onSaveQueryParams]: [ Parameters, CreatePackagePolicyRouteState['onSaveQueryParams'] @@ -102,7 +101,7 @@ export const useOnSaveNavigate = (params: UseOnSaveNavigateParams) => { ? [routeState.onSaveNavigateTo, routeState?.onSaveQueryParams] : [ [ - hasNoAgentPolicies ? INTEGRATIONS_PLUGIN_ID : PLUGIN_ID, + hasNoAgentPolicies || policy.supports_agentless ? INTEGRATIONS_PLUGIN_ID : PLUGIN_ID, { path: packagePolicyPath, }, @@ -129,8 +128,6 @@ export const useOnSaveNavigate = (params: UseOnSaveNavigateParams) => { } }, [ - packagePolicy.policy_ids, - packagePolicy.package, getPath, routeState?.onSaveNavigateTo, routeState?.onSaveQueryParams, diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.tsx index 51bee8b7a7ff1..1c4f0791dafcc 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/form.tsx @@ -307,7 +307,6 @@ export function useOnSubmit({ useSetupTechnology({ newAgentPolicy, setNewAgentPolicy, - updateAgentPolicies, updatePackagePolicy, setSelectedPolicyTab, packageInfo, @@ -340,7 +339,6 @@ export function useOnSubmit({ }, [newInputs, prevSetupTechnology, selectedSetupTechnology, updatePackagePolicy, packagePolicy]); const onSaveNavigate = useOnSaveNavigate({ - packagePolicy, queryParamsPolicyId, }); diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.test.ts b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.test.ts index 2f6d87e5c1db7..3b21b88e492fa 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.test.ts +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.test.ts @@ -114,7 +114,6 @@ describe('useAgentless', () => { describe('useSetupTechnology', () => { const setNewAgentPolicy = jest.fn(); - const updateAgentPoliciesMock = jest.fn(); const updatePackagePolicyMock = jest.fn(); const setSelectedPolicyTabMock = jest.fn(); const newAgentPolicyMock = { @@ -233,7 +232,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -261,7 +259,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, isEditPage: true, @@ -291,7 +288,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -331,7 +327,6 @@ describe('useSetupTechnology', () => { const initialProps = { setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -357,7 +352,6 @@ describe('useSetupTechnology', () => { rerender({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: { ...packagePolicyMock, @@ -388,7 +382,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -423,7 +416,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -457,7 +449,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -497,7 +488,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoMock, @@ -567,7 +557,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoMock, @@ -614,7 +603,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoWithoutResources, @@ -654,7 +642,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoWithoutAgentless, @@ -694,7 +681,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoMock, @@ -767,7 +753,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoWithoutGlobalDataTags, @@ -842,7 +827,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoWithoutGlobalDataTags, @@ -889,7 +873,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, updatePackagePolicy: updatePackagePolicyMock, @@ -935,7 +918,6 @@ describe('useSetupTechnology', () => { useSetupTechnology({ setNewAgentPolicy, newAgentPolicy: newAgentPolicyMock, - updateAgentPolicies: updateAgentPoliciesMock, setSelectedPolicyTab: setSelectedPolicyTabMock, packagePolicy: packagePolicyMock, packageInfo: packageInfoMock, diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.ts b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.ts index b8ae5c77d5815..7f519450eaa90 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.ts +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/single_page_layout/hooks/setup_technology.ts @@ -62,7 +62,6 @@ export const useAgentless = () => { export function useSetupTechnology({ setNewAgentPolicy, newAgentPolicy, - updateAgentPolicies, updatePackagePolicy, setSelectedPolicyTab, packageInfo, @@ -72,7 +71,6 @@ export function useSetupTechnology({ }: { setNewAgentPolicy: (policy: NewAgentPolicy) => void; newAgentPolicy: NewAgentPolicy; - updateAgentPolicies: (policies: AgentPolicy[]) => void; updatePackagePolicy: (policy: Partial) => void; setSelectedPolicyTab: (tab: SelectedPolicyTab) => void; packageInfo?: PackageInfo; @@ -139,7 +137,6 @@ export function useSetupTechnology({ setCurrentAgentPolicy(nextNewAgentlessPolicy); setNewAgentPolicy(nextNewAgentlessPolicy as NewAgentPolicy); - updateAgentPolicies([nextNewAgentlessPolicy] as AgentPolicy[]); updatePackagePolicy({ supports_agentless: true, }); @@ -156,7 +153,6 @@ export function useSetupTechnology({ }; setCurrentAgentPolicy(nextNewAgentlessPolicy); setNewAgentPolicy(nextNewAgentlessPolicy); - updateAgentPolicies([nextNewAgentlessPolicy] as AgentPolicy[]); updatePackagePolicy({ supports_agentless: false, }); diff --git a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy_steps.tsx b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy_steps.tsx index 56f6a747dd574..9b7f091c71249 100644 --- a/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy_steps.tsx +++ b/x-pack/platform/plugins/shared/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/hooks/use_package_policy_steps.tsx @@ -133,7 +133,6 @@ export function usePackagePolicySteps({ const { selectedSetupTechnology } = useSetupTechnology({ newAgentPolicy, setNewAgentPolicy, - updateAgentPolicies, updatePackagePolicy, setSelectedPolicyTab, packagePolicy, diff --git a/x-pack/platform/plugins/shared/fleet/server/routes/package_policy/handlers.ts b/x-pack/platform/plugins/shared/fleet/server/routes/package_policy/handlers.ts index 79cf887ad0587..0e537c90d06c0 100644 --- a/x-pack/platform/plugins/shared/fleet/server/routes/package_policy/handlers.ts +++ b/x-pack/platform/plugins/shared/fleet/server/routes/package_policy/handlers.ts @@ -392,6 +392,7 @@ export const updatePackagePolicyHandler: FleetRequestHandler< package: pkg ?? packagePolicy.package, inputs: restOfBody.inputs ?? packagePolicyInputs, vars: restOfBody.vars ?? packagePolicy.vars, + supports_agentless: restOfBody.supports_agentless ?? packagePolicy.supports_agentless, } as NewPackagePolicy; if (overrides) { diff --git a/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/output_helpers.test.ts b/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/output_helpers.test.ts index 0afef0170a99f..dd772f4bfbe84 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/output_helpers.test.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/output_helpers.test.ts @@ -268,6 +268,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { data_output_id: 'test1', monitoring_output_id: 'test1', } as any, + {} as any, 'fleet_server' ) ).rejects.toThrow( @@ -281,6 +282,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { data_output_id: 'test1', monitoring_output_id: 'test1', } as any, + {} as any, 'fleet_server', false ) @@ -302,6 +304,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { data_output_id: 'test1', monitoring_output_id: 'test1', } as any, + {} as any, 'apm' ) ).rejects.toThrow( @@ -315,6 +318,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { data_output_id: 'test1', monitoring_output_id: 'test1', } as any, + {} as any, 'apm', false ) @@ -335,6 +339,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { { name: 'Agent policy', } as any, + {} as any, 'synthetics' ) ).rejects.toThrow( @@ -353,6 +358,7 @@ describe('validateAgentPolicyOutputForIntegration', () => { { name: 'Agent policy', } as any, + {} as any, 'nginx' ); }); @@ -368,7 +374,30 @@ describe('validateAgentPolicyOutputForIntegration', () => { { name: 'Agent policy', } as any, + {} as any, 'fleet_server' ); }); + + it('should not allow non-local ES output to be added or edited to an agentless policy', async () => { + mockHasLicence(true); + mockedOutputService.get.mockResolvedValue({ + type: 'logstash', + } as any); + mockedOutputService.getDefaultDataOutputId.mockResolvedValue('default'); + await expect( + validateAgentPolicyOutputForIntegration( + savedObjectsClientMock.create(), + { + name: 'Agent policy', + } as any, + { + supports_agentless: true, + } as any, + 'some_package' + ) + ).rejects.toThrow( + 'Integration "some_package" cannot be added to agent policy "Agent policy" because it uses output type "logstash".' + ); + }); }); diff --git a/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/outputs_helpers.ts b/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/outputs_helpers.ts index 66f45427601e6..f2176604edf5e 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/outputs_helpers.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/agent_policies/outputs_helpers.ts @@ -7,9 +7,12 @@ import type { SavedObjectsClientContract } from '@kbn/core/server'; -import { getAllowedOutputTypesForIntegration } from '../../../common/services/output_helpers'; +import { + getAllowedOutputTypesForIntegration, + getAllowedOutputTypesForPackagePolicy, +} from '../../../common/services/output_helpers'; -import type { AgentPolicySOAttributes, AgentPolicy } from '../../types'; +import type { AgentPolicySOAttributes, AgentPolicy, PackagePolicy } from '../../types'; import { LICENCE_FOR_PER_POLICY_OUTPUT, outputType } from '../../../common/constants'; import { policyHasFleetServer, policyHasSyntheticsIntegration } from '../../../common/services'; import { appContextService } from '..'; @@ -99,10 +102,15 @@ export async function validateOutputForPolicy( export async function validateAgentPolicyOutputForIntegration( soClient: SavedObjectsClientContract, agentPolicy: AgentPolicy, + packagePolicy: Pick, packageName: string, isNewPackagePolicy: boolean = true ) { - const allowedOutputTypeForPolicy = getAllowedOutputTypesForIntegration(packageName); + const allowedOutputTypeForIntegration = getAllowedOutputTypesForIntegration(packageName); + const allowedOutputTypeForPackagePolicy = getAllowedOutputTypesForPackagePolicy(packagePolicy); + const allowedOutputTypeForPolicy = allowedOutputTypeForIntegration.filter((type) => + allowedOutputTypeForPackagePolicy.includes(type) + ); const isOutputTypeRestricted = allowedOutputTypeForPolicy.length !== Object.values(outputType).length; diff --git a/x-pack/platform/plugins/shared/fleet/server/services/agent_policy.ts b/x-pack/platform/plugins/shared/fleet/server/services/agent_policy.ts index 0fbb8886f1d61..7fcec4e5653ce 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/agent_policy.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/agent_policy.ts @@ -31,7 +31,7 @@ import type { SavedObjectError } from '@kbn/core-saved-objects-common'; import { withSpan } from '@kbn/apm-utils'; import { - getAllowedOutputTypeForPolicy, + getAllowedOutputTypesForAgentPolicy, packageToPackagePolicy, policyHasAPMIntegration, policyHasEndpointSecurity, @@ -221,7 +221,7 @@ class AgentPolicyService { soClient, agentPolicy, existingAgentPolicy, - getAllowedOutputTypeForPolicy(existingAgentPolicy) + getAllowedOutputTypesForAgentPolicy({ ...existingAgentPolicy, ...agentPolicy }) ); } await soClient.update(savedObjectType, id, { @@ -412,7 +412,12 @@ class AgentPolicyService { spaceId: soClient.getCurrentNamespace(), namespace: agentPolicy.namespace, }); - await validateOutputForPolicy(soClient, agentPolicy); + await validateOutputForPolicy( + soClient, + agentPolicy, + {}, + getAllowedOutputTypesForAgentPolicy(agentPolicy) + ); validateRequiredVersions(agentPolicy.name, agentPolicy.required_versions); const newSo = await soClient.create( @@ -961,7 +966,7 @@ class AgentPolicyService { soClient, getAgentPolicy(agentPolicy), existingAgentPolicy, - getAllowedOutputTypeForPolicy(existingAgentPolicy) + getAllowedOutputTypesForAgentPolicy(existingAgentPolicy) ); }, { diff --git a/x-pack/platform/plugins/shared/fleet/server/services/output.test.ts b/x-pack/platform/plugins/shared/fleet/server/services/output.test.ts index 3f10902d7aecf..addb48449e520 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/output.test.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/output.test.ts @@ -21,12 +21,18 @@ import { appContextService } from './app_context'; import { agentPolicyService } from './agent_policy'; import { packagePolicyService } from './package_policy'; import { auditLoggingService } from './audit_logging'; +import { findAgentlessPolicies } from './outputs/helpers'; jest.mock('./app_context'); jest.mock('./agent_policy'); jest.mock('./package_policy'); jest.mock('./audit_logging'); jest.mock('./secrets'); +jest.mock('./outputs/helpers'); + +const mockedFindAgentlessPolicies = findAgentlessPolicies as jest.MockedFunction< + typeof findAgentlessPolicies +>; const mockedAuditLoggingService = auditLoggingService as jest.Mocked; const mockedAppContextService = appContextService as jest.Mocked; @@ -316,6 +322,24 @@ describe('Output Service', () => { ], } as unknown as ReturnType; + const mockedAgentlessPolicyResolvedValue = { + items: [ + { + name: 'agentless policy', + id: 'agentless_policy', + supports_agentless: true, + package_policies: [ + { + name: 'elastic_connectors', + package: { + name: 'elastic_connectors', + }, + }, + ], + }, + ], + } as unknown as ReturnType; + beforeEach(() => { mockedAgentPolicyService.getByIds.mockResolvedValue([]); mockedAgentPolicyService.list.mockClear(); @@ -332,6 +356,7 @@ describe('Output Service', () => { mockedPackagePolicyService.list.mockResolvedValue({ items: [], } as any); + mockedFindAgentlessPolicies.mockResolvedValue([]); }); afterEach(() => { @@ -753,6 +778,44 @@ describe('Output Service', () => { ); }); + it('should update agentless policies with data_output_id=default_output_id if a new default logstash output is created', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ + canEncrypt: true, + } as any); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + mockedAgentPolicyService.getByIds.mockResolvedValue( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.create( + soClient, + esClientMock, + { + is_default: true, + is_default_monitoring: false, + name: 'Test', + type: 'logstash', + }, + { id: 'output-1' } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + it('should allow to create a new logstash output with no errors if is not set as default', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -910,6 +973,44 @@ describe('Output Service', () => { ); }); + it('should update agentless policies with data_output_id=default_output_id if a new default kafka output is created', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ + canEncrypt: true, + } as any); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + mockedAgentPolicyService.getByIds.mockResolvedValue( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.create( + soClient, + esClientMock, + { + is_default: true, + is_default_monitoring: false, + name: 'Test', + type: 'kafka', + }, + { id: 'output-1' } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + it('should allow to create a new kafka output with no errors if is not set as default', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -937,6 +1038,43 @@ describe('Output Service', () => { }); describe('remote elasticsearch output', () => { + it('should update agentless policies with data_output_id=default_output_id if a new default remote es output is created', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAppContextService.getEncryptedSavedObjectsSetup.mockReturnValue({ + canEncrypt: true, + } as any); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + mockedAgentPolicyService.getByIds.mockResolvedValue( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.create( + soClient, + esClientMock, + { + is_default: true, + is_default_monitoring: false, + name: 'Test', + type: 'remote_elasticsearch', + }, + { id: 'output-1' } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); it('should not throw when a remote es output is attempted to be created as default data output', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -1343,10 +1481,10 @@ describe('Output Service', () => { mockedAgentPolicyService.list.mockResolvedValue( mockedAgentPolicyWithFleetServerResolvedValue ); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); mockedPackagePolicyService.list.mockResolvedValue( mockedPackagePolicyWithFleetServerResolvedValue ); - mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(true); await outputService.update(soClient, esClientMock, 'output-test', { type: 'logstash', @@ -1484,6 +1622,80 @@ describe('Output Service', () => { ); }); + it('should update agentless policies with data_output_id=default_output_id if a default ES output is changed to logstash', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update(soClient, esClientMock, 'output-test', { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + }); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + + it('should update agentless policies with data_output_id=default_output_id and force=true if a default ES output is changed to logstash, from preconfiguration', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update( + soClient, + esClientMock, + 'output-test', + { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + }, + { + fromPreconfiguration: true, + } + ); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'logstash', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: true } + ); + }); + it('Should return an error if trying to change the output to logstash for fleet server policy', async () => { const soClient = getMockedSoClient({}); mockedAgentPolicyService.list.mockResolvedValue( @@ -1523,6 +1735,24 @@ describe('Output Service', () => { ); }); + it('Should return an error if trying to change the output to logstash for agentless policy', async () => { + const soClient = getMockedSoClient({}); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + await expect( + outputService.update(soClient, esClientMock, 'existing-es-output', { + type: 'logstash', + hosts: ['test:4343'], + }) + ).rejects.toThrowError( + 'Logstash output cannot be used with agentless integration in agentless policy. Please create a new Elasticsearch output.' + ); + }); + it('should call audit logger', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'existing-es-output' }); @@ -1807,6 +2037,123 @@ describe('Output Service', () => { ); }); + it('should update agentless policies with data_output_id=default_output_id if a default ES output is changed to kafka', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update(soClient, esClientMock, 'output-test', { + type: 'kafka', + hosts: ['test:4343'], + is_default: true, + }); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'kafka', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + password: null, + username: null, + ssl: null, + sasl: null, + client_id: 'Elastic', + compression: 'gzip', + compression_level: 4, + partition: 'hash', + timeout: 30, + version: '1.0.0', + broker_timeout: 10, + required_acks: 1, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + + it('should update agentless policies with data_output_id=default_output_id and force=true if a default ES output is changed to kafka, from preconfiguration', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update( + soClient, + esClientMock, + 'output-test', + { + type: 'kafka', + hosts: ['test:4343'], + is_default: true, + }, + { + fromPreconfiguration: true, + } + ); + + expect(soClient.update).toBeCalledWith(expect.anything(), expect.anything(), { + type: 'kafka', + hosts: ['test:4343'], + is_default: true, + ca_sha256: null, + ca_trusted_fingerprint: null, + password: null, + username: null, + ssl: null, + sasl: null, + client_id: 'Elastic', + compression: 'gzip', + compression_level: 4, + partition: 'hash', + timeout: 30, + version: '1.0.0', + broker_timeout: 10, + required_acks: 1, + }); + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: true } + ); + }); + + it('Should return an error if trying to change the output to kafka for agentless policy', async () => { + const soClient = getMockedSoClient({}); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + await expect( + outputService.update(soClient, esClientMock, 'existing-es-output', { + type: 'kafka', + hosts: ['test:4343'], + }) + ).rejects.toThrowError( + 'Kafka output cannot be used with agentless integration in agentless policy. Please create a new Elasticsearch output.' + ); + }); + + // remote ES it('should not throw when a remote es output is attempted to be updated as default data output', async () => { const soClient = getMockedSoClient({ defaultOutputId: 'output-test', @@ -1839,6 +2186,81 @@ describe('Output Service', () => { service_token: null, }); }); + + it('should update agentless policies with data_output_id=default_output_id if a default ES output is changed to remote ES', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update(soClient, esClientMock, 'output-test', { + type: 'remote_elasticsearch', + is_default: true, + }); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: false } + ); + }); + + it('should update agentless policies with data_output_id=default_output_id and force=true if a default ES output is changed to remote ES, from preconfiguration', async () => { + const soClient = getMockedSoClient({ + defaultOutputId: 'output-test', + }); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + + await outputService.update( + soClient, + esClientMock, + 'output-test', + { + type: 'remote_elasticsearch', + is_default: true, + }, + { + fromPreconfiguration: true, + } + ); + + expect(mockedAgentPolicyService.update).toBeCalledWith( + expect.anything(), + expect.anything(), + 'agentless_policy', + { data_output_id: 'output-test' }, + { force: true } + ); + }); + + it('Should return an error if trying to change the output to remote es for agentless policy', async () => { + const soClient = getMockedSoClient({}); + mockedAgentPolicyService.list.mockResolvedValue(mockedAgentlessPolicyResolvedValue); + mockedAgentPolicyService.hasFleetServerIntegration.mockReturnValue(false); + mockedAgentPolicyService.hasSyntheticsIntegration.mockReturnValue(false); + mockedFindAgentlessPolicies.mockResolvedValueOnce( + (await mockedAgentlessPolicyResolvedValue).items + ); + await expect( + outputService.update(soClient, esClientMock, 'existing-es-output', { + type: 'remote_elasticsearch', + }) + ).rejects.toThrowError( + 'Remote_elasticsearch output cannot be used with agentless integration in agentless policy. Please create a new Elasticsearch output.' + ); + }); }); describe('delete', () => { diff --git a/x-pack/platform/plugins/shared/fleet/server/services/output.ts b/x-pack/platform/plugins/shared/fleet/server/services/output.ts index f7f211862a896..a33ef9fc9e9fc 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/output.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/output.ts @@ -58,6 +58,7 @@ import { FLEET_SYNTHETICS_PACKAGE, FLEET_SERVER_PACKAGE, } from '../../common/constants'; +import type { ValueOf } from '../../common/types'; import { normalizeHostsForAgents } from '../../common/services'; import { FleetEncryptedSavedObjectEncryptionKeyRequired, @@ -80,6 +81,7 @@ import { extractAndWriteOutputSecrets, isOutputSecretStorageEnabled, } from './secrets'; +import { findAgentlessPolicies } from './outputs/helpers'; import { patchUpdateDataWithRequireEncryptedAADFields } from './outputs/so_helpers'; type Nullable = { [P in keyof T]: T[P] | null }; @@ -272,7 +274,7 @@ async function findPoliciesWithFleetServerOrSynthetics(outputId?: string, isDefa function validateOutputNotUsedInPolicy( agentPolicies: AgentPolicy[], - dataOutputType: OutputType['Logstash'] | OutputType['Kafka'], + dataOutputType: ValueOf, integrationName: string ) { // Validate no policy with this integration uses that output @@ -300,26 +302,30 @@ async function validateTypeChanges( const mergedIsDefault = data.is_default ?? originalOutput.is_default; const { policiesWithFleetServer, policiesWithSynthetics } = await findPoliciesWithFleetServerOrSynthetics(id, mergedIsDefault); + const agentlessPolicies = await findAgentlessPolicies(id); if (data.type === outputType.Logstash || originalOutput.type === outputType.Logstash) { await validateLogstashOutputNotUsedInAPMPolicy(id, mergedIsDefault); } - // prevent changing an ES output to logstash or kafka if it's used by fleet server or synthetics policies + // prevent changing an ES output to a non-local ES output if it's used by an invalid policy if ( originalOutput.type === outputType.Elasticsearch && - (data?.type === outputType.Logstash || data?.type === outputType.Kafka) + data?.type !== outputType.Elasticsearch && + data.type ) { - // Validate no policy with fleet server use that policy + // Validate no policy with fleet server, synthetics, or agentless policies use that output validateOutputNotUsedInPolicy(policiesWithFleetServer, data.type, 'Fleet Server'); validateOutputNotUsedInPolicy(policiesWithSynthetics, data.type, 'Synthetics'); + validateOutputNotUsedInPolicy(agentlessPolicies, data.type, 'agentless'); } + await updateAgentPoliciesDataOutputId( internalSoClientWithoutSpaceExtension, esClient, data, mergedIsDefault, defaultDataOutputId, - _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics]), + _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics, ...agentlessPolicies]), fromPreconfiguration ); } @@ -333,10 +339,10 @@ async function updateAgentPoliciesDataOutputId( agentPolicies: AgentPolicy[], fromPreconfiguration: boolean ) { - // if a logstash output is updated to become default - // if fleet server policies don't have data_output_id - // update them to use the default output - if ((data?.type === outputType.Logstash || data?.type === outputType.Kafka) && isDefault) { + // if a non-local ES output is about to be updated to become default + // and fleet server, synthetics, or agentless policies don't have + // data_output_id set, update them to use the current default output ID + if (data?.type !== outputType.Elasticsearch && isDefault) { for (const policy of agentPolicies) { if (!policy.data_output_id) { await agentPolicyService.update( @@ -547,13 +553,14 @@ class OutputService { } const { policiesWithFleetServer, policiesWithSynthetics } = await findPoliciesWithFleetServerOrSynthetics(); + const agentlessPolicies = await findAgentlessPolicies(); await updateAgentPoliciesDataOutputId( soClient, esClient, data, data.is_default, defaultDataOutputId, - _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics]), + _.uniq([...policiesWithFleetServer, ...policiesWithSynthetics, ...agentlessPolicies]), options?.fromPreconfiguration ?? false ); diff --git a/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.test.ts b/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.test.ts new file mode 100644 index 0000000000000..7f84830908ff1 --- /dev/null +++ b/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.test.ts @@ -0,0 +1,49 @@ +/* + * 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 { agentPolicyService } from '../agent_policy'; +import { appContextService } from '../app_context'; + +import { findAgentlessPolicies } from './helpers'; + +jest.mock('../agent_policy'); +jest.mock('../app_context'); + +describe('findAgentlessPolicies', () => { + const mockInternalSoClient = {}; + const mockAgentlessPolicies = { + items: [ + { id: '1', data_output_id: 'output-1' }, + { id: '2', data_output_id: null }, + { id: '3', data_output_id: 'output-2' }, + ], + }; + + beforeEach(() => { + (appContextService.getInternalUserSOClientWithoutSpaceExtension as jest.Mock).mockReturnValue( + mockInternalSoClient + ); + (agentPolicyService.list as jest.Mock).mockResolvedValue(mockAgentlessPolicies); + }); + + afterEach(() => { + jest.clearAllMocks(); + }); + + it('should return agentless policies without data_output_id when outputId is not provided', async () => { + const result = await findAgentlessPolicies(); + expect(result).toEqual([{ id: '2', data_output_id: null }]); + }); + + it('should return agentless policies with the specified outputId or without data_output_id when outputId is provided', async () => { + const result = await findAgentlessPolicies('output-1'); + expect(result).toEqual([ + { id: '1', data_output_id: 'output-1' }, + { id: '2', data_output_id: null }, + ]); + }); +}); diff --git a/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.ts b/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.ts new file mode 100644 index 0000000000000..0293b7a267300 --- /dev/null +++ b/x-pack/platform/plugins/shared/fleet/server/services/outputs/helpers.ts @@ -0,0 +1,33 @@ +/* + * 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 { agentPolicyService } from '../agent_policy'; +import { appContextService } from '../app_context'; + +import { LEGACY_AGENT_POLICY_SAVED_OBJECT_TYPE } from '../../constants'; +import { SO_SEARCH_LIMIT } from '../../../common/constants'; + +// Returns agentless policies that may need their data output ID updated +// If outputId is provided, return agentless policies that use that output in addition +// to policies that don't have an output set +export async function findAgentlessPolicies(outputId?: string) { + const internalSoClientWithoutSpaceExtension = + appContextService.getInternalUserSOClientWithoutSpaceExtension(); + + const agentlessPolicies = await agentPolicyService.list(internalSoClientWithoutSpaceExtension, { + spaceId: '*', + perPage: SO_SEARCH_LIMIT, + kuery: `${LEGACY_AGENT_POLICY_SAVED_OBJECT_TYPE}.supports_agentless:true`, + }); + + if (outputId) { + return agentlessPolicies.items.filter( + (policy) => policy.data_output_id === outputId || !policy.data_output_id + ); + } else { + return agentlessPolicies.items.filter((policy) => !policy.data_output_id); + } +} diff --git a/x-pack/platform/plugins/shared/fleet/server/services/package_policies/utils.ts b/x-pack/platform/plugins/shared/fleet/server/services/package_policies/utils.ts index f3161881b912d..715a2a8c06236 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/package_policies/utils.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/package_policies/utils.ts @@ -12,7 +12,10 @@ import { LICENCE_FOR_OUTPUT_PER_INTEGRATION, LICENCE_FOR_MULTIPLE_AGENT_POLICIES, } from '../../../common/constants'; -import { getAllowedOutputTypesForIntegration } from '../../../common/services/output_helpers'; +import { + getAllowedOutputTypesForPackagePolicy, + getAllowedOutputTypesForIntegration, +} from '../../../common/services/output_helpers'; import type { PackagePolicy, NewPackagePolicy, @@ -61,11 +64,7 @@ export async function preflightCheckPackagePolicy( // If package policy has an output_id, check if it can be used if (packagePolicy.output_id && packagePolicy.package) { const { canUseOutputForIntegrationResult, errorMessage: outputForIntegrationErrorMessage } = - await canUseOutputForIntegration( - soClient, - packagePolicy.package.name, - packagePolicy.output_id - ); + await canUseOutputForIntegration(soClient, packagePolicy); if (!canUseOutputForIntegrationResult && outputForIntegrationErrorMessage) { throw new PackagePolicyOutputError(outputForIntegrationErrorMessage); } @@ -85,25 +84,34 @@ export function canUseMultipleAgentPolicies() { export async function canUseOutputForIntegration( soClient: SavedObjectsClientContract, - packageName: string, - outputId: string + packagePolicy: Pick ) { - const hasAllowedLicense = licenseService.hasAtLeast(LICENCE_FOR_OUTPUT_PER_INTEGRATION); - if (!hasAllowedLicense) { - return { - canUseOutputForIntegrationResult: false, - errorMessage: `Output per integration is only available with an ${LICENCE_FOR_OUTPUT_PER_INTEGRATION} license`, - }; - } + const outputId = packagePolicy.output_id; + const packageName = packagePolicy.package?.name; + + if (outputId) { + const hasAllowedLicense = licenseService.hasAtLeast(LICENCE_FOR_OUTPUT_PER_INTEGRATION); + if (!hasAllowedLicense) { + return { + canUseOutputForIntegrationResult: false, + errorMessage: `Output per integration is only available with an ${LICENCE_FOR_OUTPUT_PER_INTEGRATION} license`, + }; + } + + const allowedOutputTypesForIntegration = getAllowedOutputTypesForIntegration(packageName); + const allowedOutputTypesForPackagePolicy = getAllowedOutputTypesForPackagePolicy(packagePolicy); + const allowedOutputTypes = allowedOutputTypesForIntegration.filter((type) => + allowedOutputTypesForPackagePolicy.includes(type) + ); - const allowedOutputTypes = getAllowedOutputTypesForIntegration(packageName); - const output = await outputService.get(soClient, outputId); + const output = await outputService.get(soClient, outputId); - if (!allowedOutputTypes.includes(output.type)) { - return { - canUseOutputForIntegrationResult: false, - errorMessage: `Output type "${output.type}" is not usable with package "${packageName}"`, - }; + if (!allowedOutputTypes.includes(output.type)) { + return { + canUseOutputForIntegrationResult: false, + errorMessage: `Output type "${output.type}" is not usable with package "${packageName}"`, + }; + } } return { diff --git a/x-pack/platform/plugins/shared/fleet/server/services/package_policy.ts b/x-pack/platform/plugins/shared/fleet/server/services/package_policy.ts index 3f38f742de884..a8e4814ed4624 100644 --- a/x-pack/platform/plugins/shared/fleet/server/services/package_policy.ts +++ b/x-pack/platform/plugins/shared/fleet/server/services/package_policy.ts @@ -297,6 +297,7 @@ class PackagePolicyClientImpl implements PackagePolicyClient { await validateAgentPolicyOutputForIntegration( soClient, agentPolicy, + packagePolicy, enrichedPackagePolicy.package?.name ); } @@ -941,6 +942,7 @@ class PackagePolicyClientImpl implements PackagePolicyClient { const logger = appContextService.getLogger(); this.keepPolicyIdInSync(packagePolicyUpdate); + await preflightCheckPackagePolicy(soClient, packagePolicyUpdate); let enrichedPackagePolicy: UpdatePackagePolicy; let secretReferences: PolicySecretReference[] | undefined; @@ -948,7 +950,6 @@ class PackagePolicyClientImpl implements PackagePolicyClient { try { logger.debug(`Starting update of package policy ${id}`); - await preflightCheckPackagePolicy(soClient, packagePolicyUpdate); enrichedPackagePolicy = await packagePolicyService.runExternalCallbacks( 'packagePolicyUpdate', packagePolicyUpdate, @@ -2220,6 +2221,7 @@ class PackagePolicyClientImpl implements PackagePolicyClient { await validateAgentPolicyOutputForIntegration( soClient, agentPolicy, + packagePolicy, packagePolicy.package.name, false ); diff --git a/x-pack/platform/plugins/shared/fleet/server/types/models/agent_policy.ts b/x-pack/platform/plugins/shared/fleet/server/types/models/agent_policy.ts index c6e82b5395f06..7ecf181adbf3d 100644 --- a/x-pack/platform/plugins/shared/fleet/server/types/models/agent_policy.ts +++ b/x-pack/platform/plugins/shared/fleet/server/types/models/agent_policy.ts @@ -13,7 +13,7 @@ import { agentPolicyStatuses, dataTypes } from '../../../common/constants'; import { isValidNamespace } from '../../../common/services'; import { getSettingsAPISchema } from '../../services/form_settings'; -import { PackagePolicySchema } from './package_policy'; +import { PackagePolicySchema, PackagePolicyResponseSchema } from './package_policy'; export const AgentPolicyNamespaceSchema = schema.string({ minLength: 1, @@ -281,7 +281,7 @@ export const AgentPolicyResponseSchema = AgentPolicySchema.extends({ package_policies: schema.maybe( schema.oneOf([ schema.arrayOf(schema.string()), - schema.arrayOf(PackagePolicySchema, { + schema.arrayOf(PackagePolicyResponseSchema, { meta: { description: 'This field is present only when retrieving a single agent policy, or when retrieving a list of agent policies with the ?full=true parameter', diff --git a/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts b/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts index a48471c991f24..731901644fd5c 100644 --- a/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts +++ b/x-pack/test/fleet_api_integration/apis/agent_policy/agent_policy.ts @@ -47,6 +47,7 @@ export default function (providerContext: FtrProviderContext) { .send({ name: 'Test policy 1', namespace: 'default', + force: true, }) .expect(200); agentPolicyWithPPId = agentPolicyResponse.item.id; @@ -160,8 +161,7 @@ export default function (providerContext: FtrProviderContext) { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/203346 - describe.skip('POST /api/fleet/agent_policies', () => { + describe('POST /api/fleet/agent_policies', () => { let systemPkgVersion: string; before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); @@ -321,7 +321,7 @@ export default function (providerContext: FtrProviderContext) { expect(policyDocRes?.hits?.hits.length).to.eql(1); const source = policyDocRes?.hits?.hits[0]?._source as any; expect(source?.revision_idx).to.eql(1); - expect(source?.data?.inputs.length).to.eql(3); + expect(source?.data?.inputs.length).to.eql(4); }); it('should return a 400 with an empty namespace', async () => { @@ -615,6 +615,38 @@ export default function (providerContext: FtrProviderContext) { }, }); }); + + it('should return 400 if setting data output to non-local ES for agentless policy', async () => { + const { body: outputResponse } = await supertest + .post(`/api/fleet/outputs`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'logstash-output', + type: 'logstash', + hosts: ['test.fr:443'], + ssl: { + certificate: 'CERTIFICATE', + key: 'KEY', + certificate_authorities: ['CA1', 'CA2'], + }, + }) + .expect(200); + + const response = await supertest + .post(`/api/fleet/agent_policies?sys_monitoring=false`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'test-agentless-policy', + namespace: 'default', + supports_agentless: true, + data_output_id: outputResponse.item.id, + }) + .expect(400); + + expect(response.body.message).to.eql( + 'Output of type "logstash" is not usable with policy "test-agentless-policy".' + ); + }); }); describe('POST /api/fleet/agent_policies/{agentPolicyId}/copy', () => { @@ -1126,6 +1158,7 @@ export default function (providerContext: FtrProviderContext) { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/fleet/empty_fleet_server'); await kibanaServer.savedObjects.cleanStandardList(); + await fleetAndAgents.setup(); await createAgentPolicyWithPackagePolicy(); createdPolicyIds.push(agentPolicyWithPPId!); }); @@ -1628,6 +1661,49 @@ export default function (providerContext: FtrProviderContext) { }) .expect(400); }); + + it('should return 400 if updating data output to non-local ES for agentless policy', async () => { + const { body: outputResponse } = await supertest + .post(`/api/fleet/outputs`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'logstash-output', + type: 'logstash', + hosts: ['test.fr:443'], + ssl: { + certificate: 'CERTIFICATE', + key: 'KEY', + certificate_authorities: ['CA1', 'CA2'], + }, + }) + .expect(200); + + const agentPolicyResponse = await supertest + .post(`/api/fleet/agent_policies?sys_monitoring=false`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'test-agentless-policy', + namespace: 'default', + }) + .expect(200); + + const agentPolicy = agentPolicyResponse.body.item; + + const response = await supertest + .put(`/api/fleet/agent_policies/${agentPolicy.id}`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'test-agentless-policy', + namespace: 'default', + supports_agentless: true, + data_output_id: outputResponse.item.id, + }) + .expect(400); + + expect(response.body.message).to.eql( + 'Output of type "logstash" is not usable with policy "test-agentless-policy".' + ); + }); }); describe('POST /api/fleet/agent_policies/delete', () => { diff --git a/x-pack/test/fleet_api_integration/apis/package_policy/create.ts b/x-pack/test/fleet_api_integration/apis/package_policy/create.ts index 58a514b21a31d..8caa21a4e2888 100644 --- a/x-pack/test/fleet_api_integration/apis/package_policy/create.ts +++ b/x-pack/test/fleet_api_integration/apis/package_policy/create.ts @@ -660,6 +660,44 @@ export default function (providerContext: FtrProviderContext) { expect(response.body.message).to.eql('Cannot create policy for content only packages'); }); + it('should return 400 if setting output to non-local ES for an agentless integration', async function () { + const { body: outputResponse } = await supertest + .post(`/api/fleet/outputs`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'logstash-output', + type: 'logstash', + hosts: ['test.fr:443'], + ssl: { + certificate: 'CERTIFICATE', + key: 'KEY', + certificate_authorities: ['CA1', 'CA2'], + }, + }) + .expect(200); + + const response = await supertest + .post(`/api/fleet/package_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'agentless-integration-policy', + description: '', + namespace: 'default', + policy_ids: [], + package: { + name: 'with_required_variables', + version: '0.1.0', + }, + supports_agentless: true, + output_id: outputResponse.item.id, + }) + .expect(400); + + expect(response.body.message).to.eql( + 'Output type "logstash" is not usable with package "with_required_variables"' + ); + }); + describe('input only packages', () => { it('should default dataset if not provided for input only pkg', async function () { await supertest diff --git a/x-pack/test/fleet_api_integration/apis/package_policy/update.ts b/x-pack/test/fleet_api_integration/apis/package_policy/update.ts index 619ddeb0544e7..3fa52704b9150 100644 --- a/x-pack/test/fleet_api_integration/apis/package_policy/update.ts +++ b/x-pack/test/fleet_api_integration/apis/package_policy/update.ts @@ -681,6 +681,54 @@ export default function (providerContext: FtrProviderContext) { .expect(400); }); + it('should return 400 if updating output to non-local ES for an agentless integration', async function () { + const { body: outputResponse } = await supertest + .post(`/api/fleet/outputs`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'logstash-output', + type: 'logstash', + hosts: ['test.fr:443'], + ssl: { + certificate: 'CERTIFICATE', + key: 'KEY', + certificate_authorities: ['CA1', 'CA2'], + }, + }) + .expect(200); + + const { body: packagePolicyResponse } = await supertest + .post(`/api/fleet/package_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'agentless-integration-policy', + description: '', + namespace: 'default', + policy_ids: [], + enabled: true, + inputs: [], + package: { + name: 'filetest', + title: 'For File Tests', + version: '0.1.0', + }, + supports_agentless: true, + }) + .expect(200); + + const response = await supertest + .put(`/api/fleet/package_policies/${packagePolicyResponse.item.id}`) + .set('kbn-xsrf', 'xxxx') + .send({ + output_id: outputResponse.item.id, + }) + .expect(400); + + expect(response.body.message).to.eql( + 'Output type "logstash" is not usable with package "filetest"' + ); + }); + describe('Simplified package policy', () => { it('should work with valid values', async function () { await supertest