reconfigure_stream/
reconfigure_stream.rs

1use s2_sdk::{
2    S2,
3    types::{
4        BasinName, ReconfigureStreamInput, RetentionPolicy, S2Config, StreamName,
5        StreamReconfiguration,
6    },
7};
8
9#[tokio::main]
10async fn main() -> Result<(), Box<dyn std::error::Error>> {
11    let access_token =
12        std::env::var("S2_ACCESS_TOKEN").map_err(|_| "S2_ACCESS_TOKEN env var not set")?;
13    let basin_name: BasinName = std::env::var("S2_BASIN")
14        .map_err(|_| "S2_BASIN env var not set")?
15        .parse()?;
16    let stream_name: StreamName = std::env::var("S2_STREAM")
17        .map_err(|_| "S2_STREAM env var not set")?
18        .parse()?;
19
20    let s2 = S2::new(S2Config::new(access_token))?;
21    let basin = s2.basin(basin_name);
22
23    let input = ReconfigureStreamInput::new(
24        stream_name,
25        StreamReconfiguration::new().with_retention_policy(RetentionPolicy::Age(10 * 24 * 60 * 60)),
26    );
27    let config = basin.reconfigure_stream(input).await?;
28    println!("{config:#?}");
29
30    Ok(())
31}