bitwarden_api_api/apis/
organization_billing_v_next_api.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 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::{AuthRequired, 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 OrganizationBillingVNextApi: Send + Sync {
29    /// POST /organizations/{organizationId}/billing/vnext/credit/bitpay
30    async fn add_credit_via_bit_pay<'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        use_disable_sm_ads_for_users: Option<bool>,
94        use_phishing_blocker: Option<bool>,
95        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
96    ) -> Result<(), Error<AddCreditViaBitPayError>>;
97
98    /// GET /organizations/{organizationId}/billing/vnext/address
99    async fn get_billing_address<'a>(
100        &self,
101        organization_id: &'a str,
102        id: Option<uuid::Uuid>,
103        identifier: Option<&'a str>,
104        name: Option<&'a str>,
105        business_name: Option<&'a str>,
106        business_address1: Option<&'a str>,
107        business_address2: Option<&'a str>,
108        business_address3: Option<&'a str>,
109        business_country: Option<&'a str>,
110        business_tax_number: Option<&'a str>,
111        billing_email: Option<&'a str>,
112        plan: Option<&'a str>,
113        plan_type: Option<models::PlanType>,
114        seats: Option<i32>,
115        max_collections: Option<i32>,
116        use_policies: Option<bool>,
117        use_sso: Option<bool>,
118        use_key_connector: Option<bool>,
119        use_scim: Option<bool>,
120        use_groups: Option<bool>,
121        use_directory: Option<bool>,
122        use_events: Option<bool>,
123        use_totp: Option<bool>,
124        use2fa: Option<bool>,
125        use_api: Option<bool>,
126        use_reset_password: Option<bool>,
127        use_secrets_manager: Option<bool>,
128        self_host: Option<bool>,
129        users_get_premium: Option<bool>,
130        use_custom_permissions: Option<bool>,
131        storage: Option<i64>,
132        max_storage_gb: Option<i32>,
133        gateway: Option<models::GatewayType>,
134        gateway_customer_id: Option<&'a str>,
135        gateway_subscription_id: Option<&'a str>,
136        reference_data: Option<&'a str>,
137        enabled: Option<bool>,
138        license_key: Option<&'a str>,
139        public_key: Option<&'a str>,
140        private_key: Option<&'a str>,
141        two_factor_providers: Option<&'a str>,
142        expiration_date: Option<String>,
143        creation_date: Option<String>,
144        revision_date: Option<String>,
145        max_autoscale_seats: Option<i32>,
146        owners_notified_of_autoscaling: Option<String>,
147        status: Option<models::OrganizationStatusType>,
148        use_password_manager: Option<bool>,
149        sm_seats: Option<i32>,
150        sm_service_accounts: Option<i32>,
151        max_autoscale_sm_seats: Option<i32>,
152        max_autoscale_sm_service_accounts: Option<i32>,
153        limit_collection_creation: Option<bool>,
154        limit_collection_deletion: Option<bool>,
155        allow_admin_access_to_all_collection_items: Option<bool>,
156        limit_item_deletion: Option<bool>,
157        use_risk_insights: Option<bool>,
158        use_organization_domains: Option<bool>,
159        use_admin_sponsored_families: Option<bool>,
160        sync_seats: Option<bool>,
161        use_automatic_user_confirmation: Option<bool>,
162        use_disable_sm_ads_for_users: Option<bool>,
163        use_phishing_blocker: Option<bool>,
164    ) -> Result<(), Error<GetBillingAddressError>>;
165
166    /// GET /organizations/{organizationId}/billing/vnext/credit
167    async fn get_credit<'a>(
168        &self,
169        organization_id: &'a str,
170        id: Option<uuid::Uuid>,
171        identifier: Option<&'a str>,
172        name: Option<&'a str>,
173        business_name: Option<&'a str>,
174        business_address1: Option<&'a str>,
175        business_address2: Option<&'a str>,
176        business_address3: Option<&'a str>,
177        business_country: Option<&'a str>,
178        business_tax_number: Option<&'a str>,
179        billing_email: Option<&'a str>,
180        plan: Option<&'a str>,
181        plan_type: Option<models::PlanType>,
182        seats: Option<i32>,
183        max_collections: Option<i32>,
184        use_policies: Option<bool>,
185        use_sso: Option<bool>,
186        use_key_connector: Option<bool>,
187        use_scim: Option<bool>,
188        use_groups: Option<bool>,
189        use_directory: Option<bool>,
190        use_events: Option<bool>,
191        use_totp: Option<bool>,
192        use2fa: Option<bool>,
193        use_api: Option<bool>,
194        use_reset_password: Option<bool>,
195        use_secrets_manager: Option<bool>,
196        self_host: Option<bool>,
197        users_get_premium: Option<bool>,
198        use_custom_permissions: Option<bool>,
199        storage: Option<i64>,
200        max_storage_gb: Option<i32>,
201        gateway: Option<models::GatewayType>,
202        gateway_customer_id: Option<&'a str>,
203        gateway_subscription_id: Option<&'a str>,
204        reference_data: Option<&'a str>,
205        enabled: Option<bool>,
206        license_key: Option<&'a str>,
207        public_key: Option<&'a str>,
208        private_key: Option<&'a str>,
209        two_factor_providers: Option<&'a str>,
210        expiration_date: Option<String>,
211        creation_date: Option<String>,
212        revision_date: Option<String>,
213        max_autoscale_seats: Option<i32>,
214        owners_notified_of_autoscaling: Option<String>,
215        status: Option<models::OrganizationStatusType>,
216        use_password_manager: Option<bool>,
217        sm_seats: Option<i32>,
218        sm_service_accounts: Option<i32>,
219        max_autoscale_sm_seats: Option<i32>,
220        max_autoscale_sm_service_accounts: Option<i32>,
221        limit_collection_creation: Option<bool>,
222        limit_collection_deletion: Option<bool>,
223        allow_admin_access_to_all_collection_items: Option<bool>,
224        limit_item_deletion: Option<bool>,
225        use_risk_insights: Option<bool>,
226        use_organization_domains: Option<bool>,
227        use_admin_sponsored_families: Option<bool>,
228        sync_seats: Option<bool>,
229        use_automatic_user_confirmation: Option<bool>,
230        use_disable_sm_ads_for_users: Option<bool>,
231        use_phishing_blocker: Option<bool>,
232    ) -> Result<(), Error<GetCreditError>>;
233
234    /// GET /organizations/{organizationId}/billing/vnext/metadata
235    async fn get_metadata<'a>(
236        &self,
237        organization_id: &'a str,
238        id: Option<uuid::Uuid>,
239        identifier: Option<&'a str>,
240        name: Option<&'a str>,
241        business_name: Option<&'a str>,
242        business_address1: Option<&'a str>,
243        business_address2: Option<&'a str>,
244        business_address3: Option<&'a str>,
245        business_country: Option<&'a str>,
246        business_tax_number: Option<&'a str>,
247        billing_email: Option<&'a str>,
248        plan: Option<&'a str>,
249        plan_type: Option<models::PlanType>,
250        seats: Option<i32>,
251        max_collections: Option<i32>,
252        use_policies: Option<bool>,
253        use_sso: Option<bool>,
254        use_key_connector: Option<bool>,
255        use_scim: Option<bool>,
256        use_groups: Option<bool>,
257        use_directory: Option<bool>,
258        use_events: Option<bool>,
259        use_totp: Option<bool>,
260        use2fa: Option<bool>,
261        use_api: Option<bool>,
262        use_reset_password: Option<bool>,
263        use_secrets_manager: Option<bool>,
264        self_host: Option<bool>,
265        users_get_premium: Option<bool>,
266        use_custom_permissions: Option<bool>,
267        storage: Option<i64>,
268        max_storage_gb: Option<i32>,
269        gateway: Option<models::GatewayType>,
270        gateway_customer_id: Option<&'a str>,
271        gateway_subscription_id: Option<&'a str>,
272        reference_data: Option<&'a str>,
273        enabled: Option<bool>,
274        license_key: Option<&'a str>,
275        public_key: Option<&'a str>,
276        private_key: Option<&'a str>,
277        two_factor_providers: Option<&'a str>,
278        expiration_date: Option<String>,
279        creation_date: Option<String>,
280        revision_date: Option<String>,
281        max_autoscale_seats: Option<i32>,
282        owners_notified_of_autoscaling: Option<String>,
283        status: Option<models::OrganizationStatusType>,
284        use_password_manager: Option<bool>,
285        sm_seats: Option<i32>,
286        sm_service_accounts: Option<i32>,
287        max_autoscale_sm_seats: Option<i32>,
288        max_autoscale_sm_service_accounts: Option<i32>,
289        limit_collection_creation: Option<bool>,
290        limit_collection_deletion: Option<bool>,
291        allow_admin_access_to_all_collection_items: Option<bool>,
292        limit_item_deletion: Option<bool>,
293        use_risk_insights: Option<bool>,
294        use_organization_domains: Option<bool>,
295        use_admin_sponsored_families: Option<bool>,
296        sync_seats: Option<bool>,
297        use_automatic_user_confirmation: Option<bool>,
298        use_disable_sm_ads_for_users: Option<bool>,
299        use_phishing_blocker: Option<bool>,
300    ) -> Result<(), Error<GetMetadataError>>;
301
302    /// GET /organizations/{organizationId}/billing/vnext/payment-method
303    async fn get_payment_method<'a>(
304        &self,
305        organization_id: &'a str,
306        id: Option<uuid::Uuid>,
307        identifier: Option<&'a str>,
308        name: Option<&'a str>,
309        business_name: Option<&'a str>,
310        business_address1: Option<&'a str>,
311        business_address2: Option<&'a str>,
312        business_address3: Option<&'a str>,
313        business_country: Option<&'a str>,
314        business_tax_number: Option<&'a str>,
315        billing_email: Option<&'a str>,
316        plan: Option<&'a str>,
317        plan_type: Option<models::PlanType>,
318        seats: Option<i32>,
319        max_collections: Option<i32>,
320        use_policies: Option<bool>,
321        use_sso: Option<bool>,
322        use_key_connector: Option<bool>,
323        use_scim: Option<bool>,
324        use_groups: Option<bool>,
325        use_directory: Option<bool>,
326        use_events: Option<bool>,
327        use_totp: Option<bool>,
328        use2fa: Option<bool>,
329        use_api: Option<bool>,
330        use_reset_password: Option<bool>,
331        use_secrets_manager: Option<bool>,
332        self_host: Option<bool>,
333        users_get_premium: Option<bool>,
334        use_custom_permissions: Option<bool>,
335        storage: Option<i64>,
336        max_storage_gb: Option<i32>,
337        gateway: Option<models::GatewayType>,
338        gateway_customer_id: Option<&'a str>,
339        gateway_subscription_id: Option<&'a str>,
340        reference_data: Option<&'a str>,
341        enabled: Option<bool>,
342        license_key: Option<&'a str>,
343        public_key: Option<&'a str>,
344        private_key: Option<&'a str>,
345        two_factor_providers: Option<&'a str>,
346        expiration_date: Option<String>,
347        creation_date: Option<String>,
348        revision_date: Option<String>,
349        max_autoscale_seats: Option<i32>,
350        owners_notified_of_autoscaling: Option<String>,
351        status: Option<models::OrganizationStatusType>,
352        use_password_manager: Option<bool>,
353        sm_seats: Option<i32>,
354        sm_service_accounts: Option<i32>,
355        max_autoscale_sm_seats: Option<i32>,
356        max_autoscale_sm_service_accounts: Option<i32>,
357        limit_collection_creation: Option<bool>,
358        limit_collection_deletion: Option<bool>,
359        allow_admin_access_to_all_collection_items: Option<bool>,
360        limit_item_deletion: Option<bool>,
361        use_risk_insights: Option<bool>,
362        use_organization_domains: Option<bool>,
363        use_admin_sponsored_families: Option<bool>,
364        sync_seats: Option<bool>,
365        use_automatic_user_confirmation: Option<bool>,
366        use_disable_sm_ads_for_users: Option<bool>,
367        use_phishing_blocker: Option<bool>,
368    ) -> Result<(), Error<GetPaymentMethodError>>;
369
370    /// GET /organizations/{organizationId}/billing/vnext/warnings
371    async fn get_warnings<'a>(
372        &self,
373        organization_id: &'a str,
374        id: Option<uuid::Uuid>,
375        identifier: Option<&'a str>,
376        name: Option<&'a str>,
377        business_name: Option<&'a str>,
378        business_address1: Option<&'a str>,
379        business_address2: Option<&'a str>,
380        business_address3: Option<&'a str>,
381        business_country: Option<&'a str>,
382        business_tax_number: Option<&'a str>,
383        billing_email: Option<&'a str>,
384        plan: Option<&'a str>,
385        plan_type: Option<models::PlanType>,
386        seats: Option<i32>,
387        max_collections: Option<i32>,
388        use_policies: Option<bool>,
389        use_sso: Option<bool>,
390        use_key_connector: Option<bool>,
391        use_scim: Option<bool>,
392        use_groups: Option<bool>,
393        use_directory: Option<bool>,
394        use_events: Option<bool>,
395        use_totp: Option<bool>,
396        use2fa: Option<bool>,
397        use_api: Option<bool>,
398        use_reset_password: Option<bool>,
399        use_secrets_manager: Option<bool>,
400        self_host: Option<bool>,
401        users_get_premium: Option<bool>,
402        use_custom_permissions: Option<bool>,
403        storage: Option<i64>,
404        max_storage_gb: Option<i32>,
405        gateway: Option<models::GatewayType>,
406        gateway_customer_id: Option<&'a str>,
407        gateway_subscription_id: Option<&'a str>,
408        reference_data: Option<&'a str>,
409        enabled: Option<bool>,
410        license_key: Option<&'a str>,
411        public_key: Option<&'a str>,
412        private_key: Option<&'a str>,
413        two_factor_providers: Option<&'a str>,
414        expiration_date: Option<String>,
415        creation_date: Option<String>,
416        revision_date: Option<String>,
417        max_autoscale_seats: Option<i32>,
418        owners_notified_of_autoscaling: Option<String>,
419        status: Option<models::OrganizationStatusType>,
420        use_password_manager: Option<bool>,
421        sm_seats: Option<i32>,
422        sm_service_accounts: Option<i32>,
423        max_autoscale_sm_seats: Option<i32>,
424        max_autoscale_sm_service_accounts: Option<i32>,
425        limit_collection_creation: Option<bool>,
426        limit_collection_deletion: Option<bool>,
427        allow_admin_access_to_all_collection_items: Option<bool>,
428        limit_item_deletion: Option<bool>,
429        use_risk_insights: Option<bool>,
430        use_organization_domains: Option<bool>,
431        use_admin_sponsored_families: Option<bool>,
432        sync_seats: Option<bool>,
433        use_automatic_user_confirmation: Option<bool>,
434        use_disable_sm_ads_for_users: Option<bool>,
435        use_phishing_blocker: Option<bool>,
436    ) -> Result<(), Error<GetWarningsError>>;
437
438    /// POST /organizations/{organizationId}/billing/vnext/subscription/restart
439    async fn restart_subscription<'a>(
440        &self,
441        organization_id: &'a str,
442        id: Option<uuid::Uuid>,
443        identifier: Option<&'a str>,
444        name: Option<&'a str>,
445        business_name: Option<&'a str>,
446        business_address1: Option<&'a str>,
447        business_address2: Option<&'a str>,
448        business_address3: Option<&'a str>,
449        business_country: Option<&'a str>,
450        business_tax_number: Option<&'a str>,
451        billing_email: Option<&'a str>,
452        plan: Option<&'a str>,
453        plan_type: Option<models::PlanType>,
454        seats: Option<i32>,
455        max_collections: Option<i32>,
456        use_policies: Option<bool>,
457        use_sso: Option<bool>,
458        use_key_connector: Option<bool>,
459        use_scim: Option<bool>,
460        use_groups: Option<bool>,
461        use_directory: Option<bool>,
462        use_events: Option<bool>,
463        use_totp: Option<bool>,
464        use2fa: Option<bool>,
465        use_api: Option<bool>,
466        use_reset_password: Option<bool>,
467        use_secrets_manager: Option<bool>,
468        self_host: Option<bool>,
469        users_get_premium: Option<bool>,
470        use_custom_permissions: Option<bool>,
471        storage: Option<i64>,
472        max_storage_gb: Option<i32>,
473        gateway: Option<models::GatewayType>,
474        gateway_customer_id: Option<&'a str>,
475        gateway_subscription_id: Option<&'a str>,
476        reference_data: Option<&'a str>,
477        enabled: Option<bool>,
478        license_key: Option<&'a str>,
479        public_key: Option<&'a str>,
480        private_key: Option<&'a str>,
481        two_factor_providers: Option<&'a str>,
482        expiration_date: Option<String>,
483        creation_date: Option<String>,
484        revision_date: Option<String>,
485        max_autoscale_seats: Option<i32>,
486        owners_notified_of_autoscaling: Option<String>,
487        status: Option<models::OrganizationStatusType>,
488        use_password_manager: Option<bool>,
489        sm_seats: Option<i32>,
490        sm_service_accounts: Option<i32>,
491        max_autoscale_sm_seats: Option<i32>,
492        max_autoscale_sm_service_accounts: Option<i32>,
493        limit_collection_creation: Option<bool>,
494        limit_collection_deletion: Option<bool>,
495        allow_admin_access_to_all_collection_items: Option<bool>,
496        limit_item_deletion: Option<bool>,
497        use_risk_insights: Option<bool>,
498        use_organization_domains: Option<bool>,
499        use_admin_sponsored_families: Option<bool>,
500        sync_seats: Option<bool>,
501        use_automatic_user_confirmation: Option<bool>,
502        use_disable_sm_ads_for_users: Option<bool>,
503        use_phishing_blocker: Option<bool>,
504        restart_subscription_request: Option<models::RestartSubscriptionRequest>,
505    ) -> Result<(), Error<RestartSubscriptionError>>;
506
507    /// PUT /organizations/{organizationId}/billing/vnext/address
508    async fn update_billing_address<'a>(
509        &self,
510        organization_id: &'a str,
511        id: Option<uuid::Uuid>,
512        identifier: Option<&'a str>,
513        name: Option<&'a str>,
514        business_name: Option<&'a str>,
515        business_address1: Option<&'a str>,
516        business_address2: Option<&'a str>,
517        business_address3: Option<&'a str>,
518        business_country: Option<&'a str>,
519        business_tax_number: Option<&'a str>,
520        billing_email: Option<&'a str>,
521        plan: Option<&'a str>,
522        plan_type: Option<models::PlanType>,
523        seats: Option<i32>,
524        max_collections: Option<i32>,
525        use_policies: Option<bool>,
526        use_sso: Option<bool>,
527        use_key_connector: Option<bool>,
528        use_scim: Option<bool>,
529        use_groups: Option<bool>,
530        use_directory: Option<bool>,
531        use_events: Option<bool>,
532        use_totp: Option<bool>,
533        use2fa: Option<bool>,
534        use_api: Option<bool>,
535        use_reset_password: Option<bool>,
536        use_secrets_manager: Option<bool>,
537        self_host: Option<bool>,
538        users_get_premium: Option<bool>,
539        use_custom_permissions: Option<bool>,
540        storage: Option<i64>,
541        max_storage_gb: Option<i32>,
542        gateway: Option<models::GatewayType>,
543        gateway_customer_id: Option<&'a str>,
544        gateway_subscription_id: Option<&'a str>,
545        reference_data: Option<&'a str>,
546        enabled: Option<bool>,
547        license_key: Option<&'a str>,
548        public_key: Option<&'a str>,
549        private_key: Option<&'a str>,
550        two_factor_providers: Option<&'a str>,
551        expiration_date: Option<String>,
552        creation_date: Option<String>,
553        revision_date: Option<String>,
554        max_autoscale_seats: Option<i32>,
555        owners_notified_of_autoscaling: Option<String>,
556        status: Option<models::OrganizationStatusType>,
557        use_password_manager: Option<bool>,
558        sm_seats: Option<i32>,
559        sm_service_accounts: Option<i32>,
560        max_autoscale_sm_seats: Option<i32>,
561        max_autoscale_sm_service_accounts: Option<i32>,
562        limit_collection_creation: Option<bool>,
563        limit_collection_deletion: Option<bool>,
564        allow_admin_access_to_all_collection_items: Option<bool>,
565        limit_item_deletion: Option<bool>,
566        use_risk_insights: Option<bool>,
567        use_organization_domains: Option<bool>,
568        use_admin_sponsored_families: Option<bool>,
569        sync_seats: Option<bool>,
570        use_automatic_user_confirmation: Option<bool>,
571        use_disable_sm_ads_for_users: Option<bool>,
572        use_phishing_blocker: Option<bool>,
573        billing_address_request: Option<models::BillingAddressRequest>,
574    ) -> Result<(), Error<UpdateBillingAddressError>>;
575
576    /// PUT /organizations/{organizationId}/billing/vnext/payment-method
577    async fn update_payment_method<'a>(
578        &self,
579        organization_id: &'a str,
580        id: Option<uuid::Uuid>,
581        identifier: Option<&'a str>,
582        name: Option<&'a str>,
583        business_name: Option<&'a str>,
584        business_address1: Option<&'a str>,
585        business_address2: Option<&'a str>,
586        business_address3: Option<&'a str>,
587        business_country: Option<&'a str>,
588        business_tax_number: Option<&'a str>,
589        billing_email: Option<&'a str>,
590        plan: Option<&'a str>,
591        plan_type: Option<models::PlanType>,
592        seats: Option<i32>,
593        max_collections: Option<i32>,
594        use_policies: Option<bool>,
595        use_sso: Option<bool>,
596        use_key_connector: Option<bool>,
597        use_scim: Option<bool>,
598        use_groups: Option<bool>,
599        use_directory: Option<bool>,
600        use_events: Option<bool>,
601        use_totp: Option<bool>,
602        use2fa: Option<bool>,
603        use_api: Option<bool>,
604        use_reset_password: Option<bool>,
605        use_secrets_manager: Option<bool>,
606        self_host: Option<bool>,
607        users_get_premium: Option<bool>,
608        use_custom_permissions: Option<bool>,
609        storage: Option<i64>,
610        max_storage_gb: Option<i32>,
611        gateway: Option<models::GatewayType>,
612        gateway_customer_id: Option<&'a str>,
613        gateway_subscription_id: Option<&'a str>,
614        reference_data: Option<&'a str>,
615        enabled: Option<bool>,
616        license_key: Option<&'a str>,
617        public_key: Option<&'a str>,
618        private_key: Option<&'a str>,
619        two_factor_providers: Option<&'a str>,
620        expiration_date: Option<String>,
621        creation_date: Option<String>,
622        revision_date: Option<String>,
623        max_autoscale_seats: Option<i32>,
624        owners_notified_of_autoscaling: Option<String>,
625        status: Option<models::OrganizationStatusType>,
626        use_password_manager: Option<bool>,
627        sm_seats: Option<i32>,
628        sm_service_accounts: Option<i32>,
629        max_autoscale_sm_seats: Option<i32>,
630        max_autoscale_sm_service_accounts: Option<i32>,
631        limit_collection_creation: Option<bool>,
632        limit_collection_deletion: Option<bool>,
633        allow_admin_access_to_all_collection_items: Option<bool>,
634        limit_item_deletion: Option<bool>,
635        use_risk_insights: Option<bool>,
636        use_organization_domains: Option<bool>,
637        use_admin_sponsored_families: Option<bool>,
638        sync_seats: Option<bool>,
639        use_automatic_user_confirmation: Option<bool>,
640        use_disable_sm_ads_for_users: Option<bool>,
641        use_phishing_blocker: Option<bool>,
642        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
643    ) -> Result<(), Error<UpdatePaymentMethodError>>;
644}
645
646pub struct OrganizationBillingVNextApiClient {
647    configuration: Arc<configuration::Configuration>,
648}
649
650impl OrganizationBillingVNextApiClient {
651    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
652        Self { configuration }
653    }
654}
655
656#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
657#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
658impl OrganizationBillingVNextApi for OrganizationBillingVNextApiClient {
659    async fn add_credit_via_bit_pay<'a>(
660        &self,
661        organization_id: &'a str,
662        id: Option<uuid::Uuid>,
663        identifier: Option<&'a str>,
664        name: Option<&'a str>,
665        business_name: Option<&'a str>,
666        business_address1: Option<&'a str>,
667        business_address2: Option<&'a str>,
668        business_address3: Option<&'a str>,
669        business_country: Option<&'a str>,
670        business_tax_number: Option<&'a str>,
671        billing_email: Option<&'a str>,
672        plan: Option<&'a str>,
673        plan_type: Option<models::PlanType>,
674        seats: Option<i32>,
675        max_collections: Option<i32>,
676        use_policies: Option<bool>,
677        use_sso: Option<bool>,
678        use_key_connector: Option<bool>,
679        use_scim: Option<bool>,
680        use_groups: Option<bool>,
681        use_directory: Option<bool>,
682        use_events: Option<bool>,
683        use_totp: Option<bool>,
684        use2fa: Option<bool>,
685        use_api: Option<bool>,
686        use_reset_password: Option<bool>,
687        use_secrets_manager: Option<bool>,
688        self_host: Option<bool>,
689        users_get_premium: Option<bool>,
690        use_custom_permissions: Option<bool>,
691        storage: Option<i64>,
692        max_storage_gb: Option<i32>,
693        gateway: Option<models::GatewayType>,
694        gateway_customer_id: Option<&'a str>,
695        gateway_subscription_id: Option<&'a str>,
696        reference_data: Option<&'a str>,
697        enabled: Option<bool>,
698        license_key: Option<&'a str>,
699        public_key: Option<&'a str>,
700        private_key: Option<&'a str>,
701        two_factor_providers: Option<&'a str>,
702        expiration_date: Option<String>,
703        creation_date: Option<String>,
704        revision_date: Option<String>,
705        max_autoscale_seats: Option<i32>,
706        owners_notified_of_autoscaling: Option<String>,
707        status: Option<models::OrganizationStatusType>,
708        use_password_manager: Option<bool>,
709        sm_seats: Option<i32>,
710        sm_service_accounts: Option<i32>,
711        max_autoscale_sm_seats: Option<i32>,
712        max_autoscale_sm_service_accounts: Option<i32>,
713        limit_collection_creation: Option<bool>,
714        limit_collection_deletion: Option<bool>,
715        allow_admin_access_to_all_collection_items: Option<bool>,
716        limit_item_deletion: Option<bool>,
717        use_risk_insights: Option<bool>,
718        use_organization_domains: Option<bool>,
719        use_admin_sponsored_families: Option<bool>,
720        sync_seats: Option<bool>,
721        use_automatic_user_confirmation: Option<bool>,
722        use_disable_sm_ads_for_users: Option<bool>,
723        use_phishing_blocker: Option<bool>,
724        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
725    ) -> Result<(), Error<AddCreditViaBitPayError>> {
726        let local_var_configuration = &self.configuration;
727
728        let local_var_client = &local_var_configuration.client;
729
730        let local_var_uri_str = format!(
731            "{}/organizations/{organizationId}/billing/vnext/credit/bitpay",
732            local_var_configuration.base_path,
733            organizationId = crate::apis::urlencode(organization_id)
734        );
735        let mut local_var_req_builder =
736            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
737
738        if let Some(ref param_value) = id {
739            local_var_req_builder =
740                local_var_req_builder.query(&[("id", &param_value.to_string())]);
741        }
742        if let Some(ref param_value) = identifier {
743            local_var_req_builder =
744                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
745        }
746        if let Some(ref param_value) = name {
747            local_var_req_builder =
748                local_var_req_builder.query(&[("name", &param_value.to_string())]);
749        }
750        if let Some(ref param_value) = business_name {
751            local_var_req_builder =
752                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
753        }
754        if let Some(ref param_value) = business_address1 {
755            local_var_req_builder =
756                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
757        }
758        if let Some(ref param_value) = business_address2 {
759            local_var_req_builder =
760                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
761        }
762        if let Some(ref param_value) = business_address3 {
763            local_var_req_builder =
764                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
765        }
766        if let Some(ref param_value) = business_country {
767            local_var_req_builder =
768                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
769        }
770        if let Some(ref param_value) = business_tax_number {
771            local_var_req_builder =
772                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
773        }
774        if let Some(ref param_value) = billing_email {
775            local_var_req_builder =
776                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
777        }
778        if let Some(ref param_value) = plan {
779            local_var_req_builder =
780                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
781        }
782        if let Some(ref param_value) = plan_type {
783            local_var_req_builder =
784                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
785        }
786        if let Some(ref param_value) = seats {
787            local_var_req_builder =
788                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
789        }
790        if let Some(ref param_value) = max_collections {
791            local_var_req_builder =
792                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
793        }
794        if let Some(ref param_value) = use_policies {
795            local_var_req_builder =
796                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
797        }
798        if let Some(ref param_value) = use_sso {
799            local_var_req_builder =
800                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
801        }
802        if let Some(ref param_value) = use_key_connector {
803            local_var_req_builder =
804                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
805        }
806        if let Some(ref param_value) = use_scim {
807            local_var_req_builder =
808                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
809        }
810        if let Some(ref param_value) = use_groups {
811            local_var_req_builder =
812                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
813        }
814        if let Some(ref param_value) = use_directory {
815            local_var_req_builder =
816                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
817        }
818        if let Some(ref param_value) = use_events {
819            local_var_req_builder =
820                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
821        }
822        if let Some(ref param_value) = use_totp {
823            local_var_req_builder =
824                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
825        }
826        if let Some(ref param_value) = use2fa {
827            local_var_req_builder =
828                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
829        }
830        if let Some(ref param_value) = use_api {
831            local_var_req_builder =
832                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
833        }
834        if let Some(ref param_value) = use_reset_password {
835            local_var_req_builder =
836                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
837        }
838        if let Some(ref param_value) = use_secrets_manager {
839            local_var_req_builder =
840                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
841        }
842        if let Some(ref param_value) = self_host {
843            local_var_req_builder =
844                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
845        }
846        if let Some(ref param_value) = users_get_premium {
847            local_var_req_builder =
848                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
849        }
850        if let Some(ref param_value) = use_custom_permissions {
851            local_var_req_builder =
852                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
853        }
854        if let Some(ref param_value) = storage {
855            local_var_req_builder =
856                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
857        }
858        if let Some(ref param_value) = max_storage_gb {
859            local_var_req_builder =
860                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
861        }
862        if let Some(ref param_value) = gateway {
863            local_var_req_builder =
864                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
865        }
866        if let Some(ref param_value) = gateway_customer_id {
867            local_var_req_builder =
868                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
869        }
870        if let Some(ref param_value) = gateway_subscription_id {
871            local_var_req_builder =
872                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
873        }
874        if let Some(ref param_value) = reference_data {
875            local_var_req_builder =
876                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
877        }
878        if let Some(ref param_value) = enabled {
879            local_var_req_builder =
880                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
881        }
882        if let Some(ref param_value) = license_key {
883            local_var_req_builder =
884                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
885        }
886        if let Some(ref param_value) = public_key {
887            local_var_req_builder =
888                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
889        }
890        if let Some(ref param_value) = private_key {
891            local_var_req_builder =
892                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
893        }
894        if let Some(ref param_value) = two_factor_providers {
895            local_var_req_builder =
896                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
897        }
898        if let Some(ref param_value) = expiration_date {
899            local_var_req_builder =
900                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
901        }
902        if let Some(ref param_value) = creation_date {
903            local_var_req_builder =
904                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
905        }
906        if let Some(ref param_value) = revision_date {
907            local_var_req_builder =
908                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
909        }
910        if let Some(ref param_value) = max_autoscale_seats {
911            local_var_req_builder =
912                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
913        }
914        if let Some(ref param_value) = owners_notified_of_autoscaling {
915            local_var_req_builder = local_var_req_builder
916                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
917        }
918        if let Some(ref param_value) = status {
919            local_var_req_builder =
920                local_var_req_builder.query(&[("status", &param_value.to_string())]);
921        }
922        if let Some(ref param_value) = use_password_manager {
923            local_var_req_builder =
924                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
925        }
926        if let Some(ref param_value) = sm_seats {
927            local_var_req_builder =
928                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
929        }
930        if let Some(ref param_value) = sm_service_accounts {
931            local_var_req_builder =
932                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
933        }
934        if let Some(ref param_value) = max_autoscale_sm_seats {
935            local_var_req_builder =
936                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
937        }
938        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
939            local_var_req_builder = local_var_req_builder
940                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
941        }
942        if let Some(ref param_value) = limit_collection_creation {
943            local_var_req_builder = local_var_req_builder
944                .query(&[("limitCollectionCreation", &param_value.to_string())]);
945        }
946        if let Some(ref param_value) = limit_collection_deletion {
947            local_var_req_builder = local_var_req_builder
948                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
949        }
950        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
951            local_var_req_builder = local_var_req_builder.query(&[(
952                "allowAdminAccessToAllCollectionItems",
953                &param_value.to_string(),
954            )]);
955        }
956        if let Some(ref param_value) = limit_item_deletion {
957            local_var_req_builder =
958                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
959        }
960        if let Some(ref param_value) = use_risk_insights {
961            local_var_req_builder =
962                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
963        }
964        if let Some(ref param_value) = use_organization_domains {
965            local_var_req_builder = local_var_req_builder
966                .query(&[("useOrganizationDomains", &param_value.to_string())]);
967        }
968        if let Some(ref param_value) = use_admin_sponsored_families {
969            local_var_req_builder = local_var_req_builder
970                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
971        }
972        if let Some(ref param_value) = sync_seats {
973            local_var_req_builder =
974                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
975        }
976        if let Some(ref param_value) = use_automatic_user_confirmation {
977            local_var_req_builder = local_var_req_builder
978                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
979        }
980        if let Some(ref param_value) = use_disable_sm_ads_for_users {
981            local_var_req_builder = local_var_req_builder
982                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
983        }
984        if let Some(ref param_value) = use_phishing_blocker {
985            local_var_req_builder =
986                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
987        }
988        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
989            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
990        };
991        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
992        local_var_req_builder = local_var_req_builder.json(&bit_pay_credit_request);
993
994        let local_var_req = local_var_req_builder.build()?;
995        let local_var_resp = local_var_client.execute(local_var_req).await?;
996
997        let local_var_status = local_var_resp.status();
998        let local_var_content = local_var_resp.text().await?;
999
1000        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1001            Ok(())
1002        } else {
1003            let local_var_entity: Option<AddCreditViaBitPayError> =
1004                serde_json::from_str(&local_var_content).ok();
1005            let local_var_error = ResponseContent {
1006                status: local_var_status,
1007                content: local_var_content,
1008                entity: local_var_entity,
1009            };
1010            Err(Error::ResponseError(local_var_error))
1011        }
1012    }
1013
1014    async fn get_billing_address<'a>(
1015        &self,
1016        organization_id: &'a str,
1017        id: Option<uuid::Uuid>,
1018        identifier: Option<&'a str>,
1019        name: Option<&'a str>,
1020        business_name: Option<&'a str>,
1021        business_address1: Option<&'a str>,
1022        business_address2: Option<&'a str>,
1023        business_address3: Option<&'a str>,
1024        business_country: Option<&'a str>,
1025        business_tax_number: Option<&'a str>,
1026        billing_email: Option<&'a str>,
1027        plan: Option<&'a str>,
1028        plan_type: Option<models::PlanType>,
1029        seats: Option<i32>,
1030        max_collections: Option<i32>,
1031        use_policies: Option<bool>,
1032        use_sso: Option<bool>,
1033        use_key_connector: Option<bool>,
1034        use_scim: Option<bool>,
1035        use_groups: Option<bool>,
1036        use_directory: Option<bool>,
1037        use_events: Option<bool>,
1038        use_totp: Option<bool>,
1039        use2fa: Option<bool>,
1040        use_api: Option<bool>,
1041        use_reset_password: Option<bool>,
1042        use_secrets_manager: Option<bool>,
1043        self_host: Option<bool>,
1044        users_get_premium: Option<bool>,
1045        use_custom_permissions: Option<bool>,
1046        storage: Option<i64>,
1047        max_storage_gb: Option<i32>,
1048        gateway: Option<models::GatewayType>,
1049        gateway_customer_id: Option<&'a str>,
1050        gateway_subscription_id: Option<&'a str>,
1051        reference_data: Option<&'a str>,
1052        enabled: Option<bool>,
1053        license_key: Option<&'a str>,
1054        public_key: Option<&'a str>,
1055        private_key: Option<&'a str>,
1056        two_factor_providers: Option<&'a str>,
1057        expiration_date: Option<String>,
1058        creation_date: Option<String>,
1059        revision_date: Option<String>,
1060        max_autoscale_seats: Option<i32>,
1061        owners_notified_of_autoscaling: Option<String>,
1062        status: Option<models::OrganizationStatusType>,
1063        use_password_manager: Option<bool>,
1064        sm_seats: Option<i32>,
1065        sm_service_accounts: Option<i32>,
1066        max_autoscale_sm_seats: Option<i32>,
1067        max_autoscale_sm_service_accounts: Option<i32>,
1068        limit_collection_creation: Option<bool>,
1069        limit_collection_deletion: Option<bool>,
1070        allow_admin_access_to_all_collection_items: Option<bool>,
1071        limit_item_deletion: Option<bool>,
1072        use_risk_insights: Option<bool>,
1073        use_organization_domains: Option<bool>,
1074        use_admin_sponsored_families: Option<bool>,
1075        sync_seats: Option<bool>,
1076        use_automatic_user_confirmation: Option<bool>,
1077        use_disable_sm_ads_for_users: Option<bool>,
1078        use_phishing_blocker: Option<bool>,
1079    ) -> Result<(), Error<GetBillingAddressError>> {
1080        let local_var_configuration = &self.configuration;
1081
1082        let local_var_client = &local_var_configuration.client;
1083
1084        let local_var_uri_str = format!(
1085            "{}/organizations/{organizationId}/billing/vnext/address",
1086            local_var_configuration.base_path,
1087            organizationId = crate::apis::urlencode(organization_id)
1088        );
1089        let mut local_var_req_builder =
1090            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1091
1092        if let Some(ref param_value) = id {
1093            local_var_req_builder =
1094                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1095        }
1096        if let Some(ref param_value) = identifier {
1097            local_var_req_builder =
1098                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
1099        }
1100        if let Some(ref param_value) = name {
1101            local_var_req_builder =
1102                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1103        }
1104        if let Some(ref param_value) = business_name {
1105            local_var_req_builder =
1106                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
1107        }
1108        if let Some(ref param_value) = business_address1 {
1109            local_var_req_builder =
1110                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1111        }
1112        if let Some(ref param_value) = business_address2 {
1113            local_var_req_builder =
1114                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1115        }
1116        if let Some(ref param_value) = business_address3 {
1117            local_var_req_builder =
1118                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1119        }
1120        if let Some(ref param_value) = business_country {
1121            local_var_req_builder =
1122                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1123        }
1124        if let Some(ref param_value) = business_tax_number {
1125            local_var_req_builder =
1126                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1127        }
1128        if let Some(ref param_value) = billing_email {
1129            local_var_req_builder =
1130                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1131        }
1132        if let Some(ref param_value) = plan {
1133            local_var_req_builder =
1134                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
1135        }
1136        if let Some(ref param_value) = plan_type {
1137            local_var_req_builder =
1138                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
1139        }
1140        if let Some(ref param_value) = seats {
1141            local_var_req_builder =
1142                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
1143        }
1144        if let Some(ref param_value) = max_collections {
1145            local_var_req_builder =
1146                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
1147        }
1148        if let Some(ref param_value) = use_policies {
1149            local_var_req_builder =
1150                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
1151        }
1152        if let Some(ref param_value) = use_sso {
1153            local_var_req_builder =
1154                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
1155        }
1156        if let Some(ref param_value) = use_key_connector {
1157            local_var_req_builder =
1158                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
1159        }
1160        if let Some(ref param_value) = use_scim {
1161            local_var_req_builder =
1162                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
1163        }
1164        if let Some(ref param_value) = use_groups {
1165            local_var_req_builder =
1166                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
1167        }
1168        if let Some(ref param_value) = use_directory {
1169            local_var_req_builder =
1170                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
1171        }
1172        if let Some(ref param_value) = use_events {
1173            local_var_req_builder =
1174                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1175        }
1176        if let Some(ref param_value) = use_totp {
1177            local_var_req_builder =
1178                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
1179        }
1180        if let Some(ref param_value) = use2fa {
1181            local_var_req_builder =
1182                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
1183        }
1184        if let Some(ref param_value) = use_api {
1185            local_var_req_builder =
1186                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
1187        }
1188        if let Some(ref param_value) = use_reset_password {
1189            local_var_req_builder =
1190                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
1191        }
1192        if let Some(ref param_value) = use_secrets_manager {
1193            local_var_req_builder =
1194                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
1195        }
1196        if let Some(ref param_value) = self_host {
1197            local_var_req_builder =
1198                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
1199        }
1200        if let Some(ref param_value) = users_get_premium {
1201            local_var_req_builder =
1202                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
1203        }
1204        if let Some(ref param_value) = use_custom_permissions {
1205            local_var_req_builder =
1206                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
1207        }
1208        if let Some(ref param_value) = storage {
1209            local_var_req_builder =
1210                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1211        }
1212        if let Some(ref param_value) = max_storage_gb {
1213            local_var_req_builder =
1214                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1215        }
1216        if let Some(ref param_value) = gateway {
1217            local_var_req_builder =
1218                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1219        }
1220        if let Some(ref param_value) = gateway_customer_id {
1221            local_var_req_builder =
1222                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1223        }
1224        if let Some(ref param_value) = gateway_subscription_id {
1225            local_var_req_builder =
1226                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1227        }
1228        if let Some(ref param_value) = reference_data {
1229            local_var_req_builder =
1230                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1231        }
1232        if let Some(ref param_value) = enabled {
1233            local_var_req_builder =
1234                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1235        }
1236        if let Some(ref param_value) = license_key {
1237            local_var_req_builder =
1238                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1239        }
1240        if let Some(ref param_value) = public_key {
1241            local_var_req_builder =
1242                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1243        }
1244        if let Some(ref param_value) = private_key {
1245            local_var_req_builder =
1246                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1247        }
1248        if let Some(ref param_value) = two_factor_providers {
1249            local_var_req_builder =
1250                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1251        }
1252        if let Some(ref param_value) = expiration_date {
1253            local_var_req_builder =
1254                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
1255        }
1256        if let Some(ref param_value) = creation_date {
1257            local_var_req_builder =
1258                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1259        }
1260        if let Some(ref param_value) = revision_date {
1261            local_var_req_builder =
1262                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1263        }
1264        if let Some(ref param_value) = max_autoscale_seats {
1265            local_var_req_builder =
1266                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
1267        }
1268        if let Some(ref param_value) = owners_notified_of_autoscaling {
1269            local_var_req_builder = local_var_req_builder
1270                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
1271        }
1272        if let Some(ref param_value) = status {
1273            local_var_req_builder =
1274                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1275        }
1276        if let Some(ref param_value) = use_password_manager {
1277            local_var_req_builder =
1278                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
1279        }
1280        if let Some(ref param_value) = sm_seats {
1281            local_var_req_builder =
1282                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
1283        }
1284        if let Some(ref param_value) = sm_service_accounts {
1285            local_var_req_builder =
1286                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
1287        }
1288        if let Some(ref param_value) = max_autoscale_sm_seats {
1289            local_var_req_builder =
1290                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
1291        }
1292        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
1293            local_var_req_builder = local_var_req_builder
1294                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
1295        }
1296        if let Some(ref param_value) = limit_collection_creation {
1297            local_var_req_builder = local_var_req_builder
1298                .query(&[("limitCollectionCreation", &param_value.to_string())]);
1299        }
1300        if let Some(ref param_value) = limit_collection_deletion {
1301            local_var_req_builder = local_var_req_builder
1302                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
1303        }
1304        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
1305            local_var_req_builder = local_var_req_builder.query(&[(
1306                "allowAdminAccessToAllCollectionItems",
1307                &param_value.to_string(),
1308            )]);
1309        }
1310        if let Some(ref param_value) = limit_item_deletion {
1311            local_var_req_builder =
1312                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
1313        }
1314        if let Some(ref param_value) = use_risk_insights {
1315            local_var_req_builder =
1316                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
1317        }
1318        if let Some(ref param_value) = use_organization_domains {
1319            local_var_req_builder = local_var_req_builder
1320                .query(&[("useOrganizationDomains", &param_value.to_string())]);
1321        }
1322        if let Some(ref param_value) = use_admin_sponsored_families {
1323            local_var_req_builder = local_var_req_builder
1324                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
1325        }
1326        if let Some(ref param_value) = sync_seats {
1327            local_var_req_builder =
1328                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
1329        }
1330        if let Some(ref param_value) = use_automatic_user_confirmation {
1331            local_var_req_builder = local_var_req_builder
1332                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
1333        }
1334        if let Some(ref param_value) = use_disable_sm_ads_for_users {
1335            local_var_req_builder = local_var_req_builder
1336                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
1337        }
1338        if let Some(ref param_value) = use_phishing_blocker {
1339            local_var_req_builder =
1340                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
1341        }
1342        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1343            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1344        };
1345        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
1346
1347        let local_var_req = local_var_req_builder.build()?;
1348        let local_var_resp = local_var_client.execute(local_var_req).await?;
1349
1350        let local_var_status = local_var_resp.status();
1351        let local_var_content = local_var_resp.text().await?;
1352
1353        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1354            Ok(())
1355        } else {
1356            let local_var_entity: Option<GetBillingAddressError> =
1357                serde_json::from_str(&local_var_content).ok();
1358            let local_var_error = ResponseContent {
1359                status: local_var_status,
1360                content: local_var_content,
1361                entity: local_var_entity,
1362            };
1363            Err(Error::ResponseError(local_var_error))
1364        }
1365    }
1366
1367    async fn get_credit<'a>(
1368        &self,
1369        organization_id: &'a str,
1370        id: Option<uuid::Uuid>,
1371        identifier: Option<&'a str>,
1372        name: Option<&'a str>,
1373        business_name: Option<&'a str>,
1374        business_address1: Option<&'a str>,
1375        business_address2: Option<&'a str>,
1376        business_address3: Option<&'a str>,
1377        business_country: Option<&'a str>,
1378        business_tax_number: Option<&'a str>,
1379        billing_email: Option<&'a str>,
1380        plan: Option<&'a str>,
1381        plan_type: Option<models::PlanType>,
1382        seats: Option<i32>,
1383        max_collections: Option<i32>,
1384        use_policies: Option<bool>,
1385        use_sso: Option<bool>,
1386        use_key_connector: Option<bool>,
1387        use_scim: Option<bool>,
1388        use_groups: Option<bool>,
1389        use_directory: Option<bool>,
1390        use_events: Option<bool>,
1391        use_totp: Option<bool>,
1392        use2fa: Option<bool>,
1393        use_api: Option<bool>,
1394        use_reset_password: Option<bool>,
1395        use_secrets_manager: Option<bool>,
1396        self_host: Option<bool>,
1397        users_get_premium: Option<bool>,
1398        use_custom_permissions: Option<bool>,
1399        storage: Option<i64>,
1400        max_storage_gb: Option<i32>,
1401        gateway: Option<models::GatewayType>,
1402        gateway_customer_id: Option<&'a str>,
1403        gateway_subscription_id: Option<&'a str>,
1404        reference_data: Option<&'a str>,
1405        enabled: Option<bool>,
1406        license_key: Option<&'a str>,
1407        public_key: Option<&'a str>,
1408        private_key: Option<&'a str>,
1409        two_factor_providers: Option<&'a str>,
1410        expiration_date: Option<String>,
1411        creation_date: Option<String>,
1412        revision_date: Option<String>,
1413        max_autoscale_seats: Option<i32>,
1414        owners_notified_of_autoscaling: Option<String>,
1415        status: Option<models::OrganizationStatusType>,
1416        use_password_manager: Option<bool>,
1417        sm_seats: Option<i32>,
1418        sm_service_accounts: Option<i32>,
1419        max_autoscale_sm_seats: Option<i32>,
1420        max_autoscale_sm_service_accounts: Option<i32>,
1421        limit_collection_creation: Option<bool>,
1422        limit_collection_deletion: Option<bool>,
1423        allow_admin_access_to_all_collection_items: Option<bool>,
1424        limit_item_deletion: Option<bool>,
1425        use_risk_insights: Option<bool>,
1426        use_organization_domains: Option<bool>,
1427        use_admin_sponsored_families: Option<bool>,
1428        sync_seats: Option<bool>,
1429        use_automatic_user_confirmation: Option<bool>,
1430        use_disable_sm_ads_for_users: Option<bool>,
1431        use_phishing_blocker: Option<bool>,
1432    ) -> Result<(), Error<GetCreditError>> {
1433        let local_var_configuration = &self.configuration;
1434
1435        let local_var_client = &local_var_configuration.client;
1436
1437        let local_var_uri_str = format!(
1438            "{}/organizations/{organizationId}/billing/vnext/credit",
1439            local_var_configuration.base_path,
1440            organizationId = crate::apis::urlencode(organization_id)
1441        );
1442        let mut local_var_req_builder =
1443            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1444
1445        if let Some(ref param_value) = id {
1446            local_var_req_builder =
1447                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1448        }
1449        if let Some(ref param_value) = identifier {
1450            local_var_req_builder =
1451                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
1452        }
1453        if let Some(ref param_value) = name {
1454            local_var_req_builder =
1455                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1456        }
1457        if let Some(ref param_value) = business_name {
1458            local_var_req_builder =
1459                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
1460        }
1461        if let Some(ref param_value) = business_address1 {
1462            local_var_req_builder =
1463                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1464        }
1465        if let Some(ref param_value) = business_address2 {
1466            local_var_req_builder =
1467                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1468        }
1469        if let Some(ref param_value) = business_address3 {
1470            local_var_req_builder =
1471                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1472        }
1473        if let Some(ref param_value) = business_country {
1474            local_var_req_builder =
1475                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1476        }
1477        if let Some(ref param_value) = business_tax_number {
1478            local_var_req_builder =
1479                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1480        }
1481        if let Some(ref param_value) = billing_email {
1482            local_var_req_builder =
1483                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1484        }
1485        if let Some(ref param_value) = plan {
1486            local_var_req_builder =
1487                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
1488        }
1489        if let Some(ref param_value) = plan_type {
1490            local_var_req_builder =
1491                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
1492        }
1493        if let Some(ref param_value) = seats {
1494            local_var_req_builder =
1495                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
1496        }
1497        if let Some(ref param_value) = max_collections {
1498            local_var_req_builder =
1499                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
1500        }
1501        if let Some(ref param_value) = use_policies {
1502            local_var_req_builder =
1503                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
1504        }
1505        if let Some(ref param_value) = use_sso {
1506            local_var_req_builder =
1507                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
1508        }
1509        if let Some(ref param_value) = use_key_connector {
1510            local_var_req_builder =
1511                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
1512        }
1513        if let Some(ref param_value) = use_scim {
1514            local_var_req_builder =
1515                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
1516        }
1517        if let Some(ref param_value) = use_groups {
1518            local_var_req_builder =
1519                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
1520        }
1521        if let Some(ref param_value) = use_directory {
1522            local_var_req_builder =
1523                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
1524        }
1525        if let Some(ref param_value) = use_events {
1526            local_var_req_builder =
1527                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1528        }
1529        if let Some(ref param_value) = use_totp {
1530            local_var_req_builder =
1531                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
1532        }
1533        if let Some(ref param_value) = use2fa {
1534            local_var_req_builder =
1535                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
1536        }
1537        if let Some(ref param_value) = use_api {
1538            local_var_req_builder =
1539                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
1540        }
1541        if let Some(ref param_value) = use_reset_password {
1542            local_var_req_builder =
1543                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
1544        }
1545        if let Some(ref param_value) = use_secrets_manager {
1546            local_var_req_builder =
1547                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
1548        }
1549        if let Some(ref param_value) = self_host {
1550            local_var_req_builder =
1551                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
1552        }
1553        if let Some(ref param_value) = users_get_premium {
1554            local_var_req_builder =
1555                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
1556        }
1557        if let Some(ref param_value) = use_custom_permissions {
1558            local_var_req_builder =
1559                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
1560        }
1561        if let Some(ref param_value) = storage {
1562            local_var_req_builder =
1563                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1564        }
1565        if let Some(ref param_value) = max_storage_gb {
1566            local_var_req_builder =
1567                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1568        }
1569        if let Some(ref param_value) = gateway {
1570            local_var_req_builder =
1571                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1572        }
1573        if let Some(ref param_value) = gateway_customer_id {
1574            local_var_req_builder =
1575                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1576        }
1577        if let Some(ref param_value) = gateway_subscription_id {
1578            local_var_req_builder =
1579                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1580        }
1581        if let Some(ref param_value) = reference_data {
1582            local_var_req_builder =
1583                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1584        }
1585        if let Some(ref param_value) = enabled {
1586            local_var_req_builder =
1587                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1588        }
1589        if let Some(ref param_value) = license_key {
1590            local_var_req_builder =
1591                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1592        }
1593        if let Some(ref param_value) = public_key {
1594            local_var_req_builder =
1595                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1596        }
1597        if let Some(ref param_value) = private_key {
1598            local_var_req_builder =
1599                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1600        }
1601        if let Some(ref param_value) = two_factor_providers {
1602            local_var_req_builder =
1603                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1604        }
1605        if let Some(ref param_value) = expiration_date {
1606            local_var_req_builder =
1607                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
1608        }
1609        if let Some(ref param_value) = creation_date {
1610            local_var_req_builder =
1611                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1612        }
1613        if let Some(ref param_value) = revision_date {
1614            local_var_req_builder =
1615                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1616        }
1617        if let Some(ref param_value) = max_autoscale_seats {
1618            local_var_req_builder =
1619                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
1620        }
1621        if let Some(ref param_value) = owners_notified_of_autoscaling {
1622            local_var_req_builder = local_var_req_builder
1623                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
1624        }
1625        if let Some(ref param_value) = status {
1626            local_var_req_builder =
1627                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1628        }
1629        if let Some(ref param_value) = use_password_manager {
1630            local_var_req_builder =
1631                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
1632        }
1633        if let Some(ref param_value) = sm_seats {
1634            local_var_req_builder =
1635                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
1636        }
1637        if let Some(ref param_value) = sm_service_accounts {
1638            local_var_req_builder =
1639                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
1640        }
1641        if let Some(ref param_value) = max_autoscale_sm_seats {
1642            local_var_req_builder =
1643                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
1644        }
1645        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
1646            local_var_req_builder = local_var_req_builder
1647                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
1648        }
1649        if let Some(ref param_value) = limit_collection_creation {
1650            local_var_req_builder = local_var_req_builder
1651                .query(&[("limitCollectionCreation", &param_value.to_string())]);
1652        }
1653        if let Some(ref param_value) = limit_collection_deletion {
1654            local_var_req_builder = local_var_req_builder
1655                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
1656        }
1657        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
1658            local_var_req_builder = local_var_req_builder.query(&[(
1659                "allowAdminAccessToAllCollectionItems",
1660                &param_value.to_string(),
1661            )]);
1662        }
1663        if let Some(ref param_value) = limit_item_deletion {
1664            local_var_req_builder =
1665                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
1666        }
1667        if let Some(ref param_value) = use_risk_insights {
1668            local_var_req_builder =
1669                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
1670        }
1671        if let Some(ref param_value) = use_organization_domains {
1672            local_var_req_builder = local_var_req_builder
1673                .query(&[("useOrganizationDomains", &param_value.to_string())]);
1674        }
1675        if let Some(ref param_value) = use_admin_sponsored_families {
1676            local_var_req_builder = local_var_req_builder
1677                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
1678        }
1679        if let Some(ref param_value) = sync_seats {
1680            local_var_req_builder =
1681                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
1682        }
1683        if let Some(ref param_value) = use_automatic_user_confirmation {
1684            local_var_req_builder = local_var_req_builder
1685                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
1686        }
1687        if let Some(ref param_value) = use_disable_sm_ads_for_users {
1688            local_var_req_builder = local_var_req_builder
1689                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
1690        }
1691        if let Some(ref param_value) = use_phishing_blocker {
1692            local_var_req_builder =
1693                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
1694        }
1695        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1696            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1697        };
1698        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
1699
1700        let local_var_req = local_var_req_builder.build()?;
1701        let local_var_resp = local_var_client.execute(local_var_req).await?;
1702
1703        let local_var_status = local_var_resp.status();
1704        let local_var_content = local_var_resp.text().await?;
1705
1706        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1707            Ok(())
1708        } else {
1709            let local_var_entity: Option<GetCreditError> =
1710                serde_json::from_str(&local_var_content).ok();
1711            let local_var_error = ResponseContent {
1712                status: local_var_status,
1713                content: local_var_content,
1714                entity: local_var_entity,
1715            };
1716            Err(Error::ResponseError(local_var_error))
1717        }
1718    }
1719
1720    async fn get_metadata<'a>(
1721        &self,
1722        organization_id: &'a str,
1723        id: Option<uuid::Uuid>,
1724        identifier: Option<&'a str>,
1725        name: Option<&'a str>,
1726        business_name: Option<&'a str>,
1727        business_address1: Option<&'a str>,
1728        business_address2: Option<&'a str>,
1729        business_address3: Option<&'a str>,
1730        business_country: Option<&'a str>,
1731        business_tax_number: Option<&'a str>,
1732        billing_email: Option<&'a str>,
1733        plan: Option<&'a str>,
1734        plan_type: Option<models::PlanType>,
1735        seats: Option<i32>,
1736        max_collections: Option<i32>,
1737        use_policies: Option<bool>,
1738        use_sso: Option<bool>,
1739        use_key_connector: Option<bool>,
1740        use_scim: Option<bool>,
1741        use_groups: Option<bool>,
1742        use_directory: Option<bool>,
1743        use_events: Option<bool>,
1744        use_totp: Option<bool>,
1745        use2fa: Option<bool>,
1746        use_api: Option<bool>,
1747        use_reset_password: Option<bool>,
1748        use_secrets_manager: Option<bool>,
1749        self_host: Option<bool>,
1750        users_get_premium: Option<bool>,
1751        use_custom_permissions: Option<bool>,
1752        storage: Option<i64>,
1753        max_storage_gb: Option<i32>,
1754        gateway: Option<models::GatewayType>,
1755        gateway_customer_id: Option<&'a str>,
1756        gateway_subscription_id: Option<&'a str>,
1757        reference_data: Option<&'a str>,
1758        enabled: Option<bool>,
1759        license_key: Option<&'a str>,
1760        public_key: Option<&'a str>,
1761        private_key: Option<&'a str>,
1762        two_factor_providers: Option<&'a str>,
1763        expiration_date: Option<String>,
1764        creation_date: Option<String>,
1765        revision_date: Option<String>,
1766        max_autoscale_seats: Option<i32>,
1767        owners_notified_of_autoscaling: Option<String>,
1768        status: Option<models::OrganizationStatusType>,
1769        use_password_manager: Option<bool>,
1770        sm_seats: Option<i32>,
1771        sm_service_accounts: Option<i32>,
1772        max_autoscale_sm_seats: Option<i32>,
1773        max_autoscale_sm_service_accounts: Option<i32>,
1774        limit_collection_creation: Option<bool>,
1775        limit_collection_deletion: Option<bool>,
1776        allow_admin_access_to_all_collection_items: Option<bool>,
1777        limit_item_deletion: Option<bool>,
1778        use_risk_insights: Option<bool>,
1779        use_organization_domains: Option<bool>,
1780        use_admin_sponsored_families: Option<bool>,
1781        sync_seats: Option<bool>,
1782        use_automatic_user_confirmation: Option<bool>,
1783        use_disable_sm_ads_for_users: Option<bool>,
1784        use_phishing_blocker: Option<bool>,
1785    ) -> Result<(), Error<GetMetadataError>> {
1786        let local_var_configuration = &self.configuration;
1787
1788        let local_var_client = &local_var_configuration.client;
1789
1790        let local_var_uri_str = format!(
1791            "{}/organizations/{organizationId}/billing/vnext/metadata",
1792            local_var_configuration.base_path,
1793            organizationId = crate::apis::urlencode(organization_id)
1794        );
1795        let mut local_var_req_builder =
1796            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1797
1798        if let Some(ref param_value) = id {
1799            local_var_req_builder =
1800                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1801        }
1802        if let Some(ref param_value) = identifier {
1803            local_var_req_builder =
1804                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
1805        }
1806        if let Some(ref param_value) = name {
1807            local_var_req_builder =
1808                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1809        }
1810        if let Some(ref param_value) = business_name {
1811            local_var_req_builder =
1812                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
1813        }
1814        if let Some(ref param_value) = business_address1 {
1815            local_var_req_builder =
1816                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
1817        }
1818        if let Some(ref param_value) = business_address2 {
1819            local_var_req_builder =
1820                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
1821        }
1822        if let Some(ref param_value) = business_address3 {
1823            local_var_req_builder =
1824                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
1825        }
1826        if let Some(ref param_value) = business_country {
1827            local_var_req_builder =
1828                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
1829        }
1830        if let Some(ref param_value) = business_tax_number {
1831            local_var_req_builder =
1832                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
1833        }
1834        if let Some(ref param_value) = billing_email {
1835            local_var_req_builder =
1836                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
1837        }
1838        if let Some(ref param_value) = plan {
1839            local_var_req_builder =
1840                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
1841        }
1842        if let Some(ref param_value) = plan_type {
1843            local_var_req_builder =
1844                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
1845        }
1846        if let Some(ref param_value) = seats {
1847            local_var_req_builder =
1848                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
1849        }
1850        if let Some(ref param_value) = max_collections {
1851            local_var_req_builder =
1852                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
1853        }
1854        if let Some(ref param_value) = use_policies {
1855            local_var_req_builder =
1856                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
1857        }
1858        if let Some(ref param_value) = use_sso {
1859            local_var_req_builder =
1860                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
1861        }
1862        if let Some(ref param_value) = use_key_connector {
1863            local_var_req_builder =
1864                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
1865        }
1866        if let Some(ref param_value) = use_scim {
1867            local_var_req_builder =
1868                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
1869        }
1870        if let Some(ref param_value) = use_groups {
1871            local_var_req_builder =
1872                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
1873        }
1874        if let Some(ref param_value) = use_directory {
1875            local_var_req_builder =
1876                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
1877        }
1878        if let Some(ref param_value) = use_events {
1879            local_var_req_builder =
1880                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
1881        }
1882        if let Some(ref param_value) = use_totp {
1883            local_var_req_builder =
1884                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
1885        }
1886        if let Some(ref param_value) = use2fa {
1887            local_var_req_builder =
1888                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
1889        }
1890        if let Some(ref param_value) = use_api {
1891            local_var_req_builder =
1892                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
1893        }
1894        if let Some(ref param_value) = use_reset_password {
1895            local_var_req_builder =
1896                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
1897        }
1898        if let Some(ref param_value) = use_secrets_manager {
1899            local_var_req_builder =
1900                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
1901        }
1902        if let Some(ref param_value) = self_host {
1903            local_var_req_builder =
1904                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
1905        }
1906        if let Some(ref param_value) = users_get_premium {
1907            local_var_req_builder =
1908                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
1909        }
1910        if let Some(ref param_value) = use_custom_permissions {
1911            local_var_req_builder =
1912                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
1913        }
1914        if let Some(ref param_value) = storage {
1915            local_var_req_builder =
1916                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1917        }
1918        if let Some(ref param_value) = max_storage_gb {
1919            local_var_req_builder =
1920                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1921        }
1922        if let Some(ref param_value) = gateway {
1923            local_var_req_builder =
1924                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1925        }
1926        if let Some(ref param_value) = gateway_customer_id {
1927            local_var_req_builder =
1928                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1929        }
1930        if let Some(ref param_value) = gateway_subscription_id {
1931            local_var_req_builder =
1932                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1933        }
1934        if let Some(ref param_value) = reference_data {
1935            local_var_req_builder =
1936                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1937        }
1938        if let Some(ref param_value) = enabled {
1939            local_var_req_builder =
1940                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
1941        }
1942        if let Some(ref param_value) = license_key {
1943            local_var_req_builder =
1944                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1945        }
1946        if let Some(ref param_value) = public_key {
1947            local_var_req_builder =
1948                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1949        }
1950        if let Some(ref param_value) = private_key {
1951            local_var_req_builder =
1952                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1953        }
1954        if let Some(ref param_value) = two_factor_providers {
1955            local_var_req_builder =
1956                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1957        }
1958        if let Some(ref param_value) = expiration_date {
1959            local_var_req_builder =
1960                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
1961        }
1962        if let Some(ref param_value) = creation_date {
1963            local_var_req_builder =
1964                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1965        }
1966        if let Some(ref param_value) = revision_date {
1967            local_var_req_builder =
1968                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1969        }
1970        if let Some(ref param_value) = max_autoscale_seats {
1971            local_var_req_builder =
1972                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
1973        }
1974        if let Some(ref param_value) = owners_notified_of_autoscaling {
1975            local_var_req_builder = local_var_req_builder
1976                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
1977        }
1978        if let Some(ref param_value) = status {
1979            local_var_req_builder =
1980                local_var_req_builder.query(&[("status", &param_value.to_string())]);
1981        }
1982        if let Some(ref param_value) = use_password_manager {
1983            local_var_req_builder =
1984                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
1985        }
1986        if let Some(ref param_value) = sm_seats {
1987            local_var_req_builder =
1988                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
1989        }
1990        if let Some(ref param_value) = sm_service_accounts {
1991            local_var_req_builder =
1992                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
1993        }
1994        if let Some(ref param_value) = max_autoscale_sm_seats {
1995            local_var_req_builder =
1996                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
1997        }
1998        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
1999            local_var_req_builder = local_var_req_builder
2000                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
2001        }
2002        if let Some(ref param_value) = limit_collection_creation {
2003            local_var_req_builder = local_var_req_builder
2004                .query(&[("limitCollectionCreation", &param_value.to_string())]);
2005        }
2006        if let Some(ref param_value) = limit_collection_deletion {
2007            local_var_req_builder = local_var_req_builder
2008                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
2009        }
2010        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
2011            local_var_req_builder = local_var_req_builder.query(&[(
2012                "allowAdminAccessToAllCollectionItems",
2013                &param_value.to_string(),
2014            )]);
2015        }
2016        if let Some(ref param_value) = limit_item_deletion {
2017            local_var_req_builder =
2018                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
2019        }
2020        if let Some(ref param_value) = use_risk_insights {
2021            local_var_req_builder =
2022                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
2023        }
2024        if let Some(ref param_value) = use_organization_domains {
2025            local_var_req_builder = local_var_req_builder
2026                .query(&[("useOrganizationDomains", &param_value.to_string())]);
2027        }
2028        if let Some(ref param_value) = use_admin_sponsored_families {
2029            local_var_req_builder = local_var_req_builder
2030                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
2031        }
2032        if let Some(ref param_value) = sync_seats {
2033            local_var_req_builder =
2034                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
2035        }
2036        if let Some(ref param_value) = use_automatic_user_confirmation {
2037            local_var_req_builder = local_var_req_builder
2038                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
2039        }
2040        if let Some(ref param_value) = use_disable_sm_ads_for_users {
2041            local_var_req_builder = local_var_req_builder
2042                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
2043        }
2044        if let Some(ref param_value) = use_phishing_blocker {
2045            local_var_req_builder =
2046                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
2047        }
2048        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
2049            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
2050        };
2051        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
2052
2053        let local_var_req = local_var_req_builder.build()?;
2054        let local_var_resp = local_var_client.execute(local_var_req).await?;
2055
2056        let local_var_status = local_var_resp.status();
2057        let local_var_content = local_var_resp.text().await?;
2058
2059        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
2060            Ok(())
2061        } else {
2062            let local_var_entity: Option<GetMetadataError> =
2063                serde_json::from_str(&local_var_content).ok();
2064            let local_var_error = ResponseContent {
2065                status: local_var_status,
2066                content: local_var_content,
2067                entity: local_var_entity,
2068            };
2069            Err(Error::ResponseError(local_var_error))
2070        }
2071    }
2072
2073    async fn get_payment_method<'a>(
2074        &self,
2075        organization_id: &'a str,
2076        id: Option<uuid::Uuid>,
2077        identifier: Option<&'a str>,
2078        name: Option<&'a str>,
2079        business_name: Option<&'a str>,
2080        business_address1: Option<&'a str>,
2081        business_address2: Option<&'a str>,
2082        business_address3: Option<&'a str>,
2083        business_country: Option<&'a str>,
2084        business_tax_number: Option<&'a str>,
2085        billing_email: Option<&'a str>,
2086        plan: Option<&'a str>,
2087        plan_type: Option<models::PlanType>,
2088        seats: Option<i32>,
2089        max_collections: Option<i32>,
2090        use_policies: Option<bool>,
2091        use_sso: Option<bool>,
2092        use_key_connector: Option<bool>,
2093        use_scim: Option<bool>,
2094        use_groups: Option<bool>,
2095        use_directory: Option<bool>,
2096        use_events: Option<bool>,
2097        use_totp: Option<bool>,
2098        use2fa: Option<bool>,
2099        use_api: Option<bool>,
2100        use_reset_password: Option<bool>,
2101        use_secrets_manager: Option<bool>,
2102        self_host: Option<bool>,
2103        users_get_premium: Option<bool>,
2104        use_custom_permissions: Option<bool>,
2105        storage: Option<i64>,
2106        max_storage_gb: Option<i32>,
2107        gateway: Option<models::GatewayType>,
2108        gateway_customer_id: Option<&'a str>,
2109        gateway_subscription_id: Option<&'a str>,
2110        reference_data: Option<&'a str>,
2111        enabled: Option<bool>,
2112        license_key: Option<&'a str>,
2113        public_key: Option<&'a str>,
2114        private_key: Option<&'a str>,
2115        two_factor_providers: Option<&'a str>,
2116        expiration_date: Option<String>,
2117        creation_date: Option<String>,
2118        revision_date: Option<String>,
2119        max_autoscale_seats: Option<i32>,
2120        owners_notified_of_autoscaling: Option<String>,
2121        status: Option<models::OrganizationStatusType>,
2122        use_password_manager: Option<bool>,
2123        sm_seats: Option<i32>,
2124        sm_service_accounts: Option<i32>,
2125        max_autoscale_sm_seats: Option<i32>,
2126        max_autoscale_sm_service_accounts: Option<i32>,
2127        limit_collection_creation: Option<bool>,
2128        limit_collection_deletion: Option<bool>,
2129        allow_admin_access_to_all_collection_items: Option<bool>,
2130        limit_item_deletion: Option<bool>,
2131        use_risk_insights: Option<bool>,
2132        use_organization_domains: Option<bool>,
2133        use_admin_sponsored_families: Option<bool>,
2134        sync_seats: Option<bool>,
2135        use_automatic_user_confirmation: Option<bool>,
2136        use_disable_sm_ads_for_users: Option<bool>,
2137        use_phishing_blocker: Option<bool>,
2138    ) -> Result<(), Error<GetPaymentMethodError>> {
2139        let local_var_configuration = &self.configuration;
2140
2141        let local_var_client = &local_var_configuration.client;
2142
2143        let local_var_uri_str = format!(
2144            "{}/organizations/{organizationId}/billing/vnext/payment-method",
2145            local_var_configuration.base_path,
2146            organizationId = crate::apis::urlencode(organization_id)
2147        );
2148        let mut local_var_req_builder =
2149            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
2150
2151        if let Some(ref param_value) = id {
2152            local_var_req_builder =
2153                local_var_req_builder.query(&[("id", &param_value.to_string())]);
2154        }
2155        if let Some(ref param_value) = identifier {
2156            local_var_req_builder =
2157                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
2158        }
2159        if let Some(ref param_value) = name {
2160            local_var_req_builder =
2161                local_var_req_builder.query(&[("name", &param_value.to_string())]);
2162        }
2163        if let Some(ref param_value) = business_name {
2164            local_var_req_builder =
2165                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
2166        }
2167        if let Some(ref param_value) = business_address1 {
2168            local_var_req_builder =
2169                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
2170        }
2171        if let Some(ref param_value) = business_address2 {
2172            local_var_req_builder =
2173                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
2174        }
2175        if let Some(ref param_value) = business_address3 {
2176            local_var_req_builder =
2177                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
2178        }
2179        if let Some(ref param_value) = business_country {
2180            local_var_req_builder =
2181                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
2182        }
2183        if let Some(ref param_value) = business_tax_number {
2184            local_var_req_builder =
2185                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
2186        }
2187        if let Some(ref param_value) = billing_email {
2188            local_var_req_builder =
2189                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
2190        }
2191        if let Some(ref param_value) = plan {
2192            local_var_req_builder =
2193                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
2194        }
2195        if let Some(ref param_value) = plan_type {
2196            local_var_req_builder =
2197                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
2198        }
2199        if let Some(ref param_value) = seats {
2200            local_var_req_builder =
2201                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
2202        }
2203        if let Some(ref param_value) = max_collections {
2204            local_var_req_builder =
2205                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
2206        }
2207        if let Some(ref param_value) = use_policies {
2208            local_var_req_builder =
2209                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
2210        }
2211        if let Some(ref param_value) = use_sso {
2212            local_var_req_builder =
2213                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
2214        }
2215        if let Some(ref param_value) = use_key_connector {
2216            local_var_req_builder =
2217                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
2218        }
2219        if let Some(ref param_value) = use_scim {
2220            local_var_req_builder =
2221                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
2222        }
2223        if let Some(ref param_value) = use_groups {
2224            local_var_req_builder =
2225                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
2226        }
2227        if let Some(ref param_value) = use_directory {
2228            local_var_req_builder =
2229                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
2230        }
2231        if let Some(ref param_value) = use_events {
2232            local_var_req_builder =
2233                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
2234        }
2235        if let Some(ref param_value) = use_totp {
2236            local_var_req_builder =
2237                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
2238        }
2239        if let Some(ref param_value) = use2fa {
2240            local_var_req_builder =
2241                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
2242        }
2243        if let Some(ref param_value) = use_api {
2244            local_var_req_builder =
2245                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
2246        }
2247        if let Some(ref param_value) = use_reset_password {
2248            local_var_req_builder =
2249                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
2250        }
2251        if let Some(ref param_value) = use_secrets_manager {
2252            local_var_req_builder =
2253                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
2254        }
2255        if let Some(ref param_value) = self_host {
2256            local_var_req_builder =
2257                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
2258        }
2259        if let Some(ref param_value) = users_get_premium {
2260            local_var_req_builder =
2261                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
2262        }
2263        if let Some(ref param_value) = use_custom_permissions {
2264            local_var_req_builder =
2265                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
2266        }
2267        if let Some(ref param_value) = storage {
2268            local_var_req_builder =
2269                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
2270        }
2271        if let Some(ref param_value) = max_storage_gb {
2272            local_var_req_builder =
2273                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
2274        }
2275        if let Some(ref param_value) = gateway {
2276            local_var_req_builder =
2277                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
2278        }
2279        if let Some(ref param_value) = gateway_customer_id {
2280            local_var_req_builder =
2281                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
2282        }
2283        if let Some(ref param_value) = gateway_subscription_id {
2284            local_var_req_builder =
2285                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
2286        }
2287        if let Some(ref param_value) = reference_data {
2288            local_var_req_builder =
2289                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
2290        }
2291        if let Some(ref param_value) = enabled {
2292            local_var_req_builder =
2293                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
2294        }
2295        if let Some(ref param_value) = license_key {
2296            local_var_req_builder =
2297                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
2298        }
2299        if let Some(ref param_value) = public_key {
2300            local_var_req_builder =
2301                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
2302        }
2303        if let Some(ref param_value) = private_key {
2304            local_var_req_builder =
2305                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
2306        }
2307        if let Some(ref param_value) = two_factor_providers {
2308            local_var_req_builder =
2309                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
2310        }
2311        if let Some(ref param_value) = expiration_date {
2312            local_var_req_builder =
2313                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
2314        }
2315        if let Some(ref param_value) = creation_date {
2316            local_var_req_builder =
2317                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
2318        }
2319        if let Some(ref param_value) = revision_date {
2320            local_var_req_builder =
2321                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
2322        }
2323        if let Some(ref param_value) = max_autoscale_seats {
2324            local_var_req_builder =
2325                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
2326        }
2327        if let Some(ref param_value) = owners_notified_of_autoscaling {
2328            local_var_req_builder = local_var_req_builder
2329                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
2330        }
2331        if let Some(ref param_value) = status {
2332            local_var_req_builder =
2333                local_var_req_builder.query(&[("status", &param_value.to_string())]);
2334        }
2335        if let Some(ref param_value) = use_password_manager {
2336            local_var_req_builder =
2337                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
2338        }
2339        if let Some(ref param_value) = sm_seats {
2340            local_var_req_builder =
2341                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
2342        }
2343        if let Some(ref param_value) = sm_service_accounts {
2344            local_var_req_builder =
2345                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
2346        }
2347        if let Some(ref param_value) = max_autoscale_sm_seats {
2348            local_var_req_builder =
2349                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
2350        }
2351        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
2352            local_var_req_builder = local_var_req_builder
2353                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
2354        }
2355        if let Some(ref param_value) = limit_collection_creation {
2356            local_var_req_builder = local_var_req_builder
2357                .query(&[("limitCollectionCreation", &param_value.to_string())]);
2358        }
2359        if let Some(ref param_value) = limit_collection_deletion {
2360            local_var_req_builder = local_var_req_builder
2361                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
2362        }
2363        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
2364            local_var_req_builder = local_var_req_builder.query(&[(
2365                "allowAdminAccessToAllCollectionItems",
2366                &param_value.to_string(),
2367            )]);
2368        }
2369        if let Some(ref param_value) = limit_item_deletion {
2370            local_var_req_builder =
2371                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
2372        }
2373        if let Some(ref param_value) = use_risk_insights {
2374            local_var_req_builder =
2375                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
2376        }
2377        if let Some(ref param_value) = use_organization_domains {
2378            local_var_req_builder = local_var_req_builder
2379                .query(&[("useOrganizationDomains", &param_value.to_string())]);
2380        }
2381        if let Some(ref param_value) = use_admin_sponsored_families {
2382            local_var_req_builder = local_var_req_builder
2383                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
2384        }
2385        if let Some(ref param_value) = sync_seats {
2386            local_var_req_builder =
2387                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
2388        }
2389        if let Some(ref param_value) = use_automatic_user_confirmation {
2390            local_var_req_builder = local_var_req_builder
2391                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
2392        }
2393        if let Some(ref param_value) = use_disable_sm_ads_for_users {
2394            local_var_req_builder = local_var_req_builder
2395                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
2396        }
2397        if let Some(ref param_value) = use_phishing_blocker {
2398            local_var_req_builder =
2399                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
2400        }
2401        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
2402            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
2403        };
2404        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
2405
2406        let local_var_req = local_var_req_builder.build()?;
2407        let local_var_resp = local_var_client.execute(local_var_req).await?;
2408
2409        let local_var_status = local_var_resp.status();
2410        let local_var_content = local_var_resp.text().await?;
2411
2412        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
2413            Ok(())
2414        } else {
2415            let local_var_entity: Option<GetPaymentMethodError> =
2416                serde_json::from_str(&local_var_content).ok();
2417            let local_var_error = ResponseContent {
2418                status: local_var_status,
2419                content: local_var_content,
2420                entity: local_var_entity,
2421            };
2422            Err(Error::ResponseError(local_var_error))
2423        }
2424    }
2425
2426    async fn get_warnings<'a>(
2427        &self,
2428        organization_id: &'a str,
2429        id: Option<uuid::Uuid>,
2430        identifier: Option<&'a str>,
2431        name: Option<&'a str>,
2432        business_name: Option<&'a str>,
2433        business_address1: Option<&'a str>,
2434        business_address2: Option<&'a str>,
2435        business_address3: Option<&'a str>,
2436        business_country: Option<&'a str>,
2437        business_tax_number: Option<&'a str>,
2438        billing_email: Option<&'a str>,
2439        plan: Option<&'a str>,
2440        plan_type: Option<models::PlanType>,
2441        seats: Option<i32>,
2442        max_collections: Option<i32>,
2443        use_policies: Option<bool>,
2444        use_sso: Option<bool>,
2445        use_key_connector: Option<bool>,
2446        use_scim: Option<bool>,
2447        use_groups: Option<bool>,
2448        use_directory: Option<bool>,
2449        use_events: Option<bool>,
2450        use_totp: Option<bool>,
2451        use2fa: Option<bool>,
2452        use_api: Option<bool>,
2453        use_reset_password: Option<bool>,
2454        use_secrets_manager: Option<bool>,
2455        self_host: Option<bool>,
2456        users_get_premium: Option<bool>,
2457        use_custom_permissions: Option<bool>,
2458        storage: Option<i64>,
2459        max_storage_gb: Option<i32>,
2460        gateway: Option<models::GatewayType>,
2461        gateway_customer_id: Option<&'a str>,
2462        gateway_subscription_id: Option<&'a str>,
2463        reference_data: Option<&'a str>,
2464        enabled: Option<bool>,
2465        license_key: Option<&'a str>,
2466        public_key: Option<&'a str>,
2467        private_key: Option<&'a str>,
2468        two_factor_providers: Option<&'a str>,
2469        expiration_date: Option<String>,
2470        creation_date: Option<String>,
2471        revision_date: Option<String>,
2472        max_autoscale_seats: Option<i32>,
2473        owners_notified_of_autoscaling: Option<String>,
2474        status: Option<models::OrganizationStatusType>,
2475        use_password_manager: Option<bool>,
2476        sm_seats: Option<i32>,
2477        sm_service_accounts: Option<i32>,
2478        max_autoscale_sm_seats: Option<i32>,
2479        max_autoscale_sm_service_accounts: Option<i32>,
2480        limit_collection_creation: Option<bool>,
2481        limit_collection_deletion: Option<bool>,
2482        allow_admin_access_to_all_collection_items: Option<bool>,
2483        limit_item_deletion: Option<bool>,
2484        use_risk_insights: Option<bool>,
2485        use_organization_domains: Option<bool>,
2486        use_admin_sponsored_families: Option<bool>,
2487        sync_seats: Option<bool>,
2488        use_automatic_user_confirmation: Option<bool>,
2489        use_disable_sm_ads_for_users: Option<bool>,
2490        use_phishing_blocker: Option<bool>,
2491    ) -> Result<(), Error<GetWarningsError>> {
2492        let local_var_configuration = &self.configuration;
2493
2494        let local_var_client = &local_var_configuration.client;
2495
2496        let local_var_uri_str = format!(
2497            "{}/organizations/{organizationId}/billing/vnext/warnings",
2498            local_var_configuration.base_path,
2499            organizationId = crate::apis::urlencode(organization_id)
2500        );
2501        let mut local_var_req_builder =
2502            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
2503
2504        if let Some(ref param_value) = id {
2505            local_var_req_builder =
2506                local_var_req_builder.query(&[("id", &param_value.to_string())]);
2507        }
2508        if let Some(ref param_value) = identifier {
2509            local_var_req_builder =
2510                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
2511        }
2512        if let Some(ref param_value) = name {
2513            local_var_req_builder =
2514                local_var_req_builder.query(&[("name", &param_value.to_string())]);
2515        }
2516        if let Some(ref param_value) = business_name {
2517            local_var_req_builder =
2518                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
2519        }
2520        if let Some(ref param_value) = business_address1 {
2521            local_var_req_builder =
2522                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
2523        }
2524        if let Some(ref param_value) = business_address2 {
2525            local_var_req_builder =
2526                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
2527        }
2528        if let Some(ref param_value) = business_address3 {
2529            local_var_req_builder =
2530                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
2531        }
2532        if let Some(ref param_value) = business_country {
2533            local_var_req_builder =
2534                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
2535        }
2536        if let Some(ref param_value) = business_tax_number {
2537            local_var_req_builder =
2538                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
2539        }
2540        if let Some(ref param_value) = billing_email {
2541            local_var_req_builder =
2542                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
2543        }
2544        if let Some(ref param_value) = plan {
2545            local_var_req_builder =
2546                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
2547        }
2548        if let Some(ref param_value) = plan_type {
2549            local_var_req_builder =
2550                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
2551        }
2552        if let Some(ref param_value) = seats {
2553            local_var_req_builder =
2554                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
2555        }
2556        if let Some(ref param_value) = max_collections {
2557            local_var_req_builder =
2558                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
2559        }
2560        if let Some(ref param_value) = use_policies {
2561            local_var_req_builder =
2562                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
2563        }
2564        if let Some(ref param_value) = use_sso {
2565            local_var_req_builder =
2566                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
2567        }
2568        if let Some(ref param_value) = use_key_connector {
2569            local_var_req_builder =
2570                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
2571        }
2572        if let Some(ref param_value) = use_scim {
2573            local_var_req_builder =
2574                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
2575        }
2576        if let Some(ref param_value) = use_groups {
2577            local_var_req_builder =
2578                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
2579        }
2580        if let Some(ref param_value) = use_directory {
2581            local_var_req_builder =
2582                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
2583        }
2584        if let Some(ref param_value) = use_events {
2585            local_var_req_builder =
2586                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
2587        }
2588        if let Some(ref param_value) = use_totp {
2589            local_var_req_builder =
2590                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
2591        }
2592        if let Some(ref param_value) = use2fa {
2593            local_var_req_builder =
2594                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
2595        }
2596        if let Some(ref param_value) = use_api {
2597            local_var_req_builder =
2598                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
2599        }
2600        if let Some(ref param_value) = use_reset_password {
2601            local_var_req_builder =
2602                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
2603        }
2604        if let Some(ref param_value) = use_secrets_manager {
2605            local_var_req_builder =
2606                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
2607        }
2608        if let Some(ref param_value) = self_host {
2609            local_var_req_builder =
2610                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
2611        }
2612        if let Some(ref param_value) = users_get_premium {
2613            local_var_req_builder =
2614                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
2615        }
2616        if let Some(ref param_value) = use_custom_permissions {
2617            local_var_req_builder =
2618                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
2619        }
2620        if let Some(ref param_value) = storage {
2621            local_var_req_builder =
2622                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
2623        }
2624        if let Some(ref param_value) = max_storage_gb {
2625            local_var_req_builder =
2626                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
2627        }
2628        if let Some(ref param_value) = gateway {
2629            local_var_req_builder =
2630                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
2631        }
2632        if let Some(ref param_value) = gateway_customer_id {
2633            local_var_req_builder =
2634                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
2635        }
2636        if let Some(ref param_value) = gateway_subscription_id {
2637            local_var_req_builder =
2638                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
2639        }
2640        if let Some(ref param_value) = reference_data {
2641            local_var_req_builder =
2642                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
2643        }
2644        if let Some(ref param_value) = enabled {
2645            local_var_req_builder =
2646                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
2647        }
2648        if let Some(ref param_value) = license_key {
2649            local_var_req_builder =
2650                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
2651        }
2652        if let Some(ref param_value) = public_key {
2653            local_var_req_builder =
2654                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
2655        }
2656        if let Some(ref param_value) = private_key {
2657            local_var_req_builder =
2658                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
2659        }
2660        if let Some(ref param_value) = two_factor_providers {
2661            local_var_req_builder =
2662                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
2663        }
2664        if let Some(ref param_value) = expiration_date {
2665            local_var_req_builder =
2666                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
2667        }
2668        if let Some(ref param_value) = creation_date {
2669            local_var_req_builder =
2670                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
2671        }
2672        if let Some(ref param_value) = revision_date {
2673            local_var_req_builder =
2674                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
2675        }
2676        if let Some(ref param_value) = max_autoscale_seats {
2677            local_var_req_builder =
2678                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
2679        }
2680        if let Some(ref param_value) = owners_notified_of_autoscaling {
2681            local_var_req_builder = local_var_req_builder
2682                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
2683        }
2684        if let Some(ref param_value) = status {
2685            local_var_req_builder =
2686                local_var_req_builder.query(&[("status", &param_value.to_string())]);
2687        }
2688        if let Some(ref param_value) = use_password_manager {
2689            local_var_req_builder =
2690                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
2691        }
2692        if let Some(ref param_value) = sm_seats {
2693            local_var_req_builder =
2694                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
2695        }
2696        if let Some(ref param_value) = sm_service_accounts {
2697            local_var_req_builder =
2698                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
2699        }
2700        if let Some(ref param_value) = max_autoscale_sm_seats {
2701            local_var_req_builder =
2702                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
2703        }
2704        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
2705            local_var_req_builder = local_var_req_builder
2706                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
2707        }
2708        if let Some(ref param_value) = limit_collection_creation {
2709            local_var_req_builder = local_var_req_builder
2710                .query(&[("limitCollectionCreation", &param_value.to_string())]);
2711        }
2712        if let Some(ref param_value) = limit_collection_deletion {
2713            local_var_req_builder = local_var_req_builder
2714                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
2715        }
2716        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
2717            local_var_req_builder = local_var_req_builder.query(&[(
2718                "allowAdminAccessToAllCollectionItems",
2719                &param_value.to_string(),
2720            )]);
2721        }
2722        if let Some(ref param_value) = limit_item_deletion {
2723            local_var_req_builder =
2724                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
2725        }
2726        if let Some(ref param_value) = use_risk_insights {
2727            local_var_req_builder =
2728                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
2729        }
2730        if let Some(ref param_value) = use_organization_domains {
2731            local_var_req_builder = local_var_req_builder
2732                .query(&[("useOrganizationDomains", &param_value.to_string())]);
2733        }
2734        if let Some(ref param_value) = use_admin_sponsored_families {
2735            local_var_req_builder = local_var_req_builder
2736                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
2737        }
2738        if let Some(ref param_value) = sync_seats {
2739            local_var_req_builder =
2740                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
2741        }
2742        if let Some(ref param_value) = use_automatic_user_confirmation {
2743            local_var_req_builder = local_var_req_builder
2744                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
2745        }
2746        if let Some(ref param_value) = use_disable_sm_ads_for_users {
2747            local_var_req_builder = local_var_req_builder
2748                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
2749        }
2750        if let Some(ref param_value) = use_phishing_blocker {
2751            local_var_req_builder =
2752                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
2753        }
2754        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
2755            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
2756        };
2757        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
2758
2759        let local_var_req = local_var_req_builder.build()?;
2760        let local_var_resp = local_var_client.execute(local_var_req).await?;
2761
2762        let local_var_status = local_var_resp.status();
2763        let local_var_content = local_var_resp.text().await?;
2764
2765        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
2766            Ok(())
2767        } else {
2768            let local_var_entity: Option<GetWarningsError> =
2769                serde_json::from_str(&local_var_content).ok();
2770            let local_var_error = ResponseContent {
2771                status: local_var_status,
2772                content: local_var_content,
2773                entity: local_var_entity,
2774            };
2775            Err(Error::ResponseError(local_var_error))
2776        }
2777    }
2778
2779    async fn restart_subscription<'a>(
2780        &self,
2781        organization_id: &'a str,
2782        id: Option<uuid::Uuid>,
2783        identifier: Option<&'a str>,
2784        name: Option<&'a str>,
2785        business_name: Option<&'a str>,
2786        business_address1: Option<&'a str>,
2787        business_address2: Option<&'a str>,
2788        business_address3: Option<&'a str>,
2789        business_country: Option<&'a str>,
2790        business_tax_number: Option<&'a str>,
2791        billing_email: Option<&'a str>,
2792        plan: Option<&'a str>,
2793        plan_type: Option<models::PlanType>,
2794        seats: Option<i32>,
2795        max_collections: Option<i32>,
2796        use_policies: Option<bool>,
2797        use_sso: Option<bool>,
2798        use_key_connector: Option<bool>,
2799        use_scim: Option<bool>,
2800        use_groups: Option<bool>,
2801        use_directory: Option<bool>,
2802        use_events: Option<bool>,
2803        use_totp: Option<bool>,
2804        use2fa: Option<bool>,
2805        use_api: Option<bool>,
2806        use_reset_password: Option<bool>,
2807        use_secrets_manager: Option<bool>,
2808        self_host: Option<bool>,
2809        users_get_premium: Option<bool>,
2810        use_custom_permissions: Option<bool>,
2811        storage: Option<i64>,
2812        max_storage_gb: Option<i32>,
2813        gateway: Option<models::GatewayType>,
2814        gateway_customer_id: Option<&'a str>,
2815        gateway_subscription_id: Option<&'a str>,
2816        reference_data: Option<&'a str>,
2817        enabled: Option<bool>,
2818        license_key: Option<&'a str>,
2819        public_key: Option<&'a str>,
2820        private_key: Option<&'a str>,
2821        two_factor_providers: Option<&'a str>,
2822        expiration_date: Option<String>,
2823        creation_date: Option<String>,
2824        revision_date: Option<String>,
2825        max_autoscale_seats: Option<i32>,
2826        owners_notified_of_autoscaling: Option<String>,
2827        status: Option<models::OrganizationStatusType>,
2828        use_password_manager: Option<bool>,
2829        sm_seats: Option<i32>,
2830        sm_service_accounts: Option<i32>,
2831        max_autoscale_sm_seats: Option<i32>,
2832        max_autoscale_sm_service_accounts: Option<i32>,
2833        limit_collection_creation: Option<bool>,
2834        limit_collection_deletion: Option<bool>,
2835        allow_admin_access_to_all_collection_items: Option<bool>,
2836        limit_item_deletion: Option<bool>,
2837        use_risk_insights: Option<bool>,
2838        use_organization_domains: Option<bool>,
2839        use_admin_sponsored_families: Option<bool>,
2840        sync_seats: Option<bool>,
2841        use_automatic_user_confirmation: Option<bool>,
2842        use_disable_sm_ads_for_users: Option<bool>,
2843        use_phishing_blocker: Option<bool>,
2844        restart_subscription_request: Option<models::RestartSubscriptionRequest>,
2845    ) -> Result<(), Error<RestartSubscriptionError>> {
2846        let local_var_configuration = &self.configuration;
2847
2848        let local_var_client = &local_var_configuration.client;
2849
2850        let local_var_uri_str = format!(
2851            "{}/organizations/{organizationId}/billing/vnext/subscription/restart",
2852            local_var_configuration.base_path,
2853            organizationId = crate::apis::urlencode(organization_id)
2854        );
2855        let mut local_var_req_builder =
2856            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
2857
2858        if let Some(ref param_value) = id {
2859            local_var_req_builder =
2860                local_var_req_builder.query(&[("id", &param_value.to_string())]);
2861        }
2862        if let Some(ref param_value) = identifier {
2863            local_var_req_builder =
2864                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
2865        }
2866        if let Some(ref param_value) = name {
2867            local_var_req_builder =
2868                local_var_req_builder.query(&[("name", &param_value.to_string())]);
2869        }
2870        if let Some(ref param_value) = business_name {
2871            local_var_req_builder =
2872                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
2873        }
2874        if let Some(ref param_value) = business_address1 {
2875            local_var_req_builder =
2876                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
2877        }
2878        if let Some(ref param_value) = business_address2 {
2879            local_var_req_builder =
2880                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
2881        }
2882        if let Some(ref param_value) = business_address3 {
2883            local_var_req_builder =
2884                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
2885        }
2886        if let Some(ref param_value) = business_country {
2887            local_var_req_builder =
2888                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
2889        }
2890        if let Some(ref param_value) = business_tax_number {
2891            local_var_req_builder =
2892                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
2893        }
2894        if let Some(ref param_value) = billing_email {
2895            local_var_req_builder =
2896                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
2897        }
2898        if let Some(ref param_value) = plan {
2899            local_var_req_builder =
2900                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
2901        }
2902        if let Some(ref param_value) = plan_type {
2903            local_var_req_builder =
2904                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
2905        }
2906        if let Some(ref param_value) = seats {
2907            local_var_req_builder =
2908                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
2909        }
2910        if let Some(ref param_value) = max_collections {
2911            local_var_req_builder =
2912                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
2913        }
2914        if let Some(ref param_value) = use_policies {
2915            local_var_req_builder =
2916                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
2917        }
2918        if let Some(ref param_value) = use_sso {
2919            local_var_req_builder =
2920                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
2921        }
2922        if let Some(ref param_value) = use_key_connector {
2923            local_var_req_builder =
2924                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
2925        }
2926        if let Some(ref param_value) = use_scim {
2927            local_var_req_builder =
2928                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
2929        }
2930        if let Some(ref param_value) = use_groups {
2931            local_var_req_builder =
2932                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
2933        }
2934        if let Some(ref param_value) = use_directory {
2935            local_var_req_builder =
2936                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
2937        }
2938        if let Some(ref param_value) = use_events {
2939            local_var_req_builder =
2940                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
2941        }
2942        if let Some(ref param_value) = use_totp {
2943            local_var_req_builder =
2944                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
2945        }
2946        if let Some(ref param_value) = use2fa {
2947            local_var_req_builder =
2948                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
2949        }
2950        if let Some(ref param_value) = use_api {
2951            local_var_req_builder =
2952                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
2953        }
2954        if let Some(ref param_value) = use_reset_password {
2955            local_var_req_builder =
2956                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
2957        }
2958        if let Some(ref param_value) = use_secrets_manager {
2959            local_var_req_builder =
2960                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
2961        }
2962        if let Some(ref param_value) = self_host {
2963            local_var_req_builder =
2964                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
2965        }
2966        if let Some(ref param_value) = users_get_premium {
2967            local_var_req_builder =
2968                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
2969        }
2970        if let Some(ref param_value) = use_custom_permissions {
2971            local_var_req_builder =
2972                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
2973        }
2974        if let Some(ref param_value) = storage {
2975            local_var_req_builder =
2976                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
2977        }
2978        if let Some(ref param_value) = max_storage_gb {
2979            local_var_req_builder =
2980                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
2981        }
2982        if let Some(ref param_value) = gateway {
2983            local_var_req_builder =
2984                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
2985        }
2986        if let Some(ref param_value) = gateway_customer_id {
2987            local_var_req_builder =
2988                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
2989        }
2990        if let Some(ref param_value) = gateway_subscription_id {
2991            local_var_req_builder =
2992                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
2993        }
2994        if let Some(ref param_value) = reference_data {
2995            local_var_req_builder =
2996                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
2997        }
2998        if let Some(ref param_value) = enabled {
2999            local_var_req_builder =
3000                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
3001        }
3002        if let Some(ref param_value) = license_key {
3003            local_var_req_builder =
3004                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
3005        }
3006        if let Some(ref param_value) = public_key {
3007            local_var_req_builder =
3008                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
3009        }
3010        if let Some(ref param_value) = private_key {
3011            local_var_req_builder =
3012                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
3013        }
3014        if let Some(ref param_value) = two_factor_providers {
3015            local_var_req_builder =
3016                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
3017        }
3018        if let Some(ref param_value) = expiration_date {
3019            local_var_req_builder =
3020                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
3021        }
3022        if let Some(ref param_value) = creation_date {
3023            local_var_req_builder =
3024                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
3025        }
3026        if let Some(ref param_value) = revision_date {
3027            local_var_req_builder =
3028                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
3029        }
3030        if let Some(ref param_value) = max_autoscale_seats {
3031            local_var_req_builder =
3032                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
3033        }
3034        if let Some(ref param_value) = owners_notified_of_autoscaling {
3035            local_var_req_builder = local_var_req_builder
3036                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
3037        }
3038        if let Some(ref param_value) = status {
3039            local_var_req_builder =
3040                local_var_req_builder.query(&[("status", &param_value.to_string())]);
3041        }
3042        if let Some(ref param_value) = use_password_manager {
3043            local_var_req_builder =
3044                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
3045        }
3046        if let Some(ref param_value) = sm_seats {
3047            local_var_req_builder =
3048                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
3049        }
3050        if let Some(ref param_value) = sm_service_accounts {
3051            local_var_req_builder =
3052                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
3053        }
3054        if let Some(ref param_value) = max_autoscale_sm_seats {
3055            local_var_req_builder =
3056                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
3057        }
3058        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
3059            local_var_req_builder = local_var_req_builder
3060                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
3061        }
3062        if let Some(ref param_value) = limit_collection_creation {
3063            local_var_req_builder = local_var_req_builder
3064                .query(&[("limitCollectionCreation", &param_value.to_string())]);
3065        }
3066        if let Some(ref param_value) = limit_collection_deletion {
3067            local_var_req_builder = local_var_req_builder
3068                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
3069        }
3070        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
3071            local_var_req_builder = local_var_req_builder.query(&[(
3072                "allowAdminAccessToAllCollectionItems",
3073                &param_value.to_string(),
3074            )]);
3075        }
3076        if let Some(ref param_value) = limit_item_deletion {
3077            local_var_req_builder =
3078                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
3079        }
3080        if let Some(ref param_value) = use_risk_insights {
3081            local_var_req_builder =
3082                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
3083        }
3084        if let Some(ref param_value) = use_organization_domains {
3085            local_var_req_builder = local_var_req_builder
3086                .query(&[("useOrganizationDomains", &param_value.to_string())]);
3087        }
3088        if let Some(ref param_value) = use_admin_sponsored_families {
3089            local_var_req_builder = local_var_req_builder
3090                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
3091        }
3092        if let Some(ref param_value) = sync_seats {
3093            local_var_req_builder =
3094                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
3095        }
3096        if let Some(ref param_value) = use_automatic_user_confirmation {
3097            local_var_req_builder = local_var_req_builder
3098                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
3099        }
3100        if let Some(ref param_value) = use_disable_sm_ads_for_users {
3101            local_var_req_builder = local_var_req_builder
3102                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
3103        }
3104        if let Some(ref param_value) = use_phishing_blocker {
3105            local_var_req_builder =
3106                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
3107        }
3108        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
3109            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
3110        };
3111        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
3112        local_var_req_builder = local_var_req_builder.json(&restart_subscription_request);
3113
3114        let local_var_req = local_var_req_builder.build()?;
3115        let local_var_resp = local_var_client.execute(local_var_req).await?;
3116
3117        let local_var_status = local_var_resp.status();
3118        let local_var_content = local_var_resp.text().await?;
3119
3120        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
3121            Ok(())
3122        } else {
3123            let local_var_entity: Option<RestartSubscriptionError> =
3124                serde_json::from_str(&local_var_content).ok();
3125            let local_var_error = ResponseContent {
3126                status: local_var_status,
3127                content: local_var_content,
3128                entity: local_var_entity,
3129            };
3130            Err(Error::ResponseError(local_var_error))
3131        }
3132    }
3133
3134    async fn update_billing_address<'a>(
3135        &self,
3136        organization_id: &'a str,
3137        id: Option<uuid::Uuid>,
3138        identifier: Option<&'a str>,
3139        name: Option<&'a str>,
3140        business_name: Option<&'a str>,
3141        business_address1: Option<&'a str>,
3142        business_address2: Option<&'a str>,
3143        business_address3: Option<&'a str>,
3144        business_country: Option<&'a str>,
3145        business_tax_number: Option<&'a str>,
3146        billing_email: Option<&'a str>,
3147        plan: Option<&'a str>,
3148        plan_type: Option<models::PlanType>,
3149        seats: Option<i32>,
3150        max_collections: Option<i32>,
3151        use_policies: Option<bool>,
3152        use_sso: Option<bool>,
3153        use_key_connector: Option<bool>,
3154        use_scim: Option<bool>,
3155        use_groups: Option<bool>,
3156        use_directory: Option<bool>,
3157        use_events: Option<bool>,
3158        use_totp: Option<bool>,
3159        use2fa: Option<bool>,
3160        use_api: Option<bool>,
3161        use_reset_password: Option<bool>,
3162        use_secrets_manager: Option<bool>,
3163        self_host: Option<bool>,
3164        users_get_premium: Option<bool>,
3165        use_custom_permissions: Option<bool>,
3166        storage: Option<i64>,
3167        max_storage_gb: Option<i32>,
3168        gateway: Option<models::GatewayType>,
3169        gateway_customer_id: Option<&'a str>,
3170        gateway_subscription_id: Option<&'a str>,
3171        reference_data: Option<&'a str>,
3172        enabled: Option<bool>,
3173        license_key: Option<&'a str>,
3174        public_key: Option<&'a str>,
3175        private_key: Option<&'a str>,
3176        two_factor_providers: Option<&'a str>,
3177        expiration_date: Option<String>,
3178        creation_date: Option<String>,
3179        revision_date: Option<String>,
3180        max_autoscale_seats: Option<i32>,
3181        owners_notified_of_autoscaling: Option<String>,
3182        status: Option<models::OrganizationStatusType>,
3183        use_password_manager: Option<bool>,
3184        sm_seats: Option<i32>,
3185        sm_service_accounts: Option<i32>,
3186        max_autoscale_sm_seats: Option<i32>,
3187        max_autoscale_sm_service_accounts: Option<i32>,
3188        limit_collection_creation: Option<bool>,
3189        limit_collection_deletion: Option<bool>,
3190        allow_admin_access_to_all_collection_items: Option<bool>,
3191        limit_item_deletion: Option<bool>,
3192        use_risk_insights: Option<bool>,
3193        use_organization_domains: Option<bool>,
3194        use_admin_sponsored_families: Option<bool>,
3195        sync_seats: Option<bool>,
3196        use_automatic_user_confirmation: Option<bool>,
3197        use_disable_sm_ads_for_users: Option<bool>,
3198        use_phishing_blocker: Option<bool>,
3199        billing_address_request: Option<models::BillingAddressRequest>,
3200    ) -> Result<(), Error<UpdateBillingAddressError>> {
3201        let local_var_configuration = &self.configuration;
3202
3203        let local_var_client = &local_var_configuration.client;
3204
3205        let local_var_uri_str = format!(
3206            "{}/organizations/{organizationId}/billing/vnext/address",
3207            local_var_configuration.base_path,
3208            organizationId = crate::apis::urlencode(organization_id)
3209        );
3210        let mut local_var_req_builder =
3211            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
3212
3213        if let Some(ref param_value) = id {
3214            local_var_req_builder =
3215                local_var_req_builder.query(&[("id", &param_value.to_string())]);
3216        }
3217        if let Some(ref param_value) = identifier {
3218            local_var_req_builder =
3219                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
3220        }
3221        if let Some(ref param_value) = name {
3222            local_var_req_builder =
3223                local_var_req_builder.query(&[("name", &param_value.to_string())]);
3224        }
3225        if let Some(ref param_value) = business_name {
3226            local_var_req_builder =
3227                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
3228        }
3229        if let Some(ref param_value) = business_address1 {
3230            local_var_req_builder =
3231                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
3232        }
3233        if let Some(ref param_value) = business_address2 {
3234            local_var_req_builder =
3235                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
3236        }
3237        if let Some(ref param_value) = business_address3 {
3238            local_var_req_builder =
3239                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
3240        }
3241        if let Some(ref param_value) = business_country {
3242            local_var_req_builder =
3243                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
3244        }
3245        if let Some(ref param_value) = business_tax_number {
3246            local_var_req_builder =
3247                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
3248        }
3249        if let Some(ref param_value) = billing_email {
3250            local_var_req_builder =
3251                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
3252        }
3253        if let Some(ref param_value) = plan {
3254            local_var_req_builder =
3255                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
3256        }
3257        if let Some(ref param_value) = plan_type {
3258            local_var_req_builder =
3259                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
3260        }
3261        if let Some(ref param_value) = seats {
3262            local_var_req_builder =
3263                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
3264        }
3265        if let Some(ref param_value) = max_collections {
3266            local_var_req_builder =
3267                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
3268        }
3269        if let Some(ref param_value) = use_policies {
3270            local_var_req_builder =
3271                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
3272        }
3273        if let Some(ref param_value) = use_sso {
3274            local_var_req_builder =
3275                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
3276        }
3277        if let Some(ref param_value) = use_key_connector {
3278            local_var_req_builder =
3279                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
3280        }
3281        if let Some(ref param_value) = use_scim {
3282            local_var_req_builder =
3283                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
3284        }
3285        if let Some(ref param_value) = use_groups {
3286            local_var_req_builder =
3287                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
3288        }
3289        if let Some(ref param_value) = use_directory {
3290            local_var_req_builder =
3291                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
3292        }
3293        if let Some(ref param_value) = use_events {
3294            local_var_req_builder =
3295                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
3296        }
3297        if let Some(ref param_value) = use_totp {
3298            local_var_req_builder =
3299                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
3300        }
3301        if let Some(ref param_value) = use2fa {
3302            local_var_req_builder =
3303                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
3304        }
3305        if let Some(ref param_value) = use_api {
3306            local_var_req_builder =
3307                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
3308        }
3309        if let Some(ref param_value) = use_reset_password {
3310            local_var_req_builder =
3311                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
3312        }
3313        if let Some(ref param_value) = use_secrets_manager {
3314            local_var_req_builder =
3315                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
3316        }
3317        if let Some(ref param_value) = self_host {
3318            local_var_req_builder =
3319                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
3320        }
3321        if let Some(ref param_value) = users_get_premium {
3322            local_var_req_builder =
3323                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
3324        }
3325        if let Some(ref param_value) = use_custom_permissions {
3326            local_var_req_builder =
3327                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
3328        }
3329        if let Some(ref param_value) = storage {
3330            local_var_req_builder =
3331                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
3332        }
3333        if let Some(ref param_value) = max_storage_gb {
3334            local_var_req_builder =
3335                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
3336        }
3337        if let Some(ref param_value) = gateway {
3338            local_var_req_builder =
3339                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
3340        }
3341        if let Some(ref param_value) = gateway_customer_id {
3342            local_var_req_builder =
3343                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
3344        }
3345        if let Some(ref param_value) = gateway_subscription_id {
3346            local_var_req_builder =
3347                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
3348        }
3349        if let Some(ref param_value) = reference_data {
3350            local_var_req_builder =
3351                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
3352        }
3353        if let Some(ref param_value) = enabled {
3354            local_var_req_builder =
3355                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
3356        }
3357        if let Some(ref param_value) = license_key {
3358            local_var_req_builder =
3359                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
3360        }
3361        if let Some(ref param_value) = public_key {
3362            local_var_req_builder =
3363                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
3364        }
3365        if let Some(ref param_value) = private_key {
3366            local_var_req_builder =
3367                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
3368        }
3369        if let Some(ref param_value) = two_factor_providers {
3370            local_var_req_builder =
3371                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
3372        }
3373        if let Some(ref param_value) = expiration_date {
3374            local_var_req_builder =
3375                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
3376        }
3377        if let Some(ref param_value) = creation_date {
3378            local_var_req_builder =
3379                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
3380        }
3381        if let Some(ref param_value) = revision_date {
3382            local_var_req_builder =
3383                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
3384        }
3385        if let Some(ref param_value) = max_autoscale_seats {
3386            local_var_req_builder =
3387                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
3388        }
3389        if let Some(ref param_value) = owners_notified_of_autoscaling {
3390            local_var_req_builder = local_var_req_builder
3391                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
3392        }
3393        if let Some(ref param_value) = status {
3394            local_var_req_builder =
3395                local_var_req_builder.query(&[("status", &param_value.to_string())]);
3396        }
3397        if let Some(ref param_value) = use_password_manager {
3398            local_var_req_builder =
3399                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
3400        }
3401        if let Some(ref param_value) = sm_seats {
3402            local_var_req_builder =
3403                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
3404        }
3405        if let Some(ref param_value) = sm_service_accounts {
3406            local_var_req_builder =
3407                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
3408        }
3409        if let Some(ref param_value) = max_autoscale_sm_seats {
3410            local_var_req_builder =
3411                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
3412        }
3413        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
3414            local_var_req_builder = local_var_req_builder
3415                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
3416        }
3417        if let Some(ref param_value) = limit_collection_creation {
3418            local_var_req_builder = local_var_req_builder
3419                .query(&[("limitCollectionCreation", &param_value.to_string())]);
3420        }
3421        if let Some(ref param_value) = limit_collection_deletion {
3422            local_var_req_builder = local_var_req_builder
3423                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
3424        }
3425        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
3426            local_var_req_builder = local_var_req_builder.query(&[(
3427                "allowAdminAccessToAllCollectionItems",
3428                &param_value.to_string(),
3429            )]);
3430        }
3431        if let Some(ref param_value) = limit_item_deletion {
3432            local_var_req_builder =
3433                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
3434        }
3435        if let Some(ref param_value) = use_risk_insights {
3436            local_var_req_builder =
3437                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
3438        }
3439        if let Some(ref param_value) = use_organization_domains {
3440            local_var_req_builder = local_var_req_builder
3441                .query(&[("useOrganizationDomains", &param_value.to_string())]);
3442        }
3443        if let Some(ref param_value) = use_admin_sponsored_families {
3444            local_var_req_builder = local_var_req_builder
3445                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
3446        }
3447        if let Some(ref param_value) = sync_seats {
3448            local_var_req_builder =
3449                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
3450        }
3451        if let Some(ref param_value) = use_automatic_user_confirmation {
3452            local_var_req_builder = local_var_req_builder
3453                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
3454        }
3455        if let Some(ref param_value) = use_disable_sm_ads_for_users {
3456            local_var_req_builder = local_var_req_builder
3457                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
3458        }
3459        if let Some(ref param_value) = use_phishing_blocker {
3460            local_var_req_builder =
3461                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
3462        }
3463        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
3464            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
3465        };
3466        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
3467        local_var_req_builder = local_var_req_builder.json(&billing_address_request);
3468
3469        let local_var_req = local_var_req_builder.build()?;
3470        let local_var_resp = local_var_client.execute(local_var_req).await?;
3471
3472        let local_var_status = local_var_resp.status();
3473        let local_var_content = local_var_resp.text().await?;
3474
3475        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
3476            Ok(())
3477        } else {
3478            let local_var_entity: Option<UpdateBillingAddressError> =
3479                serde_json::from_str(&local_var_content).ok();
3480            let local_var_error = ResponseContent {
3481                status: local_var_status,
3482                content: local_var_content,
3483                entity: local_var_entity,
3484            };
3485            Err(Error::ResponseError(local_var_error))
3486        }
3487    }
3488
3489    async fn update_payment_method<'a>(
3490        &self,
3491        organization_id: &'a str,
3492        id: Option<uuid::Uuid>,
3493        identifier: Option<&'a str>,
3494        name: Option<&'a str>,
3495        business_name: Option<&'a str>,
3496        business_address1: Option<&'a str>,
3497        business_address2: Option<&'a str>,
3498        business_address3: Option<&'a str>,
3499        business_country: Option<&'a str>,
3500        business_tax_number: Option<&'a str>,
3501        billing_email: Option<&'a str>,
3502        plan: Option<&'a str>,
3503        plan_type: Option<models::PlanType>,
3504        seats: Option<i32>,
3505        max_collections: Option<i32>,
3506        use_policies: Option<bool>,
3507        use_sso: Option<bool>,
3508        use_key_connector: Option<bool>,
3509        use_scim: Option<bool>,
3510        use_groups: Option<bool>,
3511        use_directory: Option<bool>,
3512        use_events: Option<bool>,
3513        use_totp: Option<bool>,
3514        use2fa: Option<bool>,
3515        use_api: Option<bool>,
3516        use_reset_password: Option<bool>,
3517        use_secrets_manager: Option<bool>,
3518        self_host: Option<bool>,
3519        users_get_premium: Option<bool>,
3520        use_custom_permissions: Option<bool>,
3521        storage: Option<i64>,
3522        max_storage_gb: Option<i32>,
3523        gateway: Option<models::GatewayType>,
3524        gateway_customer_id: Option<&'a str>,
3525        gateway_subscription_id: Option<&'a str>,
3526        reference_data: Option<&'a str>,
3527        enabled: Option<bool>,
3528        license_key: Option<&'a str>,
3529        public_key: Option<&'a str>,
3530        private_key: Option<&'a str>,
3531        two_factor_providers: Option<&'a str>,
3532        expiration_date: Option<String>,
3533        creation_date: Option<String>,
3534        revision_date: Option<String>,
3535        max_autoscale_seats: Option<i32>,
3536        owners_notified_of_autoscaling: Option<String>,
3537        status: Option<models::OrganizationStatusType>,
3538        use_password_manager: Option<bool>,
3539        sm_seats: Option<i32>,
3540        sm_service_accounts: Option<i32>,
3541        max_autoscale_sm_seats: Option<i32>,
3542        max_autoscale_sm_service_accounts: Option<i32>,
3543        limit_collection_creation: Option<bool>,
3544        limit_collection_deletion: Option<bool>,
3545        allow_admin_access_to_all_collection_items: Option<bool>,
3546        limit_item_deletion: Option<bool>,
3547        use_risk_insights: Option<bool>,
3548        use_organization_domains: Option<bool>,
3549        use_admin_sponsored_families: Option<bool>,
3550        sync_seats: Option<bool>,
3551        use_automatic_user_confirmation: Option<bool>,
3552        use_disable_sm_ads_for_users: Option<bool>,
3553        use_phishing_blocker: Option<bool>,
3554        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
3555    ) -> Result<(), Error<UpdatePaymentMethodError>> {
3556        let local_var_configuration = &self.configuration;
3557
3558        let local_var_client = &local_var_configuration.client;
3559
3560        let local_var_uri_str = format!(
3561            "{}/organizations/{organizationId}/billing/vnext/payment-method",
3562            local_var_configuration.base_path,
3563            organizationId = crate::apis::urlencode(organization_id)
3564        );
3565        let mut local_var_req_builder =
3566            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
3567
3568        if let Some(ref param_value) = id {
3569            local_var_req_builder =
3570                local_var_req_builder.query(&[("id", &param_value.to_string())]);
3571        }
3572        if let Some(ref param_value) = identifier {
3573            local_var_req_builder =
3574                local_var_req_builder.query(&[("identifier", &param_value.to_string())]);
3575        }
3576        if let Some(ref param_value) = name {
3577            local_var_req_builder =
3578                local_var_req_builder.query(&[("name", &param_value.to_string())]);
3579        }
3580        if let Some(ref param_value) = business_name {
3581            local_var_req_builder =
3582                local_var_req_builder.query(&[("businessName", &param_value.to_string())]);
3583        }
3584        if let Some(ref param_value) = business_address1 {
3585            local_var_req_builder =
3586                local_var_req_builder.query(&[("businessAddress1", &param_value.to_string())]);
3587        }
3588        if let Some(ref param_value) = business_address2 {
3589            local_var_req_builder =
3590                local_var_req_builder.query(&[("businessAddress2", &param_value.to_string())]);
3591        }
3592        if let Some(ref param_value) = business_address3 {
3593            local_var_req_builder =
3594                local_var_req_builder.query(&[("businessAddress3", &param_value.to_string())]);
3595        }
3596        if let Some(ref param_value) = business_country {
3597            local_var_req_builder =
3598                local_var_req_builder.query(&[("businessCountry", &param_value.to_string())]);
3599        }
3600        if let Some(ref param_value) = business_tax_number {
3601            local_var_req_builder =
3602                local_var_req_builder.query(&[("businessTaxNumber", &param_value.to_string())]);
3603        }
3604        if let Some(ref param_value) = billing_email {
3605            local_var_req_builder =
3606                local_var_req_builder.query(&[("billingEmail", &param_value.to_string())]);
3607        }
3608        if let Some(ref param_value) = plan {
3609            local_var_req_builder =
3610                local_var_req_builder.query(&[("plan", &param_value.to_string())]);
3611        }
3612        if let Some(ref param_value) = plan_type {
3613            local_var_req_builder =
3614                local_var_req_builder.query(&[("planType", &param_value.to_string())]);
3615        }
3616        if let Some(ref param_value) = seats {
3617            local_var_req_builder =
3618                local_var_req_builder.query(&[("seats", &param_value.to_string())]);
3619        }
3620        if let Some(ref param_value) = max_collections {
3621            local_var_req_builder =
3622                local_var_req_builder.query(&[("maxCollections", &param_value.to_string())]);
3623        }
3624        if let Some(ref param_value) = use_policies {
3625            local_var_req_builder =
3626                local_var_req_builder.query(&[("usePolicies", &param_value.to_string())]);
3627        }
3628        if let Some(ref param_value) = use_sso {
3629            local_var_req_builder =
3630                local_var_req_builder.query(&[("useSso", &param_value.to_string())]);
3631        }
3632        if let Some(ref param_value) = use_key_connector {
3633            local_var_req_builder =
3634                local_var_req_builder.query(&[("useKeyConnector", &param_value.to_string())]);
3635        }
3636        if let Some(ref param_value) = use_scim {
3637            local_var_req_builder =
3638                local_var_req_builder.query(&[("useScim", &param_value.to_string())]);
3639        }
3640        if let Some(ref param_value) = use_groups {
3641            local_var_req_builder =
3642                local_var_req_builder.query(&[("useGroups", &param_value.to_string())]);
3643        }
3644        if let Some(ref param_value) = use_directory {
3645            local_var_req_builder =
3646                local_var_req_builder.query(&[("useDirectory", &param_value.to_string())]);
3647        }
3648        if let Some(ref param_value) = use_events {
3649            local_var_req_builder =
3650                local_var_req_builder.query(&[("useEvents", &param_value.to_string())]);
3651        }
3652        if let Some(ref param_value) = use_totp {
3653            local_var_req_builder =
3654                local_var_req_builder.query(&[("useTotp", &param_value.to_string())]);
3655        }
3656        if let Some(ref param_value) = use2fa {
3657            local_var_req_builder =
3658                local_var_req_builder.query(&[("use2fa", &param_value.to_string())]);
3659        }
3660        if let Some(ref param_value) = use_api {
3661            local_var_req_builder =
3662                local_var_req_builder.query(&[("useApi", &param_value.to_string())]);
3663        }
3664        if let Some(ref param_value) = use_reset_password {
3665            local_var_req_builder =
3666                local_var_req_builder.query(&[("useResetPassword", &param_value.to_string())]);
3667        }
3668        if let Some(ref param_value) = use_secrets_manager {
3669            local_var_req_builder =
3670                local_var_req_builder.query(&[("useSecretsManager", &param_value.to_string())]);
3671        }
3672        if let Some(ref param_value) = self_host {
3673            local_var_req_builder =
3674                local_var_req_builder.query(&[("selfHost", &param_value.to_string())]);
3675        }
3676        if let Some(ref param_value) = users_get_premium {
3677            local_var_req_builder =
3678                local_var_req_builder.query(&[("usersGetPremium", &param_value.to_string())]);
3679        }
3680        if let Some(ref param_value) = use_custom_permissions {
3681            local_var_req_builder =
3682                local_var_req_builder.query(&[("useCustomPermissions", &param_value.to_string())]);
3683        }
3684        if let Some(ref param_value) = storage {
3685            local_var_req_builder =
3686                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
3687        }
3688        if let Some(ref param_value) = max_storage_gb {
3689            local_var_req_builder =
3690                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
3691        }
3692        if let Some(ref param_value) = gateway {
3693            local_var_req_builder =
3694                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
3695        }
3696        if let Some(ref param_value) = gateway_customer_id {
3697            local_var_req_builder =
3698                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
3699        }
3700        if let Some(ref param_value) = gateway_subscription_id {
3701            local_var_req_builder =
3702                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
3703        }
3704        if let Some(ref param_value) = reference_data {
3705            local_var_req_builder =
3706                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
3707        }
3708        if let Some(ref param_value) = enabled {
3709            local_var_req_builder =
3710                local_var_req_builder.query(&[("enabled", &param_value.to_string())]);
3711        }
3712        if let Some(ref param_value) = license_key {
3713            local_var_req_builder =
3714                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
3715        }
3716        if let Some(ref param_value) = public_key {
3717            local_var_req_builder =
3718                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
3719        }
3720        if let Some(ref param_value) = private_key {
3721            local_var_req_builder =
3722                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
3723        }
3724        if let Some(ref param_value) = two_factor_providers {
3725            local_var_req_builder =
3726                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
3727        }
3728        if let Some(ref param_value) = expiration_date {
3729            local_var_req_builder =
3730                local_var_req_builder.query(&[("expirationDate", &param_value.to_string())]);
3731        }
3732        if let Some(ref param_value) = creation_date {
3733            local_var_req_builder =
3734                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
3735        }
3736        if let Some(ref param_value) = revision_date {
3737            local_var_req_builder =
3738                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
3739        }
3740        if let Some(ref param_value) = max_autoscale_seats {
3741            local_var_req_builder =
3742                local_var_req_builder.query(&[("maxAutoscaleSeats", &param_value.to_string())]);
3743        }
3744        if let Some(ref param_value) = owners_notified_of_autoscaling {
3745            local_var_req_builder = local_var_req_builder
3746                .query(&[("ownersNotifiedOfAutoscaling", &param_value.to_string())]);
3747        }
3748        if let Some(ref param_value) = status {
3749            local_var_req_builder =
3750                local_var_req_builder.query(&[("status", &param_value.to_string())]);
3751        }
3752        if let Some(ref param_value) = use_password_manager {
3753            local_var_req_builder =
3754                local_var_req_builder.query(&[("usePasswordManager", &param_value.to_string())]);
3755        }
3756        if let Some(ref param_value) = sm_seats {
3757            local_var_req_builder =
3758                local_var_req_builder.query(&[("smSeats", &param_value.to_string())]);
3759        }
3760        if let Some(ref param_value) = sm_service_accounts {
3761            local_var_req_builder =
3762                local_var_req_builder.query(&[("smServiceAccounts", &param_value.to_string())]);
3763        }
3764        if let Some(ref param_value) = max_autoscale_sm_seats {
3765            local_var_req_builder =
3766                local_var_req_builder.query(&[("maxAutoscaleSmSeats", &param_value.to_string())]);
3767        }
3768        if let Some(ref param_value) = max_autoscale_sm_service_accounts {
3769            local_var_req_builder = local_var_req_builder
3770                .query(&[("maxAutoscaleSmServiceAccounts", &param_value.to_string())]);
3771        }
3772        if let Some(ref param_value) = limit_collection_creation {
3773            local_var_req_builder = local_var_req_builder
3774                .query(&[("limitCollectionCreation", &param_value.to_string())]);
3775        }
3776        if let Some(ref param_value) = limit_collection_deletion {
3777            local_var_req_builder = local_var_req_builder
3778                .query(&[("limitCollectionDeletion", &param_value.to_string())]);
3779        }
3780        if let Some(ref param_value) = allow_admin_access_to_all_collection_items {
3781            local_var_req_builder = local_var_req_builder.query(&[(
3782                "allowAdminAccessToAllCollectionItems",
3783                &param_value.to_string(),
3784            )]);
3785        }
3786        if let Some(ref param_value) = limit_item_deletion {
3787            local_var_req_builder =
3788                local_var_req_builder.query(&[("limitItemDeletion", &param_value.to_string())]);
3789        }
3790        if let Some(ref param_value) = use_risk_insights {
3791            local_var_req_builder =
3792                local_var_req_builder.query(&[("useRiskInsights", &param_value.to_string())]);
3793        }
3794        if let Some(ref param_value) = use_organization_domains {
3795            local_var_req_builder = local_var_req_builder
3796                .query(&[("useOrganizationDomains", &param_value.to_string())]);
3797        }
3798        if let Some(ref param_value) = use_admin_sponsored_families {
3799            local_var_req_builder = local_var_req_builder
3800                .query(&[("useAdminSponsoredFamilies", &param_value.to_string())]);
3801        }
3802        if let Some(ref param_value) = sync_seats {
3803            local_var_req_builder =
3804                local_var_req_builder.query(&[("syncSeats", &param_value.to_string())]);
3805        }
3806        if let Some(ref param_value) = use_automatic_user_confirmation {
3807            local_var_req_builder = local_var_req_builder
3808                .query(&[("useAutomaticUserConfirmation", &param_value.to_string())]);
3809        }
3810        if let Some(ref param_value) = use_disable_sm_ads_for_users {
3811            local_var_req_builder = local_var_req_builder
3812                .query(&[("useDisableSmAdsForUsers", &param_value.to_string())]);
3813        }
3814        if let Some(ref param_value) = use_phishing_blocker {
3815            local_var_req_builder =
3816                local_var_req_builder.query(&[("usePhishingBlocker", &param_value.to_string())]);
3817        }
3818        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
3819            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
3820        };
3821        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
3822        local_var_req_builder = local_var_req_builder.json(&tokenized_payment_method_request);
3823
3824        let local_var_req = local_var_req_builder.build()?;
3825        let local_var_resp = local_var_client.execute(local_var_req).await?;
3826
3827        let local_var_status = local_var_resp.status();
3828        let local_var_content = local_var_resp.text().await?;
3829
3830        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
3831            Ok(())
3832        } else {
3833            let local_var_entity: Option<UpdatePaymentMethodError> =
3834                serde_json::from_str(&local_var_content).ok();
3835            let local_var_error = ResponseContent {
3836                status: local_var_status,
3837                content: local_var_content,
3838                entity: local_var_entity,
3839            };
3840            Err(Error::ResponseError(local_var_error))
3841        }
3842    }
3843}
3844
3845/// struct for typed errors of method [`OrganizationBillingVNextApi::add_credit_via_bit_pay`]
3846#[derive(Debug, Clone, Serialize, Deserialize)]
3847#[serde(untagged)]
3848pub enum AddCreditViaBitPayError {
3849    UnknownValue(serde_json::Value),
3850}
3851/// struct for typed errors of method [`OrganizationBillingVNextApi::get_billing_address`]
3852#[derive(Debug, Clone, Serialize, Deserialize)]
3853#[serde(untagged)]
3854pub enum GetBillingAddressError {
3855    UnknownValue(serde_json::Value),
3856}
3857/// struct for typed errors of method [`OrganizationBillingVNextApi::get_credit`]
3858#[derive(Debug, Clone, Serialize, Deserialize)]
3859#[serde(untagged)]
3860pub enum GetCreditError {
3861    UnknownValue(serde_json::Value),
3862}
3863/// struct for typed errors of method [`OrganizationBillingVNextApi::get_metadata`]
3864#[derive(Debug, Clone, Serialize, Deserialize)]
3865#[serde(untagged)]
3866pub enum GetMetadataError {
3867    UnknownValue(serde_json::Value),
3868}
3869/// struct for typed errors of method [`OrganizationBillingVNextApi::get_payment_method`]
3870#[derive(Debug, Clone, Serialize, Deserialize)]
3871#[serde(untagged)]
3872pub enum GetPaymentMethodError {
3873    UnknownValue(serde_json::Value),
3874}
3875/// struct for typed errors of method [`OrganizationBillingVNextApi::get_warnings`]
3876#[derive(Debug, Clone, Serialize, Deserialize)]
3877#[serde(untagged)]
3878pub enum GetWarningsError {
3879    UnknownValue(serde_json::Value),
3880}
3881/// struct for typed errors of method [`OrganizationBillingVNextApi::restart_subscription`]
3882#[derive(Debug, Clone, Serialize, Deserialize)]
3883#[serde(untagged)]
3884pub enum RestartSubscriptionError {
3885    UnknownValue(serde_json::Value),
3886}
3887/// struct for typed errors of method [`OrganizationBillingVNextApi::update_billing_address`]
3888#[derive(Debug, Clone, Serialize, Deserialize)]
3889#[serde(untagged)]
3890pub enum UpdateBillingAddressError {
3891    UnknownValue(serde_json::Value),
3892}
3893/// struct for typed errors of method [`OrganizationBillingVNextApi::update_payment_method`]
3894#[derive(Debug, Clone, Serialize, Deserialize)]
3895#[serde(untagged)]
3896pub enum UpdatePaymentMethodError {
3897    UnknownValue(serde_json::Value),
3898}