bitwarden_api_api/models/
organization_create_request_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrganizationCreateRequestModel {
17 #[serde(rename = "name", alias = "Name")]
18 pub name: String,
19 #[serde(
20 rename = "businessName",
21 alias = "BusinessName",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub business_name: Option<String>,
25 #[serde(rename = "billingEmail", alias = "BillingEmail")]
26 pub billing_email: String,
27 #[serde(
28 rename = "planType",
29 alias = "PlanType",
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub plan_type: Option<models::PlanType>,
33 #[serde(rename = "key", alias = "Key")]
34 pub key: String,
35 #[serde(
36 rename = "keys",
37 alias = "Keys",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub keys: Option<Box<models::OrganizationKeysRequestModel>>,
41 #[serde(
42 rename = "paymentMethodType",
43 alias = "PaymentMethodType",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub payment_method_type: Option<models::PaymentMethodType>,
47 #[serde(
48 rename = "paymentToken",
49 alias = "PaymentToken",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub payment_token: Option<String>,
53 #[serde(
54 rename = "additionalSeats",
55 alias = "AdditionalSeats",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub additional_seats: Option<i32>,
59 #[serde(
60 rename = "additionalStorageGb",
61 alias = "AdditionalStorageGb",
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub additional_storage_gb: Option<i32>,
65 #[serde(
66 rename = "premiumAccessAddon",
67 alias = "PremiumAccessAddon",
68 skip_serializing_if = "Option::is_none"
69 )]
70 pub premium_access_addon: Option<bool>,
71 #[serde(
72 rename = "collectionName",
73 alias = "CollectionName",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub collection_name: Option<String>,
77 #[serde(
78 rename = "taxIdNumber",
79 alias = "TaxIdNumber",
80 skip_serializing_if = "Option::is_none"
81 )]
82 pub tax_id_number: Option<String>,
83 #[serde(
84 rename = "billingAddressLine1",
85 alias = "BillingAddressLine1",
86 skip_serializing_if = "Option::is_none"
87 )]
88 pub billing_address_line1: Option<String>,
89 #[serde(
90 rename = "billingAddressLine2",
91 alias = "BillingAddressLine2",
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub billing_address_line2: Option<String>,
95 #[serde(
96 rename = "billingAddressCity",
97 alias = "BillingAddressCity",
98 skip_serializing_if = "Option::is_none"
99 )]
100 pub billing_address_city: Option<String>,
101 #[serde(
102 rename = "billingAddressState",
103 alias = "BillingAddressState",
104 skip_serializing_if = "Option::is_none"
105 )]
106 pub billing_address_state: Option<String>,
107 #[serde(
108 rename = "billingAddressPostalCode",
109 alias = "BillingAddressPostalCode",
110 skip_serializing_if = "Option::is_none"
111 )]
112 pub billing_address_postal_code: Option<String>,
113 #[serde(
114 rename = "billingAddressCountry",
115 alias = "BillingAddressCountry",
116 skip_serializing_if = "Option::is_none"
117 )]
118 pub billing_address_country: Option<String>,
119 #[serde(
120 rename = "maxAutoscaleSeats",
121 alias = "MaxAutoscaleSeats",
122 skip_serializing_if = "Option::is_none"
123 )]
124 pub max_autoscale_seats: Option<i32>,
125 #[serde(
126 rename = "additionalSmSeats",
127 alias = "AdditionalSmSeats",
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub additional_sm_seats: Option<i32>,
131 #[serde(
132 rename = "additionalServiceAccounts",
133 alias = "AdditionalServiceAccounts",
134 skip_serializing_if = "Option::is_none"
135 )]
136 pub additional_service_accounts: Option<i32>,
137 #[serde(rename = "useSecretsManager", alias = "UseSecretsManager")]
138 pub use_secrets_manager: bool,
139 #[serde(
140 rename = "isFromSecretsManagerTrial",
141 alias = "IsFromSecretsManagerTrial",
142 skip_serializing_if = "Option::is_none"
143 )]
144 pub is_from_secrets_manager_trial: Option<bool>,
145 #[serde(
146 rename = "initiationPath",
147 alias = "InitiationPath",
148 skip_serializing_if = "Option::is_none"
149 )]
150 pub initiation_path: Option<String>,
151 #[serde(
152 rename = "skipTrial",
153 alias = "SkipTrial",
154 skip_serializing_if = "Option::is_none"
155 )]
156 pub skip_trial: Option<bool>,
157}
158
159impl OrganizationCreateRequestModel {
160 pub fn new(
161 name: String,
162 billing_email: String,
163 key: String,
164 use_secrets_manager: bool,
165 ) -> OrganizationCreateRequestModel {
166 OrganizationCreateRequestModel {
167 name,
168 business_name: None,
169 billing_email,
170 plan_type: None,
171 key,
172 keys: None,
173 payment_method_type: None,
174 payment_token: None,
175 additional_seats: None,
176 additional_storage_gb: None,
177 premium_access_addon: None,
178 collection_name: None,
179 tax_id_number: None,
180 billing_address_line1: None,
181 billing_address_line2: None,
182 billing_address_city: None,
183 billing_address_state: None,
184 billing_address_postal_code: None,
185 billing_address_country: None,
186 max_autoscale_seats: None,
187 additional_sm_seats: None,
188 additional_service_accounts: None,
189 use_secrets_manager,
190 is_from_secrets_manager_trial: None,
191 initiation_path: None,
192 skip_trial: None,
193 }
194 }
195}