use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NativeLinuxSetFaclRequest {
#[serde(rename = "operation")]
pub operation: Operation,
#[serde(rename = "recursionMethod", skip_serializing_if = "Option::is_none")]
pub recursion_method: Option<RecursionMethod>,
#[serde(rename = "aclString")]
pub acl_string: String,
}
impl NativeLinuxSetFaclRequest {
pub fn new(operation: Operation, acl_string: String) -> NativeLinuxSetFaclRequest {
NativeLinuxSetFaclRequest {
operation,
recursion_method: None,
acl_string,
}
}
}
#[derive(
Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
)]
pub enum Operation {
#[serde(rename = "ADD")]
#[default]
Add,
#[serde(rename = "REMOVE")]
Remove,
#[serde(rename = "REMOVE_DEFAULT")]
RemoveDefault,
#[serde(rename = "REMOVE_ALL")]
RemoveAll,
}
#[derive(
Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, Default,
)]
pub enum RecursionMethod {
#[serde(rename = "NONE")]
#[default]
None,
#[serde(rename = "PHYSICAL")]
Physical,
#[serde(rename = "LOGICAL")]
Logical,
}