Skip to main content

bitwarden_api_api/models/
access_lease_response_model.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15/// AccessLeaseResponseModel : An access lease as its requester sees it, with
16/// Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.Status derived against the read
17/// clock. Fields without a backing store in v1
18/// (Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.RuleId,
19/// Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.RevocationReason) are null.
20#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
21pub struct AccessLeaseResponseModel {
22    #[serde(
23        rename = "object",
24        alias = "Object",
25        skip_serializing_if = "Option::is_none"
26    )]
27    pub object: Option<String>,
28    /// The lease's unique identifier.
29    #[serde(rename = "id", alias = "Id", skip_serializing_if = "Option::is_none")]
30    pub id: Option<uuid::Uuid>,
31    /// The request this lease was born from.
32    #[serde(
33        rename = "requestId",
34        alias = "RequestId",
35        skip_serializing_if = "Option::is_none"
36    )]
37    pub request_id: Option<uuid::Uuid>,
38    /// The cipher the lease grants access to.
39    #[serde(
40        rename = "cipherId",
41        alias = "CipherId",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub cipher_id: Option<uuid::Uuid>,
45    /// The collection the cipher belongs to.
46    #[serde(
47        rename = "collectionId",
48        alias = "CollectionId",
49        skip_serializing_if = "Option::is_none"
50    )]
51    pub collection_id: Option<uuid::Uuid>,
52    /// The access rule that gated the cipher at grant time. Not tracked in v1.
53    #[serde(
54        rename = "ruleId",
55        alias = "RuleId",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub rule_id: Option<String>,
59    /// The organization that owns the cipher.
60    #[serde(
61        rename = "organizationId",
62        alias = "OrganizationId",
63        skip_serializing_if = "Option::is_none"
64    )]
65    pub organization_id: Option<uuid::Uuid>,
66    /// The user the lease was granted to (the original requester).
67    #[serde(
68        rename = "requesterId",
69        alias = "RequesterId",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub requester_id: Option<uuid::Uuid>,
73    #[serde(
74        rename = "status",
75        alias = "Status",
76        skip_serializing_if = "Option::is_none"
77    )]
78    pub status: Option<models::AccessLeaseStatus>,
79    /// When the lease's access window opens (UTC).
80    #[serde(
81        rename = "notBefore",
82        alias = "NotBefore",
83        skip_serializing_if = "Option::is_none"
84    )]
85    pub not_before: Option<String>,
86    /// When the lease's access window closes (UTC).
87    #[serde(
88        rename = "notAfter",
89        alias = "NotAfter",
90        skip_serializing_if = "Option::is_none"
91    )]
92    pub not_after: Option<String>,
93    /// When the lease was revoked early (UTC); null unless it was revoked before expiry.
94    #[serde(
95        rename = "revokedAt",
96        alias = "RevokedAt",
97        skip_serializing_if = "Option::is_none"
98    )]
99    pub revoked_at: Option<String>,
100    /// The user who revoked the lease; null unless it was revoked early.
101    #[serde(
102        rename = "revokedByUserId",
103        alias = "RevokedByUserId",
104        skip_serializing_if = "Option::is_none"
105    )]
106    pub revoked_by_user_id: Option<uuid::Uuid>,
107    /// The reason captured on early revocation. Recorded on the audit decision, not surfaced here
108    /// in v1.
109    #[serde(
110        rename = "revocationReason",
111        alias = "RevocationReason",
112        skip_serializing_if = "Option::is_none"
113    )]
114    pub revocation_reason: Option<String>,
115}
116
117impl AccessLeaseResponseModel {
118    /// An access lease as its requester sees it, with
119    /// Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.Status derived against the
120    /// read clock. Fields without a backing store in v1
121    /// (Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.RuleId,
122    /// Bit.Services.Pam.Api.Models.Response.AccessLeaseResponseModel.RevocationReason) are null.
123    pub fn new() -> AccessLeaseResponseModel {
124        AccessLeaseResponseModel {
125            object: None,
126            id: None,
127            request_id: None,
128            cipher_id: None,
129            collection_id: None,
130            rule_id: None,
131            organization_id: None,
132            requester_id: None,
133            status: None,
134            not_before: None,
135            not_after: None,
136            revoked_at: None,
137            revoked_by_user_id: None,
138            revocation_reason: None,
139        }
140    }
141}