fastly_api/models/
policy_create.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct PolicyCreate {
13 #[serde(rename = "name")]
14 pub name: String,
15 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
16 pub description: Option<String>,
17 #[serde(rename = "mode")]
18 pub mode: Mode,
19 #[serde(rename = "directives", skip_serializing_if = "Option::is_none")]
20 pub directives: Option<Vec<crate::models::Directive>>,
21}
22
23impl PolicyCreate {
24 pub fn new(name: String, mode: Mode) -> PolicyCreate {
25 PolicyCreate {
26 name,
27 description: None,
28 mode,
29 directives: None,
30 }
31 }
32}
33
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Mode {
37 #[serde(rename = "report")]
38 Report,
39 #[serde(rename = "enforce")]
40 Enforce,
41}
42
43impl Default for Mode {
44 fn default() -> Mode {
45 Self::Report
46 }
47}
48