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