Skip to main content

netbox_openapi/models/
users_permissions_create_request.rs

1/*
2 * NetBox REST API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 4.6.2 (4.6)
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
12pub struct UsersPermissionsCreateRequest {
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 = "enabled", skip_serializing_if = "Option::is_none")]
18    pub enabled: Option<bool>,
19    #[serde(rename = "object_types")]
20    pub object_types: Vec<String>,
21    /// The list of actions granted by this permission
22    #[serde(rename = "actions")]
23    pub actions: Vec<String>,
24    /// Queryset filter matching the applicable objects of the selected type(s)
25    #[serde(
26        rename = "constraints",
27        default,
28        with = "::serde_with::rust::double_option",
29        skip_serializing_if = "Option::is_none"
30    )]
31    pub constraints: Option<Option<serde_json::Value>>,
32    #[serde(rename = "groups", skip_serializing_if = "Option::is_none")]
33    pub groups: Option<Vec<i32>>,
34    #[serde(rename = "users", skip_serializing_if = "Option::is_none")]
35    pub users: Option<Vec<i32>>,
36}
37
38impl UsersPermissionsCreateRequest {
39    pub fn new(
40        name: String,
41        object_types: Vec<String>,
42        actions: Vec<String>,
43    ) -> UsersPermissionsCreateRequest {
44        UsersPermissionsCreateRequest {
45            name,
46            description: None,
47            enabled: None,
48            object_types,
49            actions,
50            constraints: None,
51            groups: None,
52            users: None,
53        }
54    }
55}