#[non_exhaustive]pub struct ObservabilityPipelineSpec {
pub data: ObservabilityPipelineSpecData,
pub additional_properties: BTreeMap<String, Value>,
/* private fields */
}
Expand description
Input schema representing an observability pipeline configuration. Used in create and validate requests.
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.data: ObservabilityPipelineSpecData
Contains the the pipeline configuration.
additional_properties: BTreeMap<String, Value>
Implementations§
Source§impl ObservabilityPipelineSpec
impl ObservabilityPipelineSpec
Sourcepub fn new(data: ObservabilityPipelineSpecData) -> ObservabilityPipelineSpec
pub fn new(data: ObservabilityPipelineSpecData) -> ObservabilityPipelineSpec
Examples found in repository?
examples/v2_observability-pipelines_CreatePipeline.rs (lines 21-64)
19async fn main() {
20 let body =
21 ObservabilityPipelineSpec::new(
22 ObservabilityPipelineSpecData::new(
23 ObservabilityPipelineDataAttributes::new(
24 ObservabilityPipelineConfig::new(
25 vec![
26 ObservabilityPipelineConfigDestinationItem::ObservabilityPipelineDatadogLogsDestination(
27 Box::new(
28 ObservabilityPipelineDatadogLogsDestination::new(
29 "datadog-logs-destination".to_string(),
30 vec!["filter-processor".to_string()],
31 ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS,
32 ),
33 ),
34 )
35 ],
36 vec![
37 ObservabilityPipelineConfigSourceItem::ObservabilityPipelineDatadogAgentSource(
38 Box::new(
39 ObservabilityPipelineDatadogAgentSource::new(
40 "datadog-agent-source".to_string(),
41 ObservabilityPipelineDatadogAgentSourceType::DATADOG_AGENT,
42 ),
43 ),
44 )
45 ],
46 ).processors(
47 vec![
48 ObservabilityPipelineConfigProcessorItem::ObservabilityPipelineFilterProcessor(
49 Box::new(
50 ObservabilityPipelineFilterProcessor::new(
51 "filter-processor".to_string(),
52 "service:my-service".to_string(),
53 vec!["datadog-agent-source".to_string()],
54 ObservabilityPipelineFilterProcessorType::FILTER,
55 ),
56 ),
57 )
58 ],
59 ),
60 "Main Observability Pipeline".to_string(),
61 ),
62 "pipelines".to_string(),
63 ),
64 );
65 let mut configuration = datadog::Configuration::new();
66 configuration.set_unstable_operation_enabled("v2.CreatePipeline", true);
67 let api = ObservabilityPipelinesAPI::with_config(configuration);
68 let resp = api.create_pipeline(body).await;
69 if let Ok(value) = resp {
70 println!("{:#?}", value);
71 } else {
72 println!("{:#?}", resp.unwrap_err());
73 }
74}
More examples
examples/v2_observability-pipelines_ValidatePipeline.rs (lines 21-64)
19async fn main() {
20 let body =
21 ObservabilityPipelineSpec::new(
22 ObservabilityPipelineSpecData::new(
23 ObservabilityPipelineDataAttributes::new(
24 ObservabilityPipelineConfig::new(
25 vec![
26 ObservabilityPipelineConfigDestinationItem::ObservabilityPipelineDatadogLogsDestination(
27 Box::new(
28 ObservabilityPipelineDatadogLogsDestination::new(
29 "datadog-logs-destination".to_string(),
30 vec!["filter-processor".to_string()],
31 ObservabilityPipelineDatadogLogsDestinationType::DATADOG_LOGS,
32 ),
33 ),
34 )
35 ],
36 vec![
37 ObservabilityPipelineConfigSourceItem::ObservabilityPipelineDatadogAgentSource(
38 Box::new(
39 ObservabilityPipelineDatadogAgentSource::new(
40 "datadog-agent-source".to_string(),
41 ObservabilityPipelineDatadogAgentSourceType::DATADOG_AGENT,
42 ),
43 ),
44 )
45 ],
46 ).processors(
47 vec![
48 ObservabilityPipelineConfigProcessorItem::ObservabilityPipelineFilterProcessor(
49 Box::new(
50 ObservabilityPipelineFilterProcessor::new(
51 "filter-processor".to_string(),
52 "service:my-service".to_string(),
53 vec!["datadog-agent-source".to_string()],
54 ObservabilityPipelineFilterProcessorType::FILTER,
55 ),
56 ),
57 )
58 ],
59 ),
60 "Main Observability Pipeline".to_string(),
61 ),
62 "pipelines".to_string(),
63 ),
64 );
65 let mut configuration = datadog::Configuration::new();
66 configuration.set_unstable_operation_enabled("v2.ValidatePipeline", true);
67 let api = ObservabilityPipelinesAPI::with_config(configuration);
68 let resp = api.validate_pipeline(body).await;
69 if let Ok(value) = resp {
70 println!("{:#?}", value);
71 } else {
72 println!("{:#?}", resp.unwrap_err());
73 }
74}
pub fn additional_properties(self, value: BTreeMap<String, Value>) -> Self
Trait Implementations§
Source§impl Clone for ObservabilityPipelineSpec
impl Clone for ObservabilityPipelineSpec
Source§fn clone(&self) -> ObservabilityPipelineSpec
fn clone(&self) -> ObservabilityPipelineSpec
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 ObservabilityPipelineSpec
impl Debug for ObservabilityPipelineSpec
Source§impl<'de> Deserialize<'de> for ObservabilityPipelineSpec
impl<'de> Deserialize<'de> for ObservabilityPipelineSpec
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
impl StructuralPartialEq for ObservabilityPipelineSpec
Auto Trait Implementations§
impl Freeze for ObservabilityPipelineSpec
impl RefUnwindSafe for ObservabilityPipelineSpec
impl Send for ObservabilityPipelineSpec
impl Sync for ObservabilityPipelineSpec
impl Unpin for ObservabilityPipelineSpec
impl UnwindSafe for ObservabilityPipelineSpec
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