Skip to main content

bitwarden_api_api/apis/
organization_billing_v_next_api.rs

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