1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
use serde::{Deserialize, Serialize};
/**An Applied Consequence defines the action (prescribed action or notification) to take when a
`MeasureThresholdRuleViolation` occurs.*/
#[derive(Debug, Clone, Serialize, Deserialize, Default)]
pub struct AppliedConsequence {
///When sub-classing, this defines the super-class
#[serde(rename = "@baseType")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub base_type: Option<String>,
///A URI to a JSON-Schema file that defines additional attributes and relationships
#[serde(rename = "@schemaLocation")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema_location: Option<String>,
///When sub-classing, this defines the sub-class Extensible name
#[serde(rename = "@type")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
/**The action for a violated threshold. This could be a hyperlink to
the action.*/
#[serde(rename = "appliedAction")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub applied_action: Option<String>,
///A narrative that explains in detail what the consequence is.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
/**A word, term, or phrase by which Consequence is known and
distinguished from other `MetricDefMeasureConsequences`.*/
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
/**An indicator used to specify that a consequence should cease
being applied if a value is in the same range as the previous value or continue being applied if a value is in the same range as the previous value.
If the repeatAction is True, if the consequence is always applied as soon as the `MetricMeasure` value is in the range of values and if the repeatAction is False, the consequence is applied only if the previous `MetricMeasure` value was not in the same range.*/
#[serde(rename = "repeatAction")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub repeat_action: Option<bool>,
}
impl std::fmt::Display for AppliedConsequence {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
write!(f, "{}", serde_json::to_string(self).unwrap())
}
}