authentik_rust/models/
policy_binding_request.rs

1/*
2 * authentik
3 *
4 * Making authentication simple.
5 *
6 * The version of the OpenAPI document: 2024.2.1
7 * Contact: hello@goauthentik.io
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12
13/// PolicyBindingRequest : PolicyBinding Serializer
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PolicyBindingRequest {
16    #[serde(rename = "policy", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17    pub policy: Option<Option<uuid::Uuid>>,
18    #[serde(rename = "group", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
19    pub group: Option<Option<uuid::Uuid>>,
20    #[serde(rename = "user", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21    pub user: Option<Option<i32>>,
22    #[serde(rename = "target")]
23    pub target: uuid::Uuid,
24    /// Negates the outcome of the policy. Messages are unaffected.
25    #[serde(rename = "negate", skip_serializing_if = "Option::is_none")]
26    pub negate: Option<bool>,
27    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
28    pub enabled: Option<bool>,
29    #[serde(rename = "order")]
30    pub order: i32,
31    /// Timeout after which Policy execution is terminated.
32    #[serde(rename = "timeout", skip_serializing_if = "Option::is_none")]
33    pub timeout: Option<i32>,
34    /// Result if the Policy execution fails.
35    #[serde(rename = "failure_result", skip_serializing_if = "Option::is_none")]
36    pub failure_result: Option<bool>,
37}
38
39impl PolicyBindingRequest {
40    /// PolicyBinding Serializer
41    pub fn new(target: uuid::Uuid, order: i32) -> PolicyBindingRequest {
42        PolicyBindingRequest {
43            policy: None,
44            group: None,
45            user: None,
46            target,
47            negate: None,
48            enabled: None,
49            order,
50            timeout: None,
51            failure_result: None,
52        }
53    }
54}
55