nautobot_openapi/models/
object_permission_request.rs1#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
14pub struct ObjectPermissionRequest {
15 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
16 pub id: Option<uuid::Uuid>,
17 #[serde(rename = "object_types")]
18 pub object_types: Vec<String>,
19 #[serde(rename = "name")]
20 pub name: String,
21 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
22 pub description: Option<String>,
23 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
24 pub enabled: Option<bool>,
25 #[serde(rename = "actions", deserialize_with = "Option::deserialize")]
27 pub actions: Option<serde_json::Value>,
28 #[serde(
30 rename = "constraints",
31 default,
32 with = "::serde_with::rust::double_option",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub constraints: Option<Option<serde_json::Value>>,
36 #[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
37 pub groups: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
38 #[serde(rename = "users", skip_serializing_if = "Option::is_none")]
39 pub users: Option<Vec<crate::models::ApprovalWorkflowStageResponseApprovalWorkflowStage>>,
40}
41
42impl ObjectPermissionRequest {
43 pub fn new(
45 object_types: Vec<String>,
46 name: String,
47 actions: Option<serde_json::Value>,
48 ) -> ObjectPermissionRequest {
49 ObjectPermissionRequest {
50 id: None,
51 object_types,
52 name,
53 description: None,
54 enabled: None,
55 actions,
56 constraints: None,
57 groups: None,
58 users: None,
59 }
60 }
61}