use anyhow::Result;
use tracing::info;
use s3util_rs::config::ClientConfig;
use s3util_rs::config::args::rm::RmArgs;
use s3util_rs::storage::s3::api;
pub async fn run_rm(args: RmArgs, client_config: ClientConfig) -> Result<()> {
let (bucket, key) = args
.bucket_key()
.map_err(|e| anyhow::anyhow!("{}", e.trim_end()))?;
let client = client_config.create_client().await;
api::delete_object(&client, &bucket, &key, args.source_version_id.as_deref()).await?;
info!(
bucket = %bucket,
key = %key,
version_id = %args.source_version_id.as_deref().unwrap_or_default(),
"Object deleted."
);
Ok(())
}