diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-29 11:06:45 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-29 19:26:16 +0100 |
commit | 420bbc162dffd1246544168cf2e935efc60c5c98 (patch) | |
tree | 2bb6a733de3e0c1856879631f4397dad0a518cb0 /src/api/admin/api.rs | |
parent | 12ea4cda5fe033fc2b9f1fec51ddc3d8b860a85f (diff) | |
download | garage-420bbc162dffd1246544168cf2e935efc60c5c98.tar.gz garage-420bbc162dffd1246544168cf2e935efc60c5c98.zip |
admin api: clearer syntax for AddBucketAlias and RemoveBucketAlias
Diffstat (limited to 'src/api/admin/api.rs')
-rw-r--r-- | src/api/admin/api.rs | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/api/admin/api.rs b/src/api/admin/api.rs index 5fedd11f..eac93b6e 100644 --- a/src/api/admin/api.rs +++ b/src/api/admin/api.rs @@ -515,22 +515,36 @@ pub struct DenyBucketKeyResponse(pub GetBucketInfoResponse); // ---- AddBucketAlias ---- #[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct AddBucketAliasRequest { pub bucket_id: String, - pub access_key_id: Option<String>, - pub alias: String, + #[serde(flatten)] + pub alias: BucketAliasEnum, } #[derive(Serialize, Deserialize)] pub struct AddBucketAliasResponse(pub GetBucketInfoResponse); +#[derive(Serialize, Deserialize)] +#[serde(untagged)] +pub enum BucketAliasEnum { + #[serde(rename_all = "camelCase")] + Global { global_alias: String }, + #[serde(rename_all = "camelCase")] + Local { + local_alias: String, + access_key_id: String, + }, +} + // ---- RemoveBucketAlias ---- #[derive(Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] pub struct RemoveBucketAliasRequest { pub bucket_id: String, - pub access_key_id: Option<String>, - pub alias: String, + #[serde(flatten)] + pub alias: BucketAliasEnum, } #[derive(Serialize, Deserialize)] |