#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
use serde::{Deserialize, Serialize};
use super::*;
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct PermissionGrant {
pub grant_version: PermissionGrant_GrantVersion,
pub request_id: String,
pub decision: PermissionGrant_Decision,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub capability: Option<Capability>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub constraints: Option<Vec<Constraint>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub policy_decision: Option<PolicyDecision>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub ceremony_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub denial_reason: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub valid_from: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub valid_until: Option<Timestamp>,
pub issued_at: Timestamp,
pub issuer: ActorId,
pub signature: SignatureEnvelope,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum PermissionGrant_Decision {
#[serde(rename = "allow")]
Allow,
#[serde(rename = "deny")]
Deny,
#[serde(rename = "approval-required")]
ApprovalRequired,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum PermissionGrant_GrantVersion {
#[serde(rename = "1")]
V1,
}