1use std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21 apis::{ContentType, ResponseContent},
22 models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait TaxApi: Send + Sync {
29 async fn preview_organization_subscription_plan_change_tax<'a>(
31 &self,
32 organization_id: &'a str,
33 id: Option<uuid::Uuid>,
34 identifier: Option<&'a str>,
35 name: Option<&'a str>,
36 business_name: Option<&'a str>,
37 business_address1: Option<&'a str>,
38 business_address2: Option<&'a str>,
39 business_address3: Option<&'a str>,
40 business_country: Option<&'a str>,
41 business_tax_number: Option<&'a str>,
42 billing_email: Option<&'a str>,
43 plan: Option<&'a str>,
44 plan_type: Option<models::PlanType>,
45 seats: Option<i32>,
46 max_collections: Option<i32>,
47 use_policies: Option<bool>,
48 use_sso: Option<bool>,
49 use_key_connector: Option<bool>,
50 use_scim: Option<bool>,
51 use_groups: Option<bool>,
52 use_directory: Option<bool>,
53 use_events: Option<bool>,
54 use_totp: Option<bool>,
55 use2fa: Option<bool>,
56 use_api: Option<bool>,
57 use_reset_password: Option<bool>,
58 use_secrets_manager: Option<bool>,
59 self_host: Option<bool>,
60 users_get_premium: Option<bool>,
61 use_custom_permissions: Option<bool>,
62 storage: Option<i64>,
63 max_storage_gb: Option<i32>,
64 gateway: Option<models::GatewayType>,
65 gateway_customer_id: Option<&'a str>,
66 gateway_subscription_id: Option<&'a str>,
67 reference_data: Option<&'a str>,
68 enabled: Option<bool>,
69 license_key: Option<&'a str>,
70 public_key: Option<&'a str>,
71 private_key: Option<&'a str>,
72 two_factor_providers: Option<&'a str>,
73 expiration_date: Option<String>,
74 creation_date: Option<String>,
75 revision_date: Option<String>,
76 max_autoscale_seats: Option<i32>,
77 owners_notified_of_autoscaling: Option<String>,
78 status: Option<models::OrganizationStatusType>,
79 use_password_manager: Option<bool>,
80 sm_seats: Option<i32>,
81 sm_service_accounts: Option<i32>,
82 max_autoscale_sm_seats: Option<i32>,
83 max_autoscale_sm_service_accounts: Option<i32>,
84 limit_collection_creation: Option<bool>,
85 limit_collection_deletion: Option<bool>,
86 allow_admin_access_to_all_collection_items: Option<bool>,
87 limit_item_deletion: Option<bool>,
88 use_risk_insights: Option<bool>,
89 use_organization_domains: Option<bool>,
90 use_admin_sponsored_families: Option<bool>,
91 sync_seats: Option<bool>,
92 use_automatic_user_confirmation: Option<bool>,
93 preview_organization_subscription_plan_change_tax_request: Option<
94 models::PreviewOrganizationSubscriptionPlanChangeTaxRequest,
95 >,
96 ) -> Result<(), Error<PreviewOrganizationSubscriptionPlanChangeTaxError>>;
97
98 async fn preview_organization_subscription_purchase_tax<'a>(
100 &self,
101 preview_organization_subscription_purchase_tax_request: Option<
102 models::PreviewOrganizationSubscriptionPurchaseTaxRequest,
103 >,
104 ) -> Result<(), Error<PreviewOrganizationSubscriptionPurchaseTaxError>>;
105
106 async fn preview_organization_subscription_update_tax<'a>(
108 &self,
109 organization_id: &'a str,
110 id: Option<uuid::Uuid>,
111 identifier: Option<&'a str>,
112 name: Option<&'a str>,
113 business_name: Option<&'a str>,
114 business_address1: Option<&'a str>,
115 business_address2: Option<&'a str>,
116 business_address3: Option<&'a str>,
117 business_country: Option<&'a str>,
118 business_tax_number: Option<&'a str>,
119 billing_email: Option<&'a str>,
120 plan: Option<&'a str>,
121 plan_type: Option<models::PlanType>,
122 seats: Option<i32>,
123 max_collections: Option<i32>,
124 use_policies: Option<bool>,
125 use_sso: Option<bool>,
126 use_key_connector: Option<bool>,
127 use_scim: Option<bool>,
128 use_groups: Option<bool>,
129 use_directory: Option<bool>,
130 use_events: Option<bool>,
131 use_totp: Option<bool>,
132 use2fa: Option<bool>,
133 use_api: Option<bool>,
134 use_reset_password: Option<bool>,
135 use_secrets_manager: Option<bool>,
136 self_host: Option<bool>,
137 users_get_premium: Option<bool>,
138 use_custom_permissions: Option<bool>,
139 storage: Option<i64>,
140 max_storage_gb: Option<i32>,
141 gateway: Option<models::GatewayType>,
142 gateway_customer_id: Option<&'a str>,
143 gateway_subscription_id: Option<&'a str>,
144 reference_data: Option<&'a str>,
145 enabled: Option<bool>,
146 license_key: Option<&'a str>,
147 public_key: Option<&'a str>,
148 private_key: Option<&'a str>,
149 two_factor_providers: Option<&'a str>,
150 expiration_date: Option<String>,
151 creation_date: Option<String>,
152 revision_date: Option<String>,
153 max_autoscale_seats: Option<i32>,
154 owners_notified_of_autoscaling: Option<String>,
155 status: Option<models::OrganizationStatusType>,
156 use_password_manager: Option<bool>,
157 sm_seats: Option<i32>,
158 sm_service_accounts: Option<i32>,
159 max_autoscale_sm_seats: Option<i32>,
160 max_autoscale_sm_service_accounts: Option<i32>,
161 limit_collection_creation: Option<bool>,
162 limit_collection_deletion: Option<bool>,
163 allow_admin_access_to_all_collection_items: Option<bool>,
164 limit_item_deletion: Option<bool>,
165 use_risk_insights: Option<bool>,
166 use_organization_domains: Option<bool>,
167 use_admin_sponsored_families: Option<bool>,
168 sync_seats: Option<bool>,
169 use_automatic_user_confirmation: Option<bool>,
170 preview_organization_subscription_update_tax_request: Option<
171 models::PreviewOrganizationSubscriptionUpdateTaxRequest,
172 >,
173 ) -> Result<(), Error<PreviewOrganizationSubscriptionUpdateTaxError>>;
174
175 async fn preview_premium_subscription_purchase_tax<'a>(
177 &self,
178 preview_premium_subscription_purchase_tax_request: Option<
179 models::PreviewPremiumSubscriptionPurchaseTaxRequest,
180 >,
181 ) -> Result<(), Error<PreviewPremiumSubscriptionPurchaseTaxError>>;
182}
183
184pub struct TaxApiClient {
185 configuration: Arc<configuration::Configuration>,
186}
187
188impl TaxApiClient {
189 pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
190 Self { configuration }
191 }
192}
193
194#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
195#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
196impl TaxApi for TaxApiClient {
197 async fn preview_organization_subscription_plan_change_tax<'a>(
198 &self,
199 organization_id: &'a str,
200 id: Option<uuid::Uuid>,
201 identifier: Option<&'a str>,
202 name: Option<&'a str>,
203 business_name: Option<&'a str>,
204 business_address1: Option<&'a str>,
205 business_address2: Option<&'a str>,
206 business_address3: Option<&'a str>,
207 business_country: Option<&'a str>,
208 business_tax_number: Option<&'a str>,
209 billing_email: Option<&'a str>,
210 plan: Option<&'a str>,
211 plan_type: Option<models::PlanType>,
212 seats: Option<i32>,
213 max_collections: Option<i32>,
214 use_policies: Option<bool>,
215 use_sso: Option<bool>,
216 use_key_connector: Option<bool>,
217 use_scim: Option<bool>,
218 use_groups: Option<bool>,
219 use_directory: Option<bool>,
220 use_events: Option<bool>,
221 use_totp: Option<bool>,
222 use2fa: Option<bool>,
223 use_api: Option<bool>,
224 use_reset_password: Option<bool>,
225 use_secrets_manager: Option<bool>,
226 self_host: Option<bool>,
227 users_get_premium: Option<bool>,
228 use_custom_permissions: Option<bool>,
229 storage: Option<i64>,
230 max_storage_gb: Option<i32>,
231 gateway: Option<models::GatewayType>,
232 gateway_customer_id: Option<&'a str>,
233 gateway_subscription_id: Option<&'a str>,
234 reference_data: Option<&'a str>,
235 enabled: Option<bool>,
236 license_key: Option<&'a str>,
237 public_key: Option<&'a str>,
238 private_key: Option<&'a str>,
239 two_factor_providers: Option<&'a str>,
240 expiration_date: Option<String>,
241 creation_date: Option<String>,
242 revision_date: Option<String>,
243 max_autoscale_seats: Option<i32>,
244 owners_notified_of_autoscaling: Option<String>,
245 status: Option<models::OrganizationStatusType>,
246 use_password_manager: Option<bool>,
247 sm_seats: Option<i32>,
248 sm_service_accounts: Option<i32>,
249 max_autoscale_sm_seats: Option<i32>,
250 max_autoscale_sm_service_accounts: Option<i32>,
251 limit_collection_creation: Option<bool>,
252 limit_collection_deletion: Option<bool>,
253 allow_admin_access_to_all_collection_items: Option<bool>,
254 limit_item_deletion: Option<bool>,
255 use_risk_insights: Option<bool>,
256 use_organization_domains: Option<bool>,
257 use_admin_sponsored_families: Option<bool>,
258 sync_seats: Option<bool>,
259 use_automatic_user_confirmation: Option<bool>,
260 preview_organization_subscription_plan_change_tax_request: Option<
261 models::PreviewOrganizationSubscriptionPlanChangeTaxRequest,
262 >,
263 ) -> Result<(), Error<PreviewOrganizationSubscriptionPlanChangeTaxError>> {
264 let local_var_configuration = &self.configuration;
265
266 let local_var_client = &local_var_configuration.client;
267
268 let local_var_uri_str = format!(
269 "{}/billing/tax/organizations/{organizationId}/subscription/plan-change",
270 local_var_configuration.base_path,
271 organizationId = crate::apis::urlencode(organization_id)
272 );
273 let mut local_var_req_builder =
274 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
275
276 if let Some(ref param_value) = id {
277 local_var_req_builder =
278 local_var_req_builder.query(&[("id", ¶m_value.to_string())]);
279 }
280 if let Some(ref param_value) = identifier {
281 local_var_req_builder =
282 local_var_req_builder.query(&[("identifier", ¶m_value.to_string())]);
283 }
284 if let Some(ref param_value) = name {
285 local_var_req_builder =
286 local_var_req_builder.query(&[("name", ¶m_value.to_string())]);
287 }
288 if let Some(ref param_value) = business_name {
289 local_var_req_builder =
290 local_var_req_builder.query(&[("businessName", ¶m_value.to_string())]);
291 }
292 if let Some(ref param_value) = business_address1 {
293 local_var_req_builder =
294 local_var_req_builder.query(&[("businessAddress1", ¶m_value.to_string())]);
295 }
296 if let Some(ref param_value) = business_address2 {
297 local_var_req_builder =
298 local_var_req_builder.query(&[("businessAddress2", ¶m_value.to_string())]);
299 }
300 if let Some(ref param_value) = business_address3 {
301 local_var_req_builder =
302 local_var_req_builder.query(&[("businessAddress3", ¶m_value.to_string())]);
303 }
304 if let Some(ref param_value) = business_country {
305 local_var_req_builder =
306 local_var_req_builder.query(&[("businessCountry", ¶m_value.to_string())]);
307 }
308 if let Some(ref param_value) = business_tax_number {
309 local_var_req_builder =
310 local_var_req_builder.query(&[("businessTaxNumber", ¶m_value.to_string())]);
311 }
312 if let Some(ref param_value) = billing_email {
313 local_var_req_builder =
314 local_var_req_builder.query(&[("billingEmail", ¶m_value.to_string())]);
315 }
316 if let Some(ref param_value) = plan {
317 local_var_req_builder =
318 local_var_req_builder.query(&[("plan", ¶m_value.to_string())]);
319 }
320 if let Some(ref param_value) = plan_type {
321 local_var_req_builder =
322 local_var_req_builder.query(&[("planType", ¶m_value.to_string())]);
323 }
324 if let Some(ref param_value) = seats {
325 local_var_req_builder =
326 local_var_req_builder.query(&[("seats", ¶m_value.to_string())]);
327 }
328 if let Some(ref param_value) = max_collections {
329 local_var_req_builder =
330 local_var_req_builder.query(&[("maxCollections", ¶m_value.to_string())]);
331 }
332 if let Some(ref param_value) = use_policies {
333 local_var_req_builder =
334 local_var_req_builder.query(&[("usePolicies", ¶m_value.to_string())]);
335 }
336 if let Some(ref param_value) = use_sso {
337 local_var_req_builder =
338 local_var_req_builder.query(&[("useSso", ¶m_value.to_string())]);
339 }
340 if let Some(ref param_value) = use_key_connector {
341 local_var_req_builder =
342 local_var_req_builder.query(&[("useKeyConnector", ¶m_value.to_string())]);
343 }
344 if let Some(ref param_value) = use_scim {
345 local_var_req_builder =
346 local_var_req_builder.query(&[("useScim", ¶m_value.to_string())]);
347 }
348 if let Some(ref param_value) = use_groups {
349 local_var_req_builder =
350 local_var_req_builder.query(&[("useGroups", ¶m_value.to_string())]);
351 }
352 if let Some(ref param_value) = use_directory {
353 local_var_req_builder =
354 local_var_req_builder.query(&[("useDirectory", ¶m_value.to_string())]);
355 }
356 if let Some(ref param_value) = use_events {
357 local_var_req_builder =
358 local_var_req_builder.query(&[("useEvents", ¶m_value.to_string())]);
359 }
360 if let Some(ref param_value) = use_totp {
361 local_var_req_builder =
362 local_var_req_builder.query(&[("useTotp", ¶m_value.to_string())]);
363 }
364 if let Some(ref param_value) = use2fa {
365 local_var_req_builder =
366 local_var_req_builder.query(&[("use2fa", ¶m_value.to_string())]);
367 }
368 if let Some(ref param_value) = use_api {
369 local_var_req_builder =
370 local_var_req_builder.query(&[("useApi", ¶m_value.to_string())]);
371 }
372 if let Some(ref param_value) = use_reset_password {
373 local_var_req_builder =
374 local_var_req_builder.query(&[("useResetPassword", ¶m_value.to_string())]);
375 }
376 if let Some(ref param_value) = use_secrets_manager {
377 local_var_req_builder =
378 local_var_req_builder.query(&[("useSecretsManager", ¶m_value.to_string())]);
379 }
380 if let Some(ref param_value) = self_host {
381 local_var_req_builder =
382 local_var_req_builder.query(&[("selfHost", ¶m_value.to_string())]);
383 }
384 if let Some(ref param_value) = users_get_premium {
385 local_var_req_builder =
386 local_var_req_builder.query(&[("usersGetPremium", ¶m_value.to_string())]);
387 }
388 if let Some(ref param_value) = use_custom_permissions {
389 local_var_req_builder =
390 local_var_req_builder.query(&[("useCustomPermissions", ¶m_value.to_string())]);
391 }
392 if let Some(ref param_value) = storage {
393 local_var_req_builder =
394 local_var_req_builder.query(&[("storage", ¶m_value.to_string())]);
395 }
396 if let Some(ref param_value) = max_storage_gb {
397 local_var_req_builder =
398 local_var_req_builder.query(&[("maxStorageGb", ¶m_value.to_string())]);
399 }
400 if let Some(ref param_value) = gateway {
401 local_var_req_builder =
402 local_var_req_builder.query(&[("gateway", ¶m_value.to_string())]);
403 }
404 if let Some(ref param_value) = gateway_customer_id {
405 local_var_req_builder =
406 local_var_req_builder.query(&[("gatewayCustomerId", ¶m_value.to_string())]);
407 }
408 if let Some(ref param_value) = gateway_subscription_id {
409 local_var_req_builder =
410 local_var_req_builder.query(&[("gatewaySubscriptionId", ¶m_value.to_string())]);
411 }
412 if let Some(ref param_value) = reference_data {
413 local_var_req_builder =
414 local_var_req_builder.query(&[("referenceData", ¶m_value.to_string())]);
415 }
416 if let Some(ref param_value) = enabled {
417 local_var_req_builder =
418 local_var_req_builder.query(&[("enabled", ¶m_value.to_string())]);
419 }
420 if let Some(ref param_value) = license_key {
421 local_var_req_builder =
422 local_var_req_builder.query(&[("licenseKey", ¶m_value.to_string())]);
423 }
424 if let Some(ref param_value) = public_key {
425 local_var_req_builder =
426 local_var_req_builder.query(&[("publicKey", ¶m_value.to_string())]);
427 }
428 if let Some(ref param_value) = private_key {
429 local_var_req_builder =
430 local_var_req_builder.query(&[("privateKey", ¶m_value.to_string())]);
431 }
432 if let Some(ref param_value) = two_factor_providers {
433 local_var_req_builder =
434 local_var_req_builder.query(&[("twoFactorProviders", ¶m_value.to_string())]);
435 }
436 if let Some(ref param_value) = expiration_date {
437 local_var_req_builder =
438 local_var_req_builder.query(&[("expirationDate", ¶m_value.to_string())]);
439 }
440 if let Some(ref param_value) = creation_date {
441 local_var_req_builder =
442 local_var_req_builder.query(&[("creationDate", ¶m_value.to_string())]);
443 }
444 if let Some(ref param_value) = revision_date {
445 local_var_req_builder =
446 local_var_req_builder.query(&[("revisionDate", ¶m_value.to_string())]);
447 }
448 if let Some(ref param_value) = max_autoscale_seats {
449 local_var_req_builder =
450 local_var_req_builder.query(&[("maxAutoscaleSeats", ¶m_value.to_string())]);
451 }
452 if let Some(ref param_value) = owners_notified_of_autoscaling {
453 local_var_req_builder = local_var_req_builder
454 .query(&[("ownersNotifiedOfAutoscaling", ¶m_value.to_string())]);
455 }
456 if let Some(ref param_value) = status {
457 local_var_req_builder =
458 local_var_req_builder.query(&[("status", ¶m_value.to_string())]);
459 }
460 if let Some(ref param_value) = use_password_manager {
461 local_var_req_builder =
462 local_var_req_builder.query(&[("usePasswordManager", ¶m_value.to_string())]);
463 }
464 if let Some(ref param_value) = sm_seats {
465 local_var_req_builder =
466 local_var_req_builder.query(&[("smSeats", ¶m_value.to_string())]);
467 }
468 if let Some(ref param_value) = sm_service_accounts {
469 local_var_req_builder =
470 local_var_req_builder.query(&[("smServiceAccounts", ¶m_value.to_string())]);
471 }
472 if let Some(ref param_value) = max_autoscale_sm_seats {
473 local_var_req_builder =
474 local_var_req_builder.query(&[("maxAutoscaleSmSeats", ¶m_value.to_string())]);
475 }
476 if let Some(ref param_value) = max_autoscale_sm_service_accounts {
477 local_var_req_builder = local_var_req_builder
478 .query(&[("maxAutoscaleSmServiceAccounts", ¶m_value.to_string())]);
479 }
480 if let Some(ref param_value) = limit_collection_creation {
481 local_var_req_builder = local_var_req_builder
482 .query(&[("limitCollectionCreation", ¶m_value.to_string())]);
483 }
484 if let Some(ref param_value) = limit_collection_deletion {
485 local_var_req_builder = local_var_req_builder
486 .query(&[("limitCollectionDeletion", ¶m_value.to_string())]);
487 }
488 if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
489 local_var_req_builder = local_var_req_builder.query(&[(
490 "allowAdminAccessToAllCollectionItems",
491 ¶m_value.to_string(),
492 )]);
493 }
494 if let Some(ref param_value) = limit_item_deletion {
495 local_var_req_builder =
496 local_var_req_builder.query(&[("limitItemDeletion", ¶m_value.to_string())]);
497 }
498 if let Some(ref param_value) = use_risk_insights {
499 local_var_req_builder =
500 local_var_req_builder.query(&[("useRiskInsights", ¶m_value.to_string())]);
501 }
502 if let Some(ref param_value) = use_organization_domains {
503 local_var_req_builder = local_var_req_builder
504 .query(&[("useOrganizationDomains", ¶m_value.to_string())]);
505 }
506 if let Some(ref param_value) = use_admin_sponsored_families {
507 local_var_req_builder = local_var_req_builder
508 .query(&[("useAdminSponsoredFamilies", ¶m_value.to_string())]);
509 }
510 if let Some(ref param_value) = sync_seats {
511 local_var_req_builder =
512 local_var_req_builder.query(&[("syncSeats", ¶m_value.to_string())]);
513 }
514 if let Some(ref param_value) = use_automatic_user_confirmation {
515 local_var_req_builder = local_var_req_builder
516 .query(&[("useAutomaticUserConfirmation", ¶m_value.to_string())]);
517 }
518 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
519 local_var_req_builder = local_var_req_builder
520 .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
521 }
522 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
523 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
524 };
525 local_var_req_builder =
526 local_var_req_builder.json(&preview_organization_subscription_plan_change_tax_request);
527
528 let local_var_req = local_var_req_builder.build()?;
529 let local_var_resp = local_var_client.execute(local_var_req).await?;
530
531 let local_var_status = local_var_resp.status();
532 let local_var_content = local_var_resp.text().await?;
533
534 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
535 Ok(())
536 } else {
537 let local_var_entity: Option<PreviewOrganizationSubscriptionPlanChangeTaxError> =
538 serde_json::from_str(&local_var_content).ok();
539 let local_var_error = ResponseContent {
540 status: local_var_status,
541 content: local_var_content,
542 entity: local_var_entity,
543 };
544 Err(Error::ResponseError(local_var_error))
545 }
546 }
547
548 async fn preview_organization_subscription_purchase_tax<'a>(
549 &self,
550 preview_organization_subscription_purchase_tax_request: Option<
551 models::PreviewOrganizationSubscriptionPurchaseTaxRequest,
552 >,
553 ) -> Result<(), Error<PreviewOrganizationSubscriptionPurchaseTaxError>> {
554 let local_var_configuration = &self.configuration;
555
556 let local_var_client = &local_var_configuration.client;
557
558 let local_var_uri_str = format!(
559 "{}/billing/tax/organizations/subscriptions/purchase",
560 local_var_configuration.base_path
561 );
562 let mut local_var_req_builder =
563 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
564
565 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
566 local_var_req_builder = local_var_req_builder
567 .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
568 }
569 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
570 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
571 };
572 local_var_req_builder =
573 local_var_req_builder.json(&preview_organization_subscription_purchase_tax_request);
574
575 let local_var_req = local_var_req_builder.build()?;
576 let local_var_resp = local_var_client.execute(local_var_req).await?;
577
578 let local_var_status = local_var_resp.status();
579 let local_var_content = local_var_resp.text().await?;
580
581 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
582 Ok(())
583 } else {
584 let local_var_entity: Option<PreviewOrganizationSubscriptionPurchaseTaxError> =
585 serde_json::from_str(&local_var_content).ok();
586 let local_var_error = ResponseContent {
587 status: local_var_status,
588 content: local_var_content,
589 entity: local_var_entity,
590 };
591 Err(Error::ResponseError(local_var_error))
592 }
593 }
594
595 async fn preview_organization_subscription_update_tax<'a>(
596 &self,
597 organization_id: &'a str,
598 id: Option<uuid::Uuid>,
599 identifier: Option<&'a str>,
600 name: Option<&'a str>,
601 business_name: Option<&'a str>,
602 business_address1: Option<&'a str>,
603 business_address2: Option<&'a str>,
604 business_address3: Option<&'a str>,
605 business_country: Option<&'a str>,
606 business_tax_number: Option<&'a str>,
607 billing_email: Option<&'a str>,
608 plan: Option<&'a str>,
609 plan_type: Option<models::PlanType>,
610 seats: Option<i32>,
611 max_collections: Option<i32>,
612 use_policies: Option<bool>,
613 use_sso: Option<bool>,
614 use_key_connector: Option<bool>,
615 use_scim: Option<bool>,
616 use_groups: Option<bool>,
617 use_directory: Option<bool>,
618 use_events: Option<bool>,
619 use_totp: Option<bool>,
620 use2fa: Option<bool>,
621 use_api: Option<bool>,
622 use_reset_password: Option<bool>,
623 use_secrets_manager: Option<bool>,
624 self_host: Option<bool>,
625 users_get_premium: Option<bool>,
626 use_custom_permissions: Option<bool>,
627 storage: Option<i64>,
628 max_storage_gb: Option<i32>,
629 gateway: Option<models::GatewayType>,
630 gateway_customer_id: Option<&'a str>,
631 gateway_subscription_id: Option<&'a str>,
632 reference_data: Option<&'a str>,
633 enabled: Option<bool>,
634 license_key: Option<&'a str>,
635 public_key: Option<&'a str>,
636 private_key: Option<&'a str>,
637 two_factor_providers: Option<&'a str>,
638 expiration_date: Option<String>,
639 creation_date: Option<String>,
640 revision_date: Option<String>,
641 max_autoscale_seats: Option<i32>,
642 owners_notified_of_autoscaling: Option<String>,
643 status: Option<models::OrganizationStatusType>,
644 use_password_manager: Option<bool>,
645 sm_seats: Option<i32>,
646 sm_service_accounts: Option<i32>,
647 max_autoscale_sm_seats: Option<i32>,
648 max_autoscale_sm_service_accounts: Option<i32>,
649 limit_collection_creation: Option<bool>,
650 limit_collection_deletion: Option<bool>,
651 allow_admin_access_to_all_collection_items: Option<bool>,
652 limit_item_deletion: Option<bool>,
653 use_risk_insights: Option<bool>,
654 use_organization_domains: Option<bool>,
655 use_admin_sponsored_families: Option<bool>,
656 sync_seats: Option<bool>,
657 use_automatic_user_confirmation: Option<bool>,
658 preview_organization_subscription_update_tax_request: Option<
659 models::PreviewOrganizationSubscriptionUpdateTaxRequest,
660 >,
661 ) -> Result<(), Error<PreviewOrganizationSubscriptionUpdateTaxError>> {
662 let local_var_configuration = &self.configuration;
663
664 let local_var_client = &local_var_configuration.client;
665
666 let local_var_uri_str = format!(
667 "{}/billing/tax/organizations/{organizationId}/subscription/update",
668 local_var_configuration.base_path,
669 organizationId = crate::apis::urlencode(organization_id)
670 );
671 let mut local_var_req_builder =
672 local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
673
674 if let Some(ref param_value) = id {
675 local_var_req_builder =
676 local_var_req_builder.query(&[("id", ¶m_value.to_string())]);
677 }
678 if let Some(ref param_value) = identifier {
679 local_var_req_builder =
680 local_var_req_builder.query(&[("identifier", ¶m_value.to_string())]);
681 }
682 if let Some(ref param_value) = name {
683 local_var_req_builder =
684 local_var_req_builder.query(&[("name", ¶m_value.to_string())]);
685 }
686 if let Some(ref param_value) = business_name {
687 local_var_req_builder =
688 local_var_req_builder.query(&[("businessName", ¶m_value.to_string())]);
689 }
690 if let Some(ref param_value) = business_address1 {
691 local_var_req_builder =
692 local_var_req_builder.query(&[("businessAddress1", ¶m_value.to_string())]);
693 }
694 if let Some(ref param_value) = business_address2 {
695 local_var_req_builder =
696 local_var_req_builder.query(&[("businessAddress2", ¶m_value.to_string())]);
697 }
698 if let Some(ref param_value) = business_address3 {
699 local_var_req_builder =
700 local_var_req_builder.query(&[("businessAddress3", ¶m_value.to_string())]);
701 }
702 if let Some(ref param_value) = business_country {
703 local_var_req_builder =
704 local_var_req_builder.query(&[("businessCountry", ¶m_value.to_string())]);
705 }
706 if let Some(ref param_value) = business_tax_number {
707 local_var_req_builder =
708 local_var_req_builder.query(&[("businessTaxNumber", ¶m_value.to_string())]);
709 }
710 if let Some(ref param_value) = billing_email {
711 local_var_req_builder =
712 local_var_req_builder.query(&[("billingEmail", ¶m_value.to_string())]);
713 }
714 if let Some(ref param_value) = plan {
715 local_var_req_builder =
716 local_var_req_builder.query(&[("plan", ¶m_value.to_string())]);
717 }
718 if let Some(ref param_value) = plan_type {
719 local_var_req_builder =
720 local_var_req_builder.query(&[("planType", ¶m_value.to_string())]);
721 }
722 if let Some(ref param_value) = seats {
723 local_var_req_builder =
724 local_var_req_builder.query(&[("seats", ¶m_value.to_string())]);
725 }
726 if let Some(ref param_value) = max_collections {
727 local_var_req_builder =
728 local_var_req_builder.query(&[("maxCollections", ¶m_value.to_string())]);
729 }
730 if let Some(ref param_value) = use_policies {
731 local_var_req_builder =
732 local_var_req_builder.query(&[("usePolicies", ¶m_value.to_string())]);
733 }
734 if let Some(ref param_value) = use_sso {
735 local_var_req_builder =
736 local_var_req_builder.query(&[("useSso", ¶m_value.to_string())]);
737 }
738 if let Some(ref param_value) = use_key_connector {
739 local_var_req_builder =
740 local_var_req_builder.query(&[("useKeyConnector", ¶m_value.to_string())]);
741 }
742 if let Some(ref param_value) = use_scim {
743 local_var_req_builder =
744 local_var_req_builder.query(&[("useScim", ¶m_value.to_string())]);
745 }
746 if let Some(ref param_value) = use_groups {
747 local_var_req_builder =
748 local_var_req_builder.query(&[("useGroups", ¶m_value.to_string())]);
749 }
750 if let Some(ref param_value) = use_directory {
751 local_var_req_builder =
752 local_var_req_builder.query(&[("useDirectory", ¶m_value.to_string())]);
753 }
754 if let Some(ref param_value) = use_events {
755 local_var_req_builder =
756 local_var_req_builder.query(&[("useEvents", ¶m_value.to_string())]);
757 }
758 if let Some(ref param_value) = use_totp {
759 local_var_req_builder =
760 local_var_req_builder.query(&[("useTotp", ¶m_value.to_string())]);
761 }
762 if let Some(ref param_value) = use2fa {
763 local_var_req_builder =
764 local_var_req_builder.query(&[("use2fa", ¶m_value.to_string())]);
765 }
766 if let Some(ref param_value) = use_api {
767 local_var_req_builder =
768 local_var_req_builder.query(&[("useApi", ¶m_value.to_string())]);
769 }
770 if let Some(ref param_value) = use_reset_password {
771 local_var_req_builder =
772 local_var_req_builder.query(&[("useResetPassword", ¶m_value.to_string())]);
773 }
774 if let Some(ref param_value) = use_secrets_manager {
775 local_var_req_builder =
776 local_var_req_builder.query(&[("useSecretsManager", ¶m_value.to_string())]);
777 }
778 if let Some(ref param_value) = self_host {
779 local_var_req_builder =
780 local_var_req_builder.query(&[("selfHost", ¶m_value.to_string())]);
781 }
782 if let Some(ref param_value) = users_get_premium {
783 local_var_req_builder =
784 local_var_req_builder.query(&[("usersGetPremium", ¶m_value.to_string())]);
785 }
786 if let Some(ref param_value) = use_custom_permissions {
787 local_var_req_builder =
788 local_var_req_builder.query(&[("useCustomPermissions", ¶m_value.to_string())]);
789 }
790 if let Some(ref param_value) = storage {
791 local_var_req_builder =
792 local_var_req_builder.query(&[("storage", ¶m_value.to_string())]);
793 }
794 if let Some(ref param_value) = max_storage_gb {
795 local_var_req_builder =
796 local_var_req_builder.query(&[("maxStorageGb", ¶m_value.to_string())]);
797 }
798 if let Some(ref param_value) = gateway {
799 local_var_req_builder =
800 local_var_req_builder.query(&[("gateway", ¶m_value.to_string())]);
801 }
802 if let Some(ref param_value) = gateway_customer_id {
803 local_var_req_builder =
804 local_var_req_builder.query(&[("gatewayCustomerId", ¶m_value.to_string())]);
805 }
806 if let Some(ref param_value) = gateway_subscription_id {
807 local_var_req_builder =
808 local_var_req_builder.query(&[("gatewaySubscriptionId", ¶m_value.to_string())]);
809 }
810 if let Some(ref param_value) = reference_data {
811 local_var_req_builder =
812 local_var_req_builder.query(&[("referenceData", ¶m_value.to_string())]);
813 }
814 if let Some(ref param_value) = enabled {
815 local_var_req_builder =
816 local_var_req_builder.query(&[("enabled", ¶m_value.to_string())]);
817 }
818 if let Some(ref param_value) = license_key {
819 local_var_req_builder =
820 local_var_req_builder.query(&[("licenseKey", ¶m_value.to_string())]);
821 }
822 if let Some(ref param_value) = public_key {
823 local_var_req_builder =
824 local_var_req_builder.query(&[("publicKey", ¶m_value.to_string())]);
825 }
826 if let Some(ref param_value) = private_key {
827 local_var_req_builder =
828 local_var_req_builder.query(&[("privateKey", ¶m_value.to_string())]);
829 }
830 if let Some(ref param_value) = two_factor_providers {
831 local_var_req_builder =
832 local_var_req_builder.query(&[("twoFactorProviders", ¶m_value.to_string())]);
833 }
834 if let Some(ref param_value) = expiration_date {
835 local_var_req_builder =
836 local_var_req_builder.query(&[("expirationDate", ¶m_value.to_string())]);
837 }
838 if let Some(ref param_value) = creation_date {
839 local_var_req_builder =
840 local_var_req_builder.query(&[("creationDate", ¶m_value.to_string())]);
841 }
842 if let Some(ref param_value) = revision_date {
843 local_var_req_builder =
844 local_var_req_builder.query(&[("revisionDate", ¶m_value.to_string())]);
845 }
846 if let Some(ref param_value) = max_autoscale_seats {
847 local_var_req_builder =
848 local_var_req_builder.query(&[("maxAutoscaleSeats", ¶m_value.to_string())]);
849 }
850 if let Some(ref param_value) = owners_notified_of_autoscaling {
851 local_var_req_builder = local_var_req_builder
852 .query(&[("ownersNotifiedOfAutoscaling", ¶m_value.to_string())]);
853 }
854 if let Some(ref param_value) = status {
855 local_var_req_builder =
856 local_var_req_builder.query(&[("status", ¶m_value.to_string())]);
857 }
858 if let Some(ref param_value) = use_password_manager {
859 local_var_req_builder =
860 local_var_req_builder.query(&[("usePasswordManager", ¶m_value.to_string())]);
861 }
862 if let Some(ref param_value) = sm_seats {
863 local_var_req_builder =
864 local_var_req_builder.query(&[("smSeats", ¶m_value.to_string())]);
865 }
866 if let Some(ref param_value) = sm_service_accounts {
867 local_var_req_builder =
868 local_var_req_builder.query(&[("smServiceAccounts", ¶m_value.to_string())]);
869 }
870 if let Some(ref param_value) = max_autoscale_sm_seats {
871 local_var_req_builder =
872 local_var_req_builder.query(&[("maxAutoscaleSmSeats", ¶m_value.to_string())]);
873 }
874 if let Some(ref param_value) = max_autoscale_sm_service_accounts {
875 local_var_req_builder = local_var_req_builder
876 .query(&[("maxAutoscaleSmServiceAccounts", ¶m_value.to_string())]);
877 }
878 if let Some(ref param_value) = limit_collection_creation {
879 local_var_req_builder = local_var_req_builder
880 .query(&[("limitCollectionCreation", ¶m_value.to_string())]);
881 }
882 if let Some(ref param_value) = limit_collection_deletion {
883 local_var_req_builder = local_var_req_builder
884 .query(&[("limitCollectionDeletion", ¶m_value.to_string())]);
885 }
886 if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
887 local_var_req_builder = local_var_req_builder.query(&[(
888 "allowAdminAccessToAllCollectionItems",
889 ¶m_value.to_string(),
890 )]);
891 }
892 if let Some(ref param_value) = limit_item_deletion {
893 local_var_req_builder =
894 local_var_req_builder.query(&[("limitItemDeletion", ¶m_value.to_string())]);
895 }
896 if let Some(ref param_value) = use_risk_insights {
897 local_var_req_builder =
898 local_var_req_builder.query(&[("useRiskInsights", ¶m_value.to_string())]);
899 }
900 if let Some(ref param_value) = use_organization_domains {
901 local_var_req_builder = local_var_req_builder
902 .query(&[("useOrganizationDomains", ¶m_value.to_string())]);
903 }
904 if let Some(ref param_value) = use_admin_sponsored_families {
905 local_var_req_builder = local_var_req_builder
906 .query(&[("useAdminSponsoredFamilies", ¶m_value.to_string())]);
907 }
908 if let Some(ref param_value) = sync_seats {
909 local_var_req_builder =
910 local_var_req_builder.query(&[("syncSeats", ¶m_value.to_string())]);
911 }
912 if let Some(ref param_value) = use_automatic_user_confirmation {
913 local_var_req_builder = local_var_req_builder
914 .query(&[("useAutomaticUserConfirmation", ¶m_value.to_string())]);
915 }
916 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
917 local_var_req_builder = local_var_req_builder
918 .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
919 }
920 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
921 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
922 };
923 local_var_req_builder =
924 local_var_req_builder.json(&preview_organization_subscription_update_tax_request);
925
926 let local_var_req = local_var_req_builder.build()?;
927 let local_var_resp = local_var_client.execute(local_var_req).await?;
928
929 let local_var_status = local_var_resp.status();
930 let local_var_content = local_var_resp.text().await?;
931
932 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
933 Ok(())
934 } else {
935 let local_var_entity: Option<PreviewOrganizationSubscriptionUpdateTaxError> =
936 serde_json::from_str(&local_var_content).ok();
937 let local_var_error = ResponseContent {
938 status: local_var_status,
939 content: local_var_content,
940 entity: local_var_entity,
941 };
942 Err(Error::ResponseError(local_var_error))
943 }
944 }
945
946 async fn preview_premium_subscription_purchase_tax<'a>(
947 &self,
948 preview_premium_subscription_purchase_tax_request: Option<
949 models::PreviewPremiumSubscriptionPurchaseTaxRequest,
950 >,
951 ) -> Result<(), Error<PreviewPremiumSubscriptionPurchaseTaxError>> {
952 let local_var_configuration = &self.configuration;
953
954 let local_var_client = &local_var_configuration.client;
955
956 let local_var_uri_str = format!(
957 "{}/billing/tax/premium/subscriptions/purchase",
958 local_var_configuration.base_path
959 );
960 let mut local_var_req_builder =
961 local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
962
963 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
964 local_var_req_builder = local_var_req_builder
965 .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
966 }
967 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
968 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
969 };
970 local_var_req_builder =
971 local_var_req_builder.json(&preview_premium_subscription_purchase_tax_request);
972
973 let local_var_req = local_var_req_builder.build()?;
974 let local_var_resp = local_var_client.execute(local_var_req).await?;
975
976 let local_var_status = local_var_resp.status();
977 let local_var_content = local_var_resp.text().await?;
978
979 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
980 Ok(())
981 } else {
982 let local_var_entity: Option<PreviewPremiumSubscriptionPurchaseTaxError> =
983 serde_json::from_str(&local_var_content).ok();
984 let local_var_error = ResponseContent {
985 status: local_var_status,
986 content: local_var_content,
987 entity: local_var_entity,
988 };
989 Err(Error::ResponseError(local_var_error))
990 }
991 }
992}
993
994#[derive(Debug, Clone, Serialize, Deserialize)]
996#[serde(untagged)]
997pub enum PreviewOrganizationSubscriptionPlanChangeTaxError {
998 UnknownValue(serde_json::Value),
999}
1000#[derive(Debug, Clone, Serialize, Deserialize)]
1002#[serde(untagged)]
1003pub enum PreviewOrganizationSubscriptionPurchaseTaxError {
1004 UnknownValue(serde_json::Value),
1005}
1006#[derive(Debug, Clone, Serialize, Deserialize)]
1008#[serde(untagged)]
1009pub enum PreviewOrganizationSubscriptionUpdateTaxError {
1010 UnknownValue(serde_json::Value),
1011}
1012#[derive(Debug, Clone, Serialize, Deserialize)]
1014#[serde(untagged)]
1015pub enum PreviewPremiumSubscriptionPurchaseTaxError {
1016 UnknownValue(serde_json::Value),
1017}