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