bitwarden_api_api/apis/
organization_billing_v_next_api.rs

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