#[non_exhaustive]pub struct LogsArrayProcessor {
pub is_enabled: Option<bool>,
pub name: Option<String>,
pub operation: LogsArrayProcessorOperation,
pub type_: LogsArrayProcessorType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
A processor for extracting, aggregating, or transforming values from JSON arrays within your logs. Supported operations are:
- Select value from matching element
- Compute array length
- Append a value to an array
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.is_enabled: Option<bool>
Whether or not the processor is enabled.
name: Option<String>
Name of the processor.
operation: LogsArrayProcessorOperation
Configuration of the array processor operation to perform.
type_: LogsArrayProcessorType
Type of logs array processor.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl LogsArrayProcessor
impl LogsArrayProcessor
Sourcepub fn new(
operation: LogsArrayProcessorOperation,
type_: LogsArrayProcessorType,
) -> LogsArrayProcessor
pub fn new( operation: LogsArrayProcessorOperation, type_: LogsArrayProcessorType, ) -> LogsArrayProcessor
Examples found in repository?
examples/v1_logs-pipelines_CreateLogsPipeline_1271012410.rs (lines 18-27)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayLength".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationLength(Box::new(
20 LogsArrayProcessorOperationLength::new(
21 "tags".to_string(),
22 "tagCount".to_string(),
23 LogsArrayProcessorOperationLengthType::LENGTH,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("count_tags".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
More examples
examples/v1_logs-pipelines_CreateLogsPipeline_1248402480.rs (lines 18-27)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayAppend".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
20 LogsArrayProcessorOperationAppend::new(
21 "network.client.ip".to_string(),
22 "sourceIps".to_string(),
23 LogsArrayProcessorOperationAppendType::APPEND,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("append_ip_to_array".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
examples/v1_logs-pipelines_CreateLogsPipeline_3314493032.rs (lines 19-29)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(true),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_keep_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_3934594739.rs (lines 19-29)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendNoPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(false),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_remove_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_1267211320.rs (lines 18-29)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArraySelect".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationSelect(Box::new(
20 LogsArrayProcessorOperationSelect::new(
21 "name:Referrer".to_string(),
22 "httpRequest.headers".to_string(),
23 "referrer".to_string(),
24 LogsArrayProcessorOperationSelectType::SELECT,
25 "value".to_string(),
26 ),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("extract_referrer".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
Sourcepub fn is_enabled(self, value: bool) -> Self
pub fn is_enabled(self, value: bool) -> Self
Examples found in repository?
examples/v1_logs-pipelines_CreateLogsPipeline_1271012410.rs (line 28)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayLength".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationLength(Box::new(
20 LogsArrayProcessorOperationLength::new(
21 "tags".to_string(),
22 "tagCount".to_string(),
23 LogsArrayProcessorOperationLengthType::LENGTH,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("count_tags".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
More examples
examples/v1_logs-pipelines_CreateLogsPipeline_1248402480.rs (line 28)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayAppend".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
20 LogsArrayProcessorOperationAppend::new(
21 "network.client.ip".to_string(),
22 "sourceIps".to_string(),
23 LogsArrayProcessorOperationAppendType::APPEND,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("append_ip_to_array".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
examples/v1_logs-pipelines_CreateLogsPipeline_3314493032.rs (line 30)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(true),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_keep_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_3934594739.rs (line 30)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendNoPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(false),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_remove_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_1267211320.rs (line 30)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArraySelect".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationSelect(Box::new(
20 LogsArrayProcessorOperationSelect::new(
21 "name:Referrer".to_string(),
22 "httpRequest.headers".to_string(),
23 "referrer".to_string(),
24 LogsArrayProcessorOperationSelectType::SELECT,
25 "value".to_string(),
26 ),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("extract_referrer".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
Sourcepub fn name(self, value: String) -> Self
pub fn name(self, value: String) -> Self
Examples found in repository?
examples/v1_logs-pipelines_CreateLogsPipeline_1271012410.rs (line 29)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayLength".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationLength(Box::new(
20 LogsArrayProcessorOperationLength::new(
21 "tags".to_string(),
22 "tagCount".to_string(),
23 LogsArrayProcessorOperationLengthType::LENGTH,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("count_tags".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
More examples
examples/v1_logs-pipelines_CreateLogsPipeline_1248402480.rs (line 29)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArrayAppend".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
20 LogsArrayProcessorOperationAppend::new(
21 "network.client.ip".to_string(),
22 "sourceIps".to_string(),
23 LogsArrayProcessorOperationAppendType::APPEND,
24 ),
25 )),
26 LogsArrayProcessorType::ARRAY_PROCESSOR,
27 )
28 .is_enabled(true)
29 .name("append_ip_to_array".to_string()),
30 ))])
31 .tags(vec![]);
32 let configuration = datadog::Configuration::new();
33 let api = LogsPipelinesAPI::with_config(configuration);
34 let resp = api.create_logs_pipeline(body).await;
35 if let Ok(value) = resp {
36 println!("{:#?}", value);
37 } else {
38 println!("{:#?}", resp.unwrap_err());
39 }
40}
examples/v1_logs-pipelines_CreateLogsPipeline_3314493032.rs (line 31)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(true),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_keep_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_3934594739.rs (line 31)
15async fn main() {
16 let body = LogsPipeline::new("testPipelineArrayAppendNoPreserve".to_string())
17 .filter(LogsFilter::new().query("source:python".to_string()))
18 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
19 LogsArrayProcessor::new(
20 LogsArrayProcessorOperation::LogsArrayProcessorOperationAppend(Box::new(
21 LogsArrayProcessorOperationAppend::new(
22 "network.client.ip".to_string(),
23 "sourceIps".to_string(),
24 LogsArrayProcessorOperationAppendType::APPEND,
25 )
26 .preserve_source(false),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("append_ip_and_remove_source".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
examples/v1_logs-pipelines_CreateLogsPipeline_1267211320.rs (line 31)
14async fn main() {
15 let body = LogsPipeline::new("testPipelineArraySelect".to_string())
16 .filter(LogsFilter::new().query("source:python".to_string()))
17 .processors(vec![LogsProcessor::LogsArrayProcessor(Box::new(
18 LogsArrayProcessor::new(
19 LogsArrayProcessorOperation::LogsArrayProcessorOperationSelect(Box::new(
20 LogsArrayProcessorOperationSelect::new(
21 "name:Referrer".to_string(),
22 "httpRequest.headers".to_string(),
23 "referrer".to_string(),
24 LogsArrayProcessorOperationSelectType::SELECT,
25 "value".to_string(),
26 ),
27 )),
28 LogsArrayProcessorType::ARRAY_PROCESSOR,
29 )
30 .is_enabled(true)
31 .name("extract_referrer".to_string()),
32 ))])
33 .tags(vec![]);
34 let configuration = datadog::Configuration::new();
35 let api = LogsPipelinesAPI::with_config(configuration);
36 let resp = api.create_logs_pipeline(body).await;
37 if let Ok(value) = resp {
38 println!("{:#?}", value);
39 } else {
40 println!("{:#?}", resp.unwrap_err());
41 }
42}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for LogsArrayProcessor
impl Clone for LogsArrayProcessor
Source§fn clone(&self) -> LogsArrayProcessor
fn clone(&self) -> LogsArrayProcessor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for LogsArrayProcessor
impl Debug for LogsArrayProcessor
Source§impl<'de> Deserialize<'de> for LogsArrayProcessor
impl<'de> Deserialize<'de> for LogsArrayProcessor
Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for LogsArrayProcessor
impl PartialEq for LogsArrayProcessor
Source§impl Serialize for LogsArrayProcessor
impl Serialize for LogsArrayProcessor
impl StructuralPartialEq for LogsArrayProcessor
Auto Trait Implementations§
impl Freeze for LogsArrayProcessor
impl RefUnwindSafe for LogsArrayProcessor
impl Send for LogsArrayProcessor
impl Sync for LogsArrayProcessor
impl Unpin for LogsArrayProcessor
impl UnwindSafe for LogsArrayProcessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more