aboutsummaryrefslogtreecommitdiff
path: root/src/garage/cli/structs.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/garage/cli/structs.rs')
-rw-r--r--src/garage/cli/structs.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/garage/cli/structs.rs b/src/garage/cli/structs.rs
index bd7abc8e..a544d6a1 100644
--- a/src/garage/cli/structs.rs
+++ b/src/garage/cli/structs.rs
@@ -274,6 +274,14 @@ pub enum KeyOperation {
#[structopt(name = "delete")]
Delete(KeyDeleteOpt),
+ /// Set permission flags for key
+ #[structopt(name = "allow")]
+ Allow(KeyPermOpt),
+
+ /// Unset permission flags for key
+ #[structopt(name = "deny")]
+ Deny(KeyPermOpt),
+
/// Import key
#[structopt(name = "import")]
Import(KeyImportOpt),
@@ -312,6 +320,16 @@ pub struct KeyDeleteOpt {
}
#[derive(Serialize, Deserialize, StructOpt, Debug)]
+pub struct KeyPermOpt {
+ /// ID or name of the key
+ pub key_pattern: String,
+
+ /// Flag that allows key to create buckets using S3's CreateBucket call
+ #[structopt(long = "create-bucket")]
+ pub create_bucket: bool,
+}
+
+#[derive(Serialize, Deserialize, StructOpt, Debug)]
pub struct KeyImportOpt {
/// Access key ID
pub key_id: String,