aboutsummaryrefslogtreecommitdiff
path: root/src/api/admin/api.rs
diff options
context:
space:
mode:
authorAlex Auvolat <lx@deuxfleurs.fr>2025-01-29 11:06:45 +0100
committerAlex Auvolat <lx@deuxfleurs.fr>2025-01-29 19:26:16 +0100
commit420bbc162dffd1246544168cf2e935efc60c5c98 (patch)
tree2bb6a733de3e0c1856879631f4397dad0a518cb0 /src/api/admin/api.rs
parent12ea4cda5fe033fc2b9f1fec51ddc3d8b860a85f (diff)
downloadgarage-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.rs22
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)]