1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Item {
16 #[serde(rename = "access_date", skip_serializing_if = "Option::is_none")]
17 pub access_date: Option<String>,
18 #[serde(rename = "access_date_display", skip_serializing_if = "Option::is_none")]
19 pub access_date_display: Option<String>,
20 #[serde(rename = "access_request_status", skip_serializing_if = "Option::is_none")]
21 pub access_request_status: Option<String>,
22 #[serde(rename = "auto_rotate", skip_serializing_if = "Option::is_none")]
23 pub auto_rotate: Option<bool>,
24 #[serde(rename = "bastion_details", skip_serializing_if = "Option::is_none")]
25 pub bastion_details: Option<Box<models::BastionsList>>,
26 #[serde(rename = "cert_issuer_signer_key_name", skip_serializing_if = "Option::is_none")]
27 pub cert_issuer_signer_key_name: Option<String>,
28 #[serde(rename = "certificate_issue_details", skip_serializing_if = "Option::is_none")]
29 pub certificate_issue_details: Option<Box<models::CertificateIssueInfo>>,
30 #[serde(rename = "certificates", skip_serializing_if = "Option::is_none")]
31 pub certificates: Option<String>,
32 #[serde(rename = "client_permissions", skip_serializing_if = "Option::is_none")]
33 pub client_permissions: Option<Vec<String>>,
34 #[serde(rename = "creation_date", skip_serializing_if = "Option::is_none")]
35 pub creation_date: Option<String>,
36 #[serde(rename = "customer_fragment_id", skip_serializing_if = "Option::is_none")]
37 pub customer_fragment_id: Option<String>,
38 #[serde(rename = "delete_protection", skip_serializing_if = "Option::is_none")]
39 pub delete_protection: Option<bool>,
40 #[serde(rename = "deletion_date", skip_serializing_if = "Option::is_none")]
41 pub deletion_date: Option<String>,
42 #[serde(rename = "display_id", skip_serializing_if = "Option::is_none")]
43 pub display_id: Option<String>,
44 #[serde(rename = "gateway_details", skip_serializing_if = "Option::is_none")]
45 pub gateway_details: Option<Vec<models::GatewayDetailsForItemReplyObj>>,
46 #[serde(rename = "is_access_request_enabled", skip_serializing_if = "Option::is_none")]
47 pub is_access_request_enabled: Option<bool>,
48 #[serde(rename = "is_enabled", skip_serializing_if = "Option::is_none")]
49 pub is_enabled: Option<bool>,
50 #[serde(rename = "item_accessibility", skip_serializing_if = "Option::is_none")]
51 pub item_accessibility: Option<i64>,
52 #[serde(rename = "item_custom_fields_details", skip_serializing_if = "Option::is_none")]
53 pub item_custom_fields_details: Option<Vec<models::ItemCustomFieldsDetails>>,
54 #[serde(rename = "item_general_info", skip_serializing_if = "Option::is_none")]
55 pub item_general_info: Option<Box<models::ItemGeneralInfo>>,
56 #[serde(rename = "item_id", skip_serializing_if = "Option::is_none")]
57 pub item_id: Option<i64>,
58 #[serde(rename = "item_metadata", skip_serializing_if = "Option::is_none")]
59 pub item_metadata: Option<String>,
60 #[serde(rename = "item_name", skip_serializing_if = "Option::is_none")]
61 pub item_name: Option<String>,
62 #[serde(rename = "item_size", skip_serializing_if = "Option::is_none")]
63 pub item_size: Option<i64>,
64 #[serde(rename = "item_state", skip_serializing_if = "Option::is_none")]
66 pub item_state: Option<String>,
67 #[serde(rename = "item_sub_type", skip_serializing_if = "Option::is_none")]
68 pub item_sub_type: Option<String>,
69 #[serde(rename = "item_tags", skip_serializing_if = "Option::is_none")]
70 pub item_tags: Option<Vec<String>>,
71 #[serde(rename = "item_targets_assoc", skip_serializing_if = "Option::is_none")]
72 pub item_targets_assoc: Option<Vec<models::ItemTargetAssociation>>,
73 #[serde(rename = "item_type", skip_serializing_if = "Option::is_none")]
74 pub item_type: Option<String>,
75 #[serde(rename = "item_versions", skip_serializing_if = "Option::is_none")]
76 pub item_versions: Option<Vec<models::ItemVersion>>,
77 #[serde(rename = "last_rotation_date", skip_serializing_if = "Option::is_none")]
78 pub last_rotation_date: Option<String>,
79 #[serde(rename = "last_version", skip_serializing_if = "Option::is_none")]
80 pub last_version: Option<i32>,
81 #[serde(rename = "linked_details", skip_serializing_if = "Option::is_none")]
82 pub linked_details: Option<Box<models::LinkedDetails>>,
83 #[serde(rename = "modification_date", skip_serializing_if = "Option::is_none")]
84 pub modification_date: Option<String>,
85 #[serde(rename = "next_rotation_date", skip_serializing_if = "Option::is_none")]
86 pub next_rotation_date: Option<String>,
87 #[serde(rename = "protection_key_name", skip_serializing_if = "Option::is_none")]
88 pub protection_key_name: Option<String>,
89 #[serde(rename = "protection_key_type", skip_serializing_if = "Option::is_none")]
90 pub protection_key_type: Option<String>,
91 #[serde(rename = "public_value", skip_serializing_if = "Option::is_none")]
92 pub public_value: Option<String>,
93 #[serde(rename = "rotation_interval", skip_serializing_if = "Option::is_none")]
94 pub rotation_interval: Option<i64>,
95 #[serde(rename = "shared_by", skip_serializing_if = "Option::is_none")]
96 pub shared_by: Option<Box<models::RuleAssigner>>,
97 #[serde(rename = "target_versions", skip_serializing_if = "Option::is_none")]
98 pub target_versions: Option<Vec<models::TargetItemVersion>>,
99 #[serde(rename = "usc_sync_associated_items", skip_serializing_if = "Option::is_none")]
101 pub usc_sync_associated_items: Option<Vec<models::ItemUscSyncAssociation>>,
102 #[serde(rename = "with_customer_fragment", skip_serializing_if = "Option::is_none")]
103 pub with_customer_fragment: Option<bool>,
104}
105
106impl Item {
107 pub fn new() -> Item {
108 Item {
109 access_date: None,
110 access_date_display: None,
111 access_request_status: None,
112 auto_rotate: None,
113 bastion_details: None,
114 cert_issuer_signer_key_name: None,
115 certificate_issue_details: None,
116 certificates: None,
117 client_permissions: None,
118 creation_date: None,
119 customer_fragment_id: None,
120 delete_protection: None,
121 deletion_date: None,
122 display_id: None,
123 gateway_details: None,
124 is_access_request_enabled: None,
125 is_enabled: None,
126 item_accessibility: None,
127 item_custom_fields_details: None,
128 item_general_info: None,
129 item_id: None,
130 item_metadata: None,
131 item_name: None,
132 item_size: None,
133 item_state: None,
134 item_sub_type: None,
135 item_tags: None,
136 item_targets_assoc: None,
137 item_type: None,
138 item_versions: None,
139 last_rotation_date: None,
140 last_version: None,
141 linked_details: None,
142 modification_date: None,
143 next_rotation_date: None,
144 protection_key_name: None,
145 protection_key_type: None,
146 public_value: None,
147 rotation_interval: None,
148 shared_by: None,
149 target_versions: None,
150 usc_sync_associated_items: None,
151 with_customer_fragment: None,
152 }
153 }
154}
155