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