v1_logs_pipelines_CreateLogsPipeline_2707101123/
v1_logs-pipelines_CreateLogsPipeline_2707101123.rs

1// Create a pipeline with Span Id Remapper returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV1::api_logs_pipelines::LogsPipelinesAPI;
4use datadog_api_client::datadogV1::model::LogsFilter;
5use datadog_api_client::datadogV1::model::LogsPipeline;
6use datadog_api_client::datadogV1::model::LogsProcessor;
7use datadog_api_client::datadogV1::model::LogsSpanRemapper;
8use datadog_api_client::datadogV1::model::LogsSpanRemapperType;
9
10#[tokio::main]
11async fn main() {
12    let body = LogsPipeline::new("testPipeline".to_string())
13        .filter(LogsFilter::new().query("source:python".to_string()))
14        .processors(vec![LogsProcessor::LogsSpanRemapper(Box::new(
15            LogsSpanRemapper::new(LogsSpanRemapperType::SPAN_ID_REMAPPER)
16                .is_enabled(true)
17                .name("test_filter".to_string())
18                .sources(vec!["dd.span_id".to_string()]),
19        ))])
20        .tags(vec![]);
21    let configuration = datadog::Configuration::new();
22    let api = LogsPipelinesAPI::with_config(configuration);
23    let resp = api.create_logs_pipeline(body).await;
24    if let Ok(value) = resp {
25        println!("{:#?}", value);
26    } else {
27        println!("{:#?}", resp.unwrap_err());
28    }
29}