use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AclChangeRevoke {
#[serde(rename = "type")]
pub r#type: Type,
#[serde(rename = "role")]
pub role: String,
#[serde(rename = "privileges")]
pub privileges: Vec<String>,
#[serde(rename = "scope")]
pub scope: models::AclGrantScope,
#[serde(rename = "objects", skip_serializing_if = "Option::is_none")]
pub objects: Option<Vec<models::AclObject>>,
}
impl AclChangeRevoke {
pub fn new(r#type: Type, role: String, privileges: Vec<String>, scope: models::AclGrantScope) -> AclChangeRevoke {
AclChangeRevoke {
r#type,
role,
privileges,
scope,
objects: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "revoke")]
Revoke,
}
impl Default for Type {
fn default() -> Type {
Self::Revoke
}
}