reconfigure_basin/
reconfigure_basin.rs

1use s2_sdk::{
2    S2,
3    types::{
4        BasinName, BasinReconfiguration, ReconfigureBasinInput, S2Config, StorageClass,
5        StreamReconfiguration, TimestampingReconfiguration,
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
17    let config = S2Config::new(access_token);
18    let s2 = S2::new(config)?;
19
20    let input = ReconfigureBasinInput::new(
21        basin_name,
22        BasinReconfiguration::new()
23            .with_default_stream_config(
24                StreamReconfiguration::new()
25                    .with_storage_class(StorageClass::Standard)
26                    .with_timestamping(TimestampingReconfiguration::new().with_uncapped(true)),
27            )
28            .with_create_stream_on_read(true),
29    );
30    let config = s2.reconfigure_basin(input).await?;
31    println!("{config:#?}");
32
33    Ok(())
34}