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