Skip to main content

tmflib/tmf723/
managed_policy_constraint.rs

1use super::{PolicyConstraint, PolicyManagedEntity};
2use serde::{Deserialize, Serialize};
3///Managed PolicyConstraint
4#[derive(Debug, Clone, Serialize, Deserialize, Default)]
5pub struct ManagedPolicyConstraint {
6    ///Any kind of condition that needs to be confirmed in order to proceed with next step
7    #[serde(flatten)]
8    pub policy_constraint: PolicyConstraint,
9    ///Managed Entity attributes
10    #[serde(flatten)]
11    pub policy_managed_entity: PolicyManagedEntity,
12}
13impl std::fmt::Display for ManagedPolicyConstraint {
14    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
15        write!(f, "{}", serde_json::to_string(self).unwrap())
16    }
17}
18impl std::ops::Deref for ManagedPolicyConstraint {
19    type Target = PolicyConstraint;
20    fn deref(&self) -> &Self::Target {
21        &self.policy_constraint
22    }
23}
24impl std::ops::DerefMut for ManagedPolicyConstraint {
25    fn deref_mut(&mut self) -> &mut Self::Target {
26        &mut self.policy_constraint
27    }
28}