1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
pub struct CreateBucketRequest {
    #[serde(rename = "CreateBucketConfiguration")]
    create_bucket_configuration: CreateBucketConfiguration,
}

impl CreateBucketRequest {
    pub fn new<S: ToString>(location: S) -> Self {
        let create_bucket_configuration = CreateBucketConfiguration {
            location: location.to_string(),
        };

        Self {
            create_bucket_configuration,
        }
    }
}

#[derive(Serialize, Deserialize)]
pub struct CreateBucketConfiguration {
    #[serde(rename = "Location")]
    location: String,
}