#[non_exhaustive]pub struct LogsGrokParser {
pub grok: LogsGrokParserRules,
pub is_enabled: Option<bool>,
pub name: Option<String>,
pub samples: Option<Vec<String>>,
pub source: String,
pub type_: LogsGrokParserType,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Create custom grok rules to parse the full message or a specific attribute of your raw event. For more information, see the parsing section.
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.grok: LogsGrokParserRules
Set of rules for the grok parser.
is_enabled: Option<bool>
Whether or not the processor is enabled.
name: Option<String>
Name of the processor.
samples: Option<Vec<String>>
List of sample logs to test this grok parser.
source: String
Name of the log attribute to parse.
type_: LogsGrokParserType
Type of logs grok parser.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl LogsGrokParser
impl LogsGrokParser
Sourcepub fn new(
grok: LogsGrokParserRules,
source: String,
type_: LogsGrokParserType,
) -> LogsGrokParser
pub fn new( grok: LogsGrokParserRules, source: String, type_: LogsGrokParserType, ) -> LogsGrokParser
Examples found in repository?
examples/v1_logs-pipelines_CreateLogsPipeline.rs (lines 16-31)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api.create_logs_pipeline(body).await;
39 if let Ok(value) = resp {
40 println!("{:#?}", value);
41 } else {
42 println!("{:#?}", resp.unwrap_err());
43 }
44}
More examples
examples/v1_logs-pipelines_UpdateLogsPipeline.rs (lines 16-31)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api
39 .update_logs_pipeline("pipeline_id".to_string(), body)
40 .await;
41 if let Ok(value) = resp {
42 println!("{:#?}", value);
43 } else {
44 println!("{:#?}", resp.unwrap_err());
45 }
46}
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.rs (line 32)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api.create_logs_pipeline(body).await;
39 if let Ok(value) = resp {
40 println!("{:#?}", value);
41 } else {
42 println!("{:#?}", resp.unwrap_err());
43 }
44}
More examples
examples/v1_logs-pipelines_UpdateLogsPipeline.rs (line 32)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api
39 .update_logs_pipeline("pipeline_id".to_string(), body)
40 .await;
41 if let Ok(value) = resp {
42 println!("{:#?}", value);
43 } else {
44 println!("{:#?}", resp.unwrap_err());
45 }
46}
pub fn name(self, value: String) -> Self
Sourcepub fn samples(self, value: Vec<String>) -> Self
pub fn samples(self, value: Vec<String>) -> Self
Examples found in repository?
examples/v1_logs-pipelines_CreateLogsPipeline.rs (line 33)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api.create_logs_pipeline(body).await;
39 if let Ok(value) = resp {
40 println!("{:#?}", value);
41 } else {
42 println!("{:#?}", resp.unwrap_err());
43 }
44}
More examples
examples/v1_logs-pipelines_UpdateLogsPipeline.rs (line 33)
12async fn main() {
13 let body = LogsPipeline::new("".to_string())
14 .filter(LogsFilter::new().query("source:python".to_string()))
15 .processors(vec![LogsProcessor::LogsGrokParser(Box::new(
16 LogsGrokParser::new(
17 LogsGrokParserRules::new(
18 r#"rule_name_1 foo
19rule_name_2 bar
20"#
21 .to_string(),
22 )
23 .support_rules(
24 r#"rule_name_1 foo
25rule_name_2 bar
26"#
27 .to_string(),
28 ),
29 "message".to_string(),
30 LogsGrokParserType::GROK_PARSER,
31 )
32 .is_enabled(false)
33 .samples(vec![]),
34 ))])
35 .tags(vec![]);
36 let configuration = datadog::Configuration::new();
37 let api = LogsPipelinesAPI::with_config(configuration);
38 let resp = api
39 .update_logs_pipeline("pipeline_id".to_string(), body)
40 .await;
41 if let Ok(value) = resp {
42 println!("{:#?}", value);
43 } else {
44 println!("{:#?}", resp.unwrap_err());
45 }
46}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for LogsGrokParser
impl Clone for LogsGrokParser
Source§fn clone(&self) -> LogsGrokParser
fn clone(&self) -> LogsGrokParser
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 LogsGrokParser
impl Debug for LogsGrokParser
Source§impl<'de> Deserialize<'de> for LogsGrokParser
impl<'de> Deserialize<'de> for LogsGrokParser
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 LogsGrokParser
impl PartialEq for LogsGrokParser
Source§impl Serialize for LogsGrokParser
impl Serialize for LogsGrokParser
impl StructuralPartialEq for LogsGrokParser
Auto Trait Implementations§
impl Freeze for LogsGrokParser
impl RefUnwindSafe for LogsGrokParser
impl Send for LogsGrokParser
impl Sync for LogsGrokParser
impl Unpin for LogsGrokParser
impl UnwindSafe for LogsGrokParser
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