use crate::security;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Role {
#[serde(rename = "tenant_permissions", default, skip_serializing_if = "Option::is_none")]
pub tenant_permissions: Option<Vec<security::TenantPermission>>,
#[serde(rename = "hidden", default, skip_serializing_if = "Option::is_none")]
pub hidden: Option<bool>,
#[serde(rename = "index_permissions", default, skip_serializing_if = "Option::is_none")]
pub index_permissions: Option<Vec<security::IndexPermission>>,
#[serde(rename = "reserved", default, skip_serializing_if = "Option::is_none")]
pub reserved: Option<bool>,
#[serde(rename = "cluster_permissions", default, skip_serializing_if = "Option::is_none")]
pub cluster_permissions: Option<Vec<String>>,
#[serde(rename = "description", default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "static", default, skip_serializing_if = "Option::is_none")]
pub r#static: Option<bool>,
}
impl Role {
pub fn new() -> Role {
Role {
tenant_permissions: None,
hidden: None,
index_permissions: None,
reserved: None,
cluster_permissions: None,
description: None,
r#static: None,
}
}
}