v1_logs_pipelines_CreateLogsPipeline_3336967838/
v1_logs-pipelines_CreateLogsPipeline_3336967838.rs

1// Create a pipeline with Decoder Processor returns "OK" response
2use datadog_api_client::datadog;
3use datadog_api_client::datadogV1::api_logs_pipelines::LogsPipelinesAPI;
4use datadog_api_client::datadogV1::model::LogsDecoderProcessor;
5use datadog_api_client::datadogV1::model::LogsDecoderProcessorBinaryToTextEncoding;
6use datadog_api_client::datadogV1::model::LogsDecoderProcessorInputRepresentation;
7use datadog_api_client::datadogV1::model::LogsDecoderProcessorType;
8use datadog_api_client::datadogV1::model::LogsFilter;
9use datadog_api_client::datadogV1::model::LogsPipeline;
10use datadog_api_client::datadogV1::model::LogsProcessor;
11
12#[tokio::main]
13async fn main() {
14    let body = LogsPipeline::new("testDecoderProcessor".to_string())
15        .filter(LogsFilter::new().query("source:python".to_string()))
16        .processors(vec![LogsProcessor::LogsDecoderProcessor(Box::new(
17            LogsDecoderProcessor::new(
18                LogsDecoderProcessorBinaryToTextEncoding::BASE16,
19                LogsDecoderProcessorInputRepresentation::UTF_8,
20                "encoded.field".to_string(),
21                "decoded.field".to_string(),
22                LogsDecoderProcessorType::DECODER_PROCESSOR,
23            )
24            .is_enabled(true)
25            .name("test_decoder".to_string()),
26        ))])
27        .tags(vec![]);
28    let configuration = datadog::Configuration::new();
29    let api = LogsPipelinesAPI::with_config(configuration);
30    let resp = api.create_logs_pipeline(body).await;
31    if let Ok(value) = resp {
32        println!("{:#?}", value);
33    } else {
34        println!("{:#?}", resp.unwrap_err());
35    }
36}