bitwarden_api_api/apis/
account_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 AccountBillingVNextApi: Send + Sync {
29    /// POST /account/billing/vnext/credit/bitpay
30    async fn add_credit_via_bit_pay<'a>(
31        &self,
32        email: &'a str,
33        security_stamp: &'a str,
34        api_key: &'a str,
35        id: Option<uuid::Uuid>,
36        name: Option<&'a str>,
37        email_verified: Option<bool>,
38        master_password: Option<&'a str>,
39        master_password_hint: Option<&'a str>,
40        culture: Option<&'a str>,
41        two_factor_providers: Option<&'a str>,
42        two_factor_recovery_code: Option<&'a str>,
43        equivalent_domains: Option<&'a str>,
44        excluded_global_equivalent_domains: Option<&'a str>,
45        account_revision_date: Option<String>,
46        key: Option<&'a str>,
47        public_key: Option<&'a str>,
48        private_key: Option<&'a str>,
49        signed_public_key: Option<&'a str>,
50        security_version: Option<i32>,
51        security_state: Option<&'a str>,
52        premium: Option<bool>,
53        premium_expiration_date: Option<String>,
54        renewal_reminder_date: Option<String>,
55        storage: Option<i64>,
56        max_storage_gb: Option<i32>,
57        gateway: Option<models::GatewayType>,
58        gateway_customer_id: Option<&'a str>,
59        gateway_subscription_id: Option<&'a str>,
60        reference_data: Option<&'a str>,
61        license_key: Option<&'a str>,
62        kdf: Option<models::KdfType>,
63        kdf_iterations: Option<i32>,
64        kdf_memory: Option<i32>,
65        kdf_parallelism: Option<i32>,
66        creation_date: Option<String>,
67        revision_date: Option<String>,
68        force_password_reset: Option<bool>,
69        uses_key_connector: Option<bool>,
70        failed_login_count: Option<i32>,
71        last_failed_login_date: Option<String>,
72        avatar_color: Option<&'a str>,
73        last_password_change_date: Option<String>,
74        last_kdf_change_date: Option<String>,
75        last_key_rotation_date: Option<String>,
76        last_email_change_date: Option<String>,
77        verify_devices: Option<bool>,
78        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
79    ) -> Result<(), Error<AddCreditViaBitPayError>>;
80
81    /// POST /account/billing/vnext/subscription
82    async fn create_subscription<'a>(
83        &self,
84        email: &'a str,
85        security_stamp: &'a str,
86        api_key: &'a str,
87        id: Option<uuid::Uuid>,
88        name: Option<&'a str>,
89        email_verified: Option<bool>,
90        master_password: Option<&'a str>,
91        master_password_hint: Option<&'a str>,
92        culture: Option<&'a str>,
93        two_factor_providers: Option<&'a str>,
94        two_factor_recovery_code: Option<&'a str>,
95        equivalent_domains: Option<&'a str>,
96        excluded_global_equivalent_domains: Option<&'a str>,
97        account_revision_date: Option<String>,
98        key: Option<&'a str>,
99        public_key: Option<&'a str>,
100        private_key: Option<&'a str>,
101        signed_public_key: Option<&'a str>,
102        security_version: Option<i32>,
103        security_state: Option<&'a str>,
104        premium: Option<bool>,
105        premium_expiration_date: Option<String>,
106        renewal_reminder_date: Option<String>,
107        storage: Option<i64>,
108        max_storage_gb: Option<i32>,
109        gateway: Option<models::GatewayType>,
110        gateway_customer_id: Option<&'a str>,
111        gateway_subscription_id: Option<&'a str>,
112        reference_data: Option<&'a str>,
113        license_key: Option<&'a str>,
114        kdf: Option<models::KdfType>,
115        kdf_iterations: Option<i32>,
116        kdf_memory: Option<i32>,
117        kdf_parallelism: Option<i32>,
118        creation_date: Option<String>,
119        revision_date: Option<String>,
120        force_password_reset: Option<bool>,
121        uses_key_connector: Option<bool>,
122        failed_login_count: Option<i32>,
123        last_failed_login_date: Option<String>,
124        avatar_color: Option<&'a str>,
125        last_password_change_date: Option<String>,
126        last_kdf_change_date: Option<String>,
127        last_key_rotation_date: Option<String>,
128        last_email_change_date: Option<String>,
129        verify_devices: Option<bool>,
130        premium_cloud_hosted_subscription_request: Option<
131            models::PremiumCloudHostedSubscriptionRequest,
132        >,
133    ) -> Result<(), Error<CreateSubscriptionError>>;
134
135    /// GET /account/billing/vnext/credit
136    async fn get_credit<'a>(
137        &self,
138        email: &'a str,
139        security_stamp: &'a str,
140        api_key: &'a str,
141        id: Option<uuid::Uuid>,
142        name: Option<&'a str>,
143        email_verified: Option<bool>,
144        master_password: Option<&'a str>,
145        master_password_hint: Option<&'a str>,
146        culture: Option<&'a str>,
147        two_factor_providers: Option<&'a str>,
148        two_factor_recovery_code: Option<&'a str>,
149        equivalent_domains: Option<&'a str>,
150        excluded_global_equivalent_domains: Option<&'a str>,
151        account_revision_date: Option<String>,
152        key: Option<&'a str>,
153        public_key: Option<&'a str>,
154        private_key: Option<&'a str>,
155        signed_public_key: Option<&'a str>,
156        security_version: Option<i32>,
157        security_state: Option<&'a str>,
158        premium: Option<bool>,
159        premium_expiration_date: Option<String>,
160        renewal_reminder_date: Option<String>,
161        storage: Option<i64>,
162        max_storage_gb: Option<i32>,
163        gateway: Option<models::GatewayType>,
164        gateway_customer_id: Option<&'a str>,
165        gateway_subscription_id: Option<&'a str>,
166        reference_data: Option<&'a str>,
167        license_key: Option<&'a str>,
168        kdf: Option<models::KdfType>,
169        kdf_iterations: Option<i32>,
170        kdf_memory: Option<i32>,
171        kdf_parallelism: Option<i32>,
172        creation_date: Option<String>,
173        revision_date: Option<String>,
174        force_password_reset: Option<bool>,
175        uses_key_connector: Option<bool>,
176        failed_login_count: Option<i32>,
177        last_failed_login_date: Option<String>,
178        avatar_color: Option<&'a str>,
179        last_password_change_date: Option<String>,
180        last_kdf_change_date: Option<String>,
181        last_key_rotation_date: Option<String>,
182        last_email_change_date: Option<String>,
183        verify_devices: Option<bool>,
184    ) -> Result<(), Error<GetCreditError>>;
185
186    /// GET /account/billing/vnext/payment-method
187    async fn get_payment_method<'a>(
188        &self,
189        email: &'a str,
190        security_stamp: &'a str,
191        api_key: &'a str,
192        id: Option<uuid::Uuid>,
193        name: Option<&'a str>,
194        email_verified: Option<bool>,
195        master_password: Option<&'a str>,
196        master_password_hint: Option<&'a str>,
197        culture: Option<&'a str>,
198        two_factor_providers: Option<&'a str>,
199        two_factor_recovery_code: Option<&'a str>,
200        equivalent_domains: Option<&'a str>,
201        excluded_global_equivalent_domains: Option<&'a str>,
202        account_revision_date: Option<String>,
203        key: Option<&'a str>,
204        public_key: Option<&'a str>,
205        private_key: Option<&'a str>,
206        signed_public_key: Option<&'a str>,
207        security_version: Option<i32>,
208        security_state: Option<&'a str>,
209        premium: Option<bool>,
210        premium_expiration_date: Option<String>,
211        renewal_reminder_date: Option<String>,
212        storage: Option<i64>,
213        max_storage_gb: Option<i32>,
214        gateway: Option<models::GatewayType>,
215        gateway_customer_id: Option<&'a str>,
216        gateway_subscription_id: Option<&'a str>,
217        reference_data: Option<&'a str>,
218        license_key: Option<&'a str>,
219        kdf: Option<models::KdfType>,
220        kdf_iterations: Option<i32>,
221        kdf_memory: Option<i32>,
222        kdf_parallelism: Option<i32>,
223        creation_date: Option<String>,
224        revision_date: Option<String>,
225        force_password_reset: Option<bool>,
226        uses_key_connector: Option<bool>,
227        failed_login_count: Option<i32>,
228        last_failed_login_date: Option<String>,
229        avatar_color: Option<&'a str>,
230        last_password_change_date: Option<String>,
231        last_kdf_change_date: Option<String>,
232        last_key_rotation_date: Option<String>,
233        last_email_change_date: Option<String>,
234        verify_devices: Option<bool>,
235    ) -> Result<(), Error<GetPaymentMethodError>>;
236
237    /// PUT /account/billing/vnext/payment-method
238    async fn update_payment_method<'a>(
239        &self,
240        email: &'a str,
241        security_stamp: &'a str,
242        api_key: &'a str,
243        id: Option<uuid::Uuid>,
244        name: Option<&'a str>,
245        email_verified: Option<bool>,
246        master_password: Option<&'a str>,
247        master_password_hint: Option<&'a str>,
248        culture: Option<&'a str>,
249        two_factor_providers: Option<&'a str>,
250        two_factor_recovery_code: Option<&'a str>,
251        equivalent_domains: Option<&'a str>,
252        excluded_global_equivalent_domains: Option<&'a str>,
253        account_revision_date: Option<String>,
254        key: Option<&'a str>,
255        public_key: Option<&'a str>,
256        private_key: Option<&'a str>,
257        signed_public_key: Option<&'a str>,
258        security_version: Option<i32>,
259        security_state: Option<&'a str>,
260        premium: Option<bool>,
261        premium_expiration_date: Option<String>,
262        renewal_reminder_date: Option<String>,
263        storage: Option<i64>,
264        max_storage_gb: Option<i32>,
265        gateway: Option<models::GatewayType>,
266        gateway_customer_id: Option<&'a str>,
267        gateway_subscription_id: Option<&'a str>,
268        reference_data: Option<&'a str>,
269        license_key: Option<&'a str>,
270        kdf: Option<models::KdfType>,
271        kdf_iterations: Option<i32>,
272        kdf_memory: Option<i32>,
273        kdf_parallelism: Option<i32>,
274        creation_date: Option<String>,
275        revision_date: Option<String>,
276        force_password_reset: Option<bool>,
277        uses_key_connector: Option<bool>,
278        failed_login_count: Option<i32>,
279        last_failed_login_date: Option<String>,
280        avatar_color: Option<&'a str>,
281        last_password_change_date: Option<String>,
282        last_kdf_change_date: Option<String>,
283        last_key_rotation_date: Option<String>,
284        last_email_change_date: Option<String>,
285        verify_devices: Option<bool>,
286        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
287    ) -> Result<(), Error<UpdatePaymentMethodError>>;
288}
289
290pub struct AccountBillingVNextApiClient {
291    configuration: Arc<configuration::Configuration>,
292}
293
294impl AccountBillingVNextApiClient {
295    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
296        Self { configuration }
297    }
298}
299
300#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
301#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
302impl AccountBillingVNextApi for AccountBillingVNextApiClient {
303    async fn add_credit_via_bit_pay<'a>(
304        &self,
305        email: &'a str,
306        security_stamp: &'a str,
307        api_key: &'a str,
308        id: Option<uuid::Uuid>,
309        name: Option<&'a str>,
310        email_verified: Option<bool>,
311        master_password: Option<&'a str>,
312        master_password_hint: Option<&'a str>,
313        culture: Option<&'a str>,
314        two_factor_providers: Option<&'a str>,
315        two_factor_recovery_code: Option<&'a str>,
316        equivalent_domains: Option<&'a str>,
317        excluded_global_equivalent_domains: Option<&'a str>,
318        account_revision_date: Option<String>,
319        key: Option<&'a str>,
320        public_key: Option<&'a str>,
321        private_key: Option<&'a str>,
322        signed_public_key: Option<&'a str>,
323        security_version: Option<i32>,
324        security_state: Option<&'a str>,
325        premium: Option<bool>,
326        premium_expiration_date: Option<String>,
327        renewal_reminder_date: Option<String>,
328        storage: Option<i64>,
329        max_storage_gb: Option<i32>,
330        gateway: Option<models::GatewayType>,
331        gateway_customer_id: Option<&'a str>,
332        gateway_subscription_id: Option<&'a str>,
333        reference_data: Option<&'a str>,
334        license_key: Option<&'a str>,
335        kdf: Option<models::KdfType>,
336        kdf_iterations: Option<i32>,
337        kdf_memory: Option<i32>,
338        kdf_parallelism: Option<i32>,
339        creation_date: Option<String>,
340        revision_date: Option<String>,
341        force_password_reset: Option<bool>,
342        uses_key_connector: Option<bool>,
343        failed_login_count: Option<i32>,
344        last_failed_login_date: Option<String>,
345        avatar_color: Option<&'a str>,
346        last_password_change_date: Option<String>,
347        last_kdf_change_date: Option<String>,
348        last_key_rotation_date: Option<String>,
349        last_email_change_date: Option<String>,
350        verify_devices: Option<bool>,
351        bit_pay_credit_request: Option<models::BitPayCreditRequest>,
352    ) -> Result<(), Error<AddCreditViaBitPayError>> {
353        let local_var_configuration = &self.configuration;
354
355        let local_var_client = &local_var_configuration.client;
356
357        let local_var_uri_str = format!(
358            "{}/account/billing/vnext/credit/bitpay",
359            local_var_configuration.base_path
360        );
361        let mut local_var_req_builder =
362            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
363
364        if let Some(ref param_value) = id {
365            local_var_req_builder =
366                local_var_req_builder.query(&[("id", &param_value.to_string())]);
367        }
368        if let Some(ref param_value) = name {
369            local_var_req_builder =
370                local_var_req_builder.query(&[("name", &param_value.to_string())]);
371        }
372        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
373        if let Some(ref param_value) = email_verified {
374            local_var_req_builder =
375                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
376        }
377        if let Some(ref param_value) = master_password {
378            local_var_req_builder =
379                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
380        }
381        if let Some(ref param_value) = master_password_hint {
382            local_var_req_builder =
383                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
384        }
385        if let Some(ref param_value) = culture {
386            local_var_req_builder =
387                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
388        }
389        local_var_req_builder =
390            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
391        if let Some(ref param_value) = two_factor_providers {
392            local_var_req_builder =
393                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
394        }
395        if let Some(ref param_value) = two_factor_recovery_code {
396            local_var_req_builder =
397                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
398        }
399        if let Some(ref param_value) = equivalent_domains {
400            local_var_req_builder =
401                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
402        }
403        if let Some(ref param_value) = excluded_global_equivalent_domains {
404            local_var_req_builder = local_var_req_builder
405                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
406        }
407        if let Some(ref param_value) = account_revision_date {
408            local_var_req_builder =
409                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
410        }
411        if let Some(ref param_value) = key {
412            local_var_req_builder =
413                local_var_req_builder.query(&[("key", &param_value.to_string())]);
414        }
415        if let Some(ref param_value) = public_key {
416            local_var_req_builder =
417                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
418        }
419        if let Some(ref param_value) = private_key {
420            local_var_req_builder =
421                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
422        }
423        if let Some(ref param_value) = signed_public_key {
424            local_var_req_builder =
425                local_var_req_builder.query(&[("signedPublicKey", &param_value.to_string())]);
426        }
427        if let Some(ref param_value) = security_version {
428            local_var_req_builder =
429                local_var_req_builder.query(&[("securityVersion", &param_value.to_string())]);
430        }
431        if let Some(ref param_value) = security_state {
432            local_var_req_builder =
433                local_var_req_builder.query(&[("securityState", &param_value.to_string())]);
434        }
435        if let Some(ref param_value) = premium {
436            local_var_req_builder =
437                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
438        }
439        if let Some(ref param_value) = premium_expiration_date {
440            local_var_req_builder =
441                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
442        }
443        if let Some(ref param_value) = renewal_reminder_date {
444            local_var_req_builder =
445                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
446        }
447        if let Some(ref param_value) = storage {
448            local_var_req_builder =
449                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
450        }
451        if let Some(ref param_value) = max_storage_gb {
452            local_var_req_builder =
453                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
454        }
455        if let Some(ref param_value) = gateway {
456            local_var_req_builder =
457                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
458        }
459        if let Some(ref param_value) = gateway_customer_id {
460            local_var_req_builder =
461                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
462        }
463        if let Some(ref param_value) = gateway_subscription_id {
464            local_var_req_builder =
465                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
466        }
467        if let Some(ref param_value) = reference_data {
468            local_var_req_builder =
469                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
470        }
471        if let Some(ref param_value) = license_key {
472            local_var_req_builder =
473                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
474        }
475        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
476        if let Some(ref param_value) = kdf {
477            local_var_req_builder =
478                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
479        }
480        if let Some(ref param_value) = kdf_iterations {
481            local_var_req_builder =
482                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
483        }
484        if let Some(ref param_value) = kdf_memory {
485            local_var_req_builder =
486                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
487        }
488        if let Some(ref param_value) = kdf_parallelism {
489            local_var_req_builder =
490                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
491        }
492        if let Some(ref param_value) = creation_date {
493            local_var_req_builder =
494                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
495        }
496        if let Some(ref param_value) = revision_date {
497            local_var_req_builder =
498                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
499        }
500        if let Some(ref param_value) = force_password_reset {
501            local_var_req_builder =
502                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
503        }
504        if let Some(ref param_value) = uses_key_connector {
505            local_var_req_builder =
506                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
507        }
508        if let Some(ref param_value) = failed_login_count {
509            local_var_req_builder =
510                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
511        }
512        if let Some(ref param_value) = last_failed_login_date {
513            local_var_req_builder =
514                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
515        }
516        if let Some(ref param_value) = avatar_color {
517            local_var_req_builder =
518                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
519        }
520        if let Some(ref param_value) = last_password_change_date {
521            local_var_req_builder = local_var_req_builder
522                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
523        }
524        if let Some(ref param_value) = last_kdf_change_date {
525            local_var_req_builder =
526                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
527        }
528        if let Some(ref param_value) = last_key_rotation_date {
529            local_var_req_builder =
530                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
531        }
532        if let Some(ref param_value) = last_email_change_date {
533            local_var_req_builder =
534                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
535        }
536        if let Some(ref param_value) = verify_devices {
537            local_var_req_builder =
538                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
539        }
540        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
541            local_var_req_builder = local_var_req_builder
542                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
543        }
544        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
545            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
546        };
547        local_var_req_builder = local_var_req_builder.json(&bit_pay_credit_request);
548
549        let local_var_req = local_var_req_builder.build()?;
550        let local_var_resp = local_var_client.execute(local_var_req).await?;
551
552        let local_var_status = local_var_resp.status();
553        let local_var_content = local_var_resp.text().await?;
554
555        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
556            Ok(())
557        } else {
558            let local_var_entity: Option<AddCreditViaBitPayError> =
559                serde_json::from_str(&local_var_content).ok();
560            let local_var_error = ResponseContent {
561                status: local_var_status,
562                content: local_var_content,
563                entity: local_var_entity,
564            };
565            Err(Error::ResponseError(local_var_error))
566        }
567    }
568
569    async fn create_subscription<'a>(
570        &self,
571        email: &'a str,
572        security_stamp: &'a str,
573        api_key: &'a str,
574        id: Option<uuid::Uuid>,
575        name: Option<&'a str>,
576        email_verified: Option<bool>,
577        master_password: Option<&'a str>,
578        master_password_hint: Option<&'a str>,
579        culture: Option<&'a str>,
580        two_factor_providers: Option<&'a str>,
581        two_factor_recovery_code: Option<&'a str>,
582        equivalent_domains: Option<&'a str>,
583        excluded_global_equivalent_domains: Option<&'a str>,
584        account_revision_date: Option<String>,
585        key: Option<&'a str>,
586        public_key: Option<&'a str>,
587        private_key: Option<&'a str>,
588        signed_public_key: Option<&'a str>,
589        security_version: Option<i32>,
590        security_state: Option<&'a str>,
591        premium: Option<bool>,
592        premium_expiration_date: Option<String>,
593        renewal_reminder_date: Option<String>,
594        storage: Option<i64>,
595        max_storage_gb: Option<i32>,
596        gateway: Option<models::GatewayType>,
597        gateway_customer_id: Option<&'a str>,
598        gateway_subscription_id: Option<&'a str>,
599        reference_data: Option<&'a str>,
600        license_key: Option<&'a str>,
601        kdf: Option<models::KdfType>,
602        kdf_iterations: Option<i32>,
603        kdf_memory: Option<i32>,
604        kdf_parallelism: Option<i32>,
605        creation_date: Option<String>,
606        revision_date: Option<String>,
607        force_password_reset: Option<bool>,
608        uses_key_connector: Option<bool>,
609        failed_login_count: Option<i32>,
610        last_failed_login_date: Option<String>,
611        avatar_color: Option<&'a str>,
612        last_password_change_date: Option<String>,
613        last_kdf_change_date: Option<String>,
614        last_key_rotation_date: Option<String>,
615        last_email_change_date: Option<String>,
616        verify_devices: Option<bool>,
617        premium_cloud_hosted_subscription_request: Option<
618            models::PremiumCloudHostedSubscriptionRequest,
619        >,
620    ) -> Result<(), Error<CreateSubscriptionError>> {
621        let local_var_configuration = &self.configuration;
622
623        let local_var_client = &local_var_configuration.client;
624
625        let local_var_uri_str = format!(
626            "{}/account/billing/vnext/subscription",
627            local_var_configuration.base_path
628        );
629        let mut local_var_req_builder =
630            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
631
632        if let Some(ref param_value) = id {
633            local_var_req_builder =
634                local_var_req_builder.query(&[("id", &param_value.to_string())]);
635        }
636        if let Some(ref param_value) = name {
637            local_var_req_builder =
638                local_var_req_builder.query(&[("name", &param_value.to_string())]);
639        }
640        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
641        if let Some(ref param_value) = email_verified {
642            local_var_req_builder =
643                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
644        }
645        if let Some(ref param_value) = master_password {
646            local_var_req_builder =
647                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
648        }
649        if let Some(ref param_value) = master_password_hint {
650            local_var_req_builder =
651                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
652        }
653        if let Some(ref param_value) = culture {
654            local_var_req_builder =
655                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
656        }
657        local_var_req_builder =
658            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
659        if let Some(ref param_value) = two_factor_providers {
660            local_var_req_builder =
661                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
662        }
663        if let Some(ref param_value) = two_factor_recovery_code {
664            local_var_req_builder =
665                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
666        }
667        if let Some(ref param_value) = equivalent_domains {
668            local_var_req_builder =
669                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
670        }
671        if let Some(ref param_value) = excluded_global_equivalent_domains {
672            local_var_req_builder = local_var_req_builder
673                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
674        }
675        if let Some(ref param_value) = account_revision_date {
676            local_var_req_builder =
677                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
678        }
679        if let Some(ref param_value) = key {
680            local_var_req_builder =
681                local_var_req_builder.query(&[("key", &param_value.to_string())]);
682        }
683        if let Some(ref param_value) = public_key {
684            local_var_req_builder =
685                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
686        }
687        if let Some(ref param_value) = private_key {
688            local_var_req_builder =
689                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
690        }
691        if let Some(ref param_value) = signed_public_key {
692            local_var_req_builder =
693                local_var_req_builder.query(&[("signedPublicKey", &param_value.to_string())]);
694        }
695        if let Some(ref param_value) = security_version {
696            local_var_req_builder =
697                local_var_req_builder.query(&[("securityVersion", &param_value.to_string())]);
698        }
699        if let Some(ref param_value) = security_state {
700            local_var_req_builder =
701                local_var_req_builder.query(&[("securityState", &param_value.to_string())]);
702        }
703        if let Some(ref param_value) = premium {
704            local_var_req_builder =
705                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
706        }
707        if let Some(ref param_value) = premium_expiration_date {
708            local_var_req_builder =
709                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
710        }
711        if let Some(ref param_value) = renewal_reminder_date {
712            local_var_req_builder =
713                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
714        }
715        if let Some(ref param_value) = storage {
716            local_var_req_builder =
717                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
718        }
719        if let Some(ref param_value) = max_storage_gb {
720            local_var_req_builder =
721                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
722        }
723        if let Some(ref param_value) = gateway {
724            local_var_req_builder =
725                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
726        }
727        if let Some(ref param_value) = gateway_customer_id {
728            local_var_req_builder =
729                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
730        }
731        if let Some(ref param_value) = gateway_subscription_id {
732            local_var_req_builder =
733                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
734        }
735        if let Some(ref param_value) = reference_data {
736            local_var_req_builder =
737                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
738        }
739        if let Some(ref param_value) = license_key {
740            local_var_req_builder =
741                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
742        }
743        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
744        if let Some(ref param_value) = kdf {
745            local_var_req_builder =
746                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
747        }
748        if let Some(ref param_value) = kdf_iterations {
749            local_var_req_builder =
750                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
751        }
752        if let Some(ref param_value) = kdf_memory {
753            local_var_req_builder =
754                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
755        }
756        if let Some(ref param_value) = kdf_parallelism {
757            local_var_req_builder =
758                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
759        }
760        if let Some(ref param_value) = creation_date {
761            local_var_req_builder =
762                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
763        }
764        if let Some(ref param_value) = revision_date {
765            local_var_req_builder =
766                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
767        }
768        if let Some(ref param_value) = force_password_reset {
769            local_var_req_builder =
770                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
771        }
772        if let Some(ref param_value) = uses_key_connector {
773            local_var_req_builder =
774                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
775        }
776        if let Some(ref param_value) = failed_login_count {
777            local_var_req_builder =
778                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
779        }
780        if let Some(ref param_value) = last_failed_login_date {
781            local_var_req_builder =
782                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
783        }
784        if let Some(ref param_value) = avatar_color {
785            local_var_req_builder =
786                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
787        }
788        if let Some(ref param_value) = last_password_change_date {
789            local_var_req_builder = local_var_req_builder
790                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
791        }
792        if let Some(ref param_value) = last_kdf_change_date {
793            local_var_req_builder =
794                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
795        }
796        if let Some(ref param_value) = last_key_rotation_date {
797            local_var_req_builder =
798                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
799        }
800        if let Some(ref param_value) = last_email_change_date {
801            local_var_req_builder =
802                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
803        }
804        if let Some(ref param_value) = verify_devices {
805            local_var_req_builder =
806                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
807        }
808        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
809            local_var_req_builder = local_var_req_builder
810                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
811        }
812        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
813            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
814        };
815        local_var_req_builder =
816            local_var_req_builder.json(&premium_cloud_hosted_subscription_request);
817
818        let local_var_req = local_var_req_builder.build()?;
819        let local_var_resp = local_var_client.execute(local_var_req).await?;
820
821        let local_var_status = local_var_resp.status();
822        let local_var_content = local_var_resp.text().await?;
823
824        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
825            Ok(())
826        } else {
827            let local_var_entity: Option<CreateSubscriptionError> =
828                serde_json::from_str(&local_var_content).ok();
829            let local_var_error = ResponseContent {
830                status: local_var_status,
831                content: local_var_content,
832                entity: local_var_entity,
833            };
834            Err(Error::ResponseError(local_var_error))
835        }
836    }
837
838    async fn get_credit<'a>(
839        &self,
840        email: &'a str,
841        security_stamp: &'a str,
842        api_key: &'a str,
843        id: Option<uuid::Uuid>,
844        name: Option<&'a str>,
845        email_verified: Option<bool>,
846        master_password: Option<&'a str>,
847        master_password_hint: Option<&'a str>,
848        culture: Option<&'a str>,
849        two_factor_providers: Option<&'a str>,
850        two_factor_recovery_code: Option<&'a str>,
851        equivalent_domains: Option<&'a str>,
852        excluded_global_equivalent_domains: Option<&'a str>,
853        account_revision_date: Option<String>,
854        key: Option<&'a str>,
855        public_key: Option<&'a str>,
856        private_key: Option<&'a str>,
857        signed_public_key: Option<&'a str>,
858        security_version: Option<i32>,
859        security_state: Option<&'a str>,
860        premium: Option<bool>,
861        premium_expiration_date: Option<String>,
862        renewal_reminder_date: Option<String>,
863        storage: Option<i64>,
864        max_storage_gb: Option<i32>,
865        gateway: Option<models::GatewayType>,
866        gateway_customer_id: Option<&'a str>,
867        gateway_subscription_id: Option<&'a str>,
868        reference_data: Option<&'a str>,
869        license_key: Option<&'a str>,
870        kdf: Option<models::KdfType>,
871        kdf_iterations: Option<i32>,
872        kdf_memory: Option<i32>,
873        kdf_parallelism: Option<i32>,
874        creation_date: Option<String>,
875        revision_date: Option<String>,
876        force_password_reset: Option<bool>,
877        uses_key_connector: Option<bool>,
878        failed_login_count: Option<i32>,
879        last_failed_login_date: Option<String>,
880        avatar_color: Option<&'a str>,
881        last_password_change_date: Option<String>,
882        last_kdf_change_date: Option<String>,
883        last_key_rotation_date: Option<String>,
884        last_email_change_date: Option<String>,
885        verify_devices: Option<bool>,
886    ) -> Result<(), Error<GetCreditError>> {
887        let local_var_configuration = &self.configuration;
888
889        let local_var_client = &local_var_configuration.client;
890
891        let local_var_uri_str = format!(
892            "{}/account/billing/vnext/credit",
893            local_var_configuration.base_path
894        );
895        let mut local_var_req_builder =
896            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
897
898        if let Some(ref param_value) = id {
899            local_var_req_builder =
900                local_var_req_builder.query(&[("id", &param_value.to_string())]);
901        }
902        if let Some(ref param_value) = name {
903            local_var_req_builder =
904                local_var_req_builder.query(&[("name", &param_value.to_string())]);
905        }
906        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
907        if let Some(ref param_value) = email_verified {
908            local_var_req_builder =
909                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
910        }
911        if let Some(ref param_value) = master_password {
912            local_var_req_builder =
913                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
914        }
915        if let Some(ref param_value) = master_password_hint {
916            local_var_req_builder =
917                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
918        }
919        if let Some(ref param_value) = culture {
920            local_var_req_builder =
921                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
922        }
923        local_var_req_builder =
924            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
925        if let Some(ref param_value) = two_factor_providers {
926            local_var_req_builder =
927                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
928        }
929        if let Some(ref param_value) = two_factor_recovery_code {
930            local_var_req_builder =
931                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
932        }
933        if let Some(ref param_value) = equivalent_domains {
934            local_var_req_builder =
935                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
936        }
937        if let Some(ref param_value) = excluded_global_equivalent_domains {
938            local_var_req_builder = local_var_req_builder
939                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
940        }
941        if let Some(ref param_value) = account_revision_date {
942            local_var_req_builder =
943                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
944        }
945        if let Some(ref param_value) = key {
946            local_var_req_builder =
947                local_var_req_builder.query(&[("key", &param_value.to_string())]);
948        }
949        if let Some(ref param_value) = public_key {
950            local_var_req_builder =
951                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
952        }
953        if let Some(ref param_value) = private_key {
954            local_var_req_builder =
955                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
956        }
957        if let Some(ref param_value) = signed_public_key {
958            local_var_req_builder =
959                local_var_req_builder.query(&[("signedPublicKey", &param_value.to_string())]);
960        }
961        if let Some(ref param_value) = security_version {
962            local_var_req_builder =
963                local_var_req_builder.query(&[("securityVersion", &param_value.to_string())]);
964        }
965        if let Some(ref param_value) = security_state {
966            local_var_req_builder =
967                local_var_req_builder.query(&[("securityState", &param_value.to_string())]);
968        }
969        if let Some(ref param_value) = premium {
970            local_var_req_builder =
971                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
972        }
973        if let Some(ref param_value) = premium_expiration_date {
974            local_var_req_builder =
975                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
976        }
977        if let Some(ref param_value) = renewal_reminder_date {
978            local_var_req_builder =
979                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
980        }
981        if let Some(ref param_value) = storage {
982            local_var_req_builder =
983                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
984        }
985        if let Some(ref param_value) = max_storage_gb {
986            local_var_req_builder =
987                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
988        }
989        if let Some(ref param_value) = gateway {
990            local_var_req_builder =
991                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
992        }
993        if let Some(ref param_value) = gateway_customer_id {
994            local_var_req_builder =
995                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
996        }
997        if let Some(ref param_value) = gateway_subscription_id {
998            local_var_req_builder =
999                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1000        }
1001        if let Some(ref param_value) = reference_data {
1002            local_var_req_builder =
1003                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1004        }
1005        if let Some(ref param_value) = license_key {
1006            local_var_req_builder =
1007                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1008        }
1009        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
1010        if let Some(ref param_value) = kdf {
1011            local_var_req_builder =
1012                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
1013        }
1014        if let Some(ref param_value) = kdf_iterations {
1015            local_var_req_builder =
1016                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
1017        }
1018        if let Some(ref param_value) = kdf_memory {
1019            local_var_req_builder =
1020                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
1021        }
1022        if let Some(ref param_value) = kdf_parallelism {
1023            local_var_req_builder =
1024                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
1025        }
1026        if let Some(ref param_value) = creation_date {
1027            local_var_req_builder =
1028                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1029        }
1030        if let Some(ref param_value) = revision_date {
1031            local_var_req_builder =
1032                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1033        }
1034        if let Some(ref param_value) = force_password_reset {
1035            local_var_req_builder =
1036                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
1037        }
1038        if let Some(ref param_value) = uses_key_connector {
1039            local_var_req_builder =
1040                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
1041        }
1042        if let Some(ref param_value) = failed_login_count {
1043            local_var_req_builder =
1044                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
1045        }
1046        if let Some(ref param_value) = last_failed_login_date {
1047            local_var_req_builder =
1048                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
1049        }
1050        if let Some(ref param_value) = avatar_color {
1051            local_var_req_builder =
1052                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
1053        }
1054        if let Some(ref param_value) = last_password_change_date {
1055            local_var_req_builder = local_var_req_builder
1056                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
1057        }
1058        if let Some(ref param_value) = last_kdf_change_date {
1059            local_var_req_builder =
1060                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1061        }
1062        if let Some(ref param_value) = last_key_rotation_date {
1063            local_var_req_builder =
1064                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1065        }
1066        if let Some(ref param_value) = last_email_change_date {
1067            local_var_req_builder =
1068                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1069        }
1070        if let Some(ref param_value) = verify_devices {
1071            local_var_req_builder =
1072                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1073        }
1074        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1075            local_var_req_builder = local_var_req_builder
1076                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1077        }
1078        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1079            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1080        };
1081
1082        let local_var_req = local_var_req_builder.build()?;
1083        let local_var_resp = local_var_client.execute(local_var_req).await?;
1084
1085        let local_var_status = local_var_resp.status();
1086        let local_var_content = local_var_resp.text().await?;
1087
1088        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1089            Ok(())
1090        } else {
1091            let local_var_entity: Option<GetCreditError> =
1092                serde_json::from_str(&local_var_content).ok();
1093            let local_var_error = ResponseContent {
1094                status: local_var_status,
1095                content: local_var_content,
1096                entity: local_var_entity,
1097            };
1098            Err(Error::ResponseError(local_var_error))
1099        }
1100    }
1101
1102    async fn get_payment_method<'a>(
1103        &self,
1104        email: &'a str,
1105        security_stamp: &'a str,
1106        api_key: &'a str,
1107        id: Option<uuid::Uuid>,
1108        name: Option<&'a str>,
1109        email_verified: Option<bool>,
1110        master_password: Option<&'a str>,
1111        master_password_hint: Option<&'a str>,
1112        culture: Option<&'a str>,
1113        two_factor_providers: Option<&'a str>,
1114        two_factor_recovery_code: Option<&'a str>,
1115        equivalent_domains: Option<&'a str>,
1116        excluded_global_equivalent_domains: Option<&'a str>,
1117        account_revision_date: Option<String>,
1118        key: Option<&'a str>,
1119        public_key: Option<&'a str>,
1120        private_key: Option<&'a str>,
1121        signed_public_key: Option<&'a str>,
1122        security_version: Option<i32>,
1123        security_state: Option<&'a str>,
1124        premium: Option<bool>,
1125        premium_expiration_date: Option<String>,
1126        renewal_reminder_date: Option<String>,
1127        storage: Option<i64>,
1128        max_storage_gb: Option<i32>,
1129        gateway: Option<models::GatewayType>,
1130        gateway_customer_id: Option<&'a str>,
1131        gateway_subscription_id: Option<&'a str>,
1132        reference_data: Option<&'a str>,
1133        license_key: Option<&'a str>,
1134        kdf: Option<models::KdfType>,
1135        kdf_iterations: Option<i32>,
1136        kdf_memory: Option<i32>,
1137        kdf_parallelism: Option<i32>,
1138        creation_date: Option<String>,
1139        revision_date: Option<String>,
1140        force_password_reset: Option<bool>,
1141        uses_key_connector: Option<bool>,
1142        failed_login_count: Option<i32>,
1143        last_failed_login_date: Option<String>,
1144        avatar_color: Option<&'a str>,
1145        last_password_change_date: Option<String>,
1146        last_kdf_change_date: Option<String>,
1147        last_key_rotation_date: Option<String>,
1148        last_email_change_date: Option<String>,
1149        verify_devices: Option<bool>,
1150    ) -> Result<(), Error<GetPaymentMethodError>> {
1151        let local_var_configuration = &self.configuration;
1152
1153        let local_var_client = &local_var_configuration.client;
1154
1155        let local_var_uri_str = format!(
1156            "{}/account/billing/vnext/payment-method",
1157            local_var_configuration.base_path
1158        );
1159        let mut local_var_req_builder =
1160            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
1161
1162        if let Some(ref param_value) = id {
1163            local_var_req_builder =
1164                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1165        }
1166        if let Some(ref param_value) = name {
1167            local_var_req_builder =
1168                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1169        }
1170        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
1171        if let Some(ref param_value) = email_verified {
1172            local_var_req_builder =
1173                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
1174        }
1175        if let Some(ref param_value) = master_password {
1176            local_var_req_builder =
1177                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
1178        }
1179        if let Some(ref param_value) = master_password_hint {
1180            local_var_req_builder =
1181                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
1182        }
1183        if let Some(ref param_value) = culture {
1184            local_var_req_builder =
1185                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
1186        }
1187        local_var_req_builder =
1188            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
1189        if let Some(ref param_value) = two_factor_providers {
1190            local_var_req_builder =
1191                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1192        }
1193        if let Some(ref param_value) = two_factor_recovery_code {
1194            local_var_req_builder =
1195                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
1196        }
1197        if let Some(ref param_value) = equivalent_domains {
1198            local_var_req_builder =
1199                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
1200        }
1201        if let Some(ref param_value) = excluded_global_equivalent_domains {
1202            local_var_req_builder = local_var_req_builder
1203                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
1204        }
1205        if let Some(ref param_value) = account_revision_date {
1206            local_var_req_builder =
1207                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
1208        }
1209        if let Some(ref param_value) = key {
1210            local_var_req_builder =
1211                local_var_req_builder.query(&[("key", &param_value.to_string())]);
1212        }
1213        if let Some(ref param_value) = public_key {
1214            local_var_req_builder =
1215                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1216        }
1217        if let Some(ref param_value) = private_key {
1218            local_var_req_builder =
1219                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1220        }
1221        if let Some(ref param_value) = signed_public_key {
1222            local_var_req_builder =
1223                local_var_req_builder.query(&[("signedPublicKey", &param_value.to_string())]);
1224        }
1225        if let Some(ref param_value) = security_version {
1226            local_var_req_builder =
1227                local_var_req_builder.query(&[("securityVersion", &param_value.to_string())]);
1228        }
1229        if let Some(ref param_value) = security_state {
1230            local_var_req_builder =
1231                local_var_req_builder.query(&[("securityState", &param_value.to_string())]);
1232        }
1233        if let Some(ref param_value) = premium {
1234            local_var_req_builder =
1235                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
1236        }
1237        if let Some(ref param_value) = premium_expiration_date {
1238            local_var_req_builder =
1239                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
1240        }
1241        if let Some(ref param_value) = renewal_reminder_date {
1242            local_var_req_builder =
1243                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
1244        }
1245        if let Some(ref param_value) = storage {
1246            local_var_req_builder =
1247                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1248        }
1249        if let Some(ref param_value) = max_storage_gb {
1250            local_var_req_builder =
1251                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1252        }
1253        if let Some(ref param_value) = gateway {
1254            local_var_req_builder =
1255                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1256        }
1257        if let Some(ref param_value) = gateway_customer_id {
1258            local_var_req_builder =
1259                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1260        }
1261        if let Some(ref param_value) = gateway_subscription_id {
1262            local_var_req_builder =
1263                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1264        }
1265        if let Some(ref param_value) = reference_data {
1266            local_var_req_builder =
1267                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1268        }
1269        if let Some(ref param_value) = license_key {
1270            local_var_req_builder =
1271                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1272        }
1273        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
1274        if let Some(ref param_value) = kdf {
1275            local_var_req_builder =
1276                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
1277        }
1278        if let Some(ref param_value) = kdf_iterations {
1279            local_var_req_builder =
1280                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
1281        }
1282        if let Some(ref param_value) = kdf_memory {
1283            local_var_req_builder =
1284                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
1285        }
1286        if let Some(ref param_value) = kdf_parallelism {
1287            local_var_req_builder =
1288                local_var_req_builder.query(&[("kdfParallelism", &param_value.to_string())]);
1289        }
1290        if let Some(ref param_value) = creation_date {
1291            local_var_req_builder =
1292                local_var_req_builder.query(&[("creationDate", &param_value.to_string())]);
1293        }
1294        if let Some(ref param_value) = revision_date {
1295            local_var_req_builder =
1296                local_var_req_builder.query(&[("revisionDate", &param_value.to_string())]);
1297        }
1298        if let Some(ref param_value) = force_password_reset {
1299            local_var_req_builder =
1300                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
1301        }
1302        if let Some(ref param_value) = uses_key_connector {
1303            local_var_req_builder =
1304                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
1305        }
1306        if let Some(ref param_value) = failed_login_count {
1307            local_var_req_builder =
1308                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
1309        }
1310        if let Some(ref param_value) = last_failed_login_date {
1311            local_var_req_builder =
1312                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
1313        }
1314        if let Some(ref param_value) = avatar_color {
1315            local_var_req_builder =
1316                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
1317        }
1318        if let Some(ref param_value) = last_password_change_date {
1319            local_var_req_builder = local_var_req_builder
1320                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
1321        }
1322        if let Some(ref param_value) = last_kdf_change_date {
1323            local_var_req_builder =
1324                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1325        }
1326        if let Some(ref param_value) = last_key_rotation_date {
1327            local_var_req_builder =
1328                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1329        }
1330        if let Some(ref param_value) = last_email_change_date {
1331            local_var_req_builder =
1332                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1333        }
1334        if let Some(ref param_value) = verify_devices {
1335            local_var_req_builder =
1336                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1337        }
1338        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1339            local_var_req_builder = local_var_req_builder
1340                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1341        }
1342        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1343            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1344        };
1345
1346        let local_var_req = local_var_req_builder.build()?;
1347        let local_var_resp = local_var_client.execute(local_var_req).await?;
1348
1349        let local_var_status = local_var_resp.status();
1350        let local_var_content = local_var_resp.text().await?;
1351
1352        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1353            Ok(())
1354        } else {
1355            let local_var_entity: Option<GetPaymentMethodError> =
1356                serde_json::from_str(&local_var_content).ok();
1357            let local_var_error = ResponseContent {
1358                status: local_var_status,
1359                content: local_var_content,
1360                entity: local_var_entity,
1361            };
1362            Err(Error::ResponseError(local_var_error))
1363        }
1364    }
1365
1366    async fn update_payment_method<'a>(
1367        &self,
1368        email: &'a str,
1369        security_stamp: &'a str,
1370        api_key: &'a str,
1371        id: Option<uuid::Uuid>,
1372        name: Option<&'a str>,
1373        email_verified: Option<bool>,
1374        master_password: Option<&'a str>,
1375        master_password_hint: Option<&'a str>,
1376        culture: Option<&'a str>,
1377        two_factor_providers: Option<&'a str>,
1378        two_factor_recovery_code: Option<&'a str>,
1379        equivalent_domains: Option<&'a str>,
1380        excluded_global_equivalent_domains: Option<&'a str>,
1381        account_revision_date: Option<String>,
1382        key: Option<&'a str>,
1383        public_key: Option<&'a str>,
1384        private_key: Option<&'a str>,
1385        signed_public_key: Option<&'a str>,
1386        security_version: Option<i32>,
1387        security_state: Option<&'a str>,
1388        premium: Option<bool>,
1389        premium_expiration_date: Option<String>,
1390        renewal_reminder_date: Option<String>,
1391        storage: Option<i64>,
1392        max_storage_gb: Option<i32>,
1393        gateway: Option<models::GatewayType>,
1394        gateway_customer_id: Option<&'a str>,
1395        gateway_subscription_id: Option<&'a str>,
1396        reference_data: Option<&'a str>,
1397        license_key: Option<&'a str>,
1398        kdf: Option<models::KdfType>,
1399        kdf_iterations: Option<i32>,
1400        kdf_memory: Option<i32>,
1401        kdf_parallelism: Option<i32>,
1402        creation_date: Option<String>,
1403        revision_date: Option<String>,
1404        force_password_reset: Option<bool>,
1405        uses_key_connector: Option<bool>,
1406        failed_login_count: Option<i32>,
1407        last_failed_login_date: Option<String>,
1408        avatar_color: Option<&'a str>,
1409        last_password_change_date: Option<String>,
1410        last_kdf_change_date: Option<String>,
1411        last_key_rotation_date: Option<String>,
1412        last_email_change_date: Option<String>,
1413        verify_devices: Option<bool>,
1414        tokenized_payment_method_request: Option<models::TokenizedPaymentMethodRequest>,
1415    ) -> Result<(), Error<UpdatePaymentMethodError>> {
1416        let local_var_configuration = &self.configuration;
1417
1418        let local_var_client = &local_var_configuration.client;
1419
1420        let local_var_uri_str = format!(
1421            "{}/account/billing/vnext/payment-method",
1422            local_var_configuration.base_path
1423        );
1424        let mut local_var_req_builder =
1425            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
1426
1427        if let Some(ref param_value) = id {
1428            local_var_req_builder =
1429                local_var_req_builder.query(&[("id", &param_value.to_string())]);
1430        }
1431        if let Some(ref param_value) = name {
1432            local_var_req_builder =
1433                local_var_req_builder.query(&[("name", &param_value.to_string())]);
1434        }
1435        local_var_req_builder = local_var_req_builder.query(&[("email", &email.to_string())]);
1436        if let Some(ref param_value) = email_verified {
1437            local_var_req_builder =
1438                local_var_req_builder.query(&[("emailVerified", &param_value.to_string())]);
1439        }
1440        if let Some(ref param_value) = master_password {
1441            local_var_req_builder =
1442                local_var_req_builder.query(&[("masterPassword", &param_value.to_string())]);
1443        }
1444        if let Some(ref param_value) = master_password_hint {
1445            local_var_req_builder =
1446                local_var_req_builder.query(&[("masterPasswordHint", &param_value.to_string())]);
1447        }
1448        if let Some(ref param_value) = culture {
1449            local_var_req_builder =
1450                local_var_req_builder.query(&[("culture", &param_value.to_string())]);
1451        }
1452        local_var_req_builder =
1453            local_var_req_builder.query(&[("securityStamp", &security_stamp.to_string())]);
1454        if let Some(ref param_value) = two_factor_providers {
1455            local_var_req_builder =
1456                local_var_req_builder.query(&[("twoFactorProviders", &param_value.to_string())]);
1457        }
1458        if let Some(ref param_value) = two_factor_recovery_code {
1459            local_var_req_builder =
1460                local_var_req_builder.query(&[("twoFactorRecoveryCode", &param_value.to_string())]);
1461        }
1462        if let Some(ref param_value) = equivalent_domains {
1463            local_var_req_builder =
1464                local_var_req_builder.query(&[("equivalentDomains", &param_value.to_string())]);
1465        }
1466        if let Some(ref param_value) = excluded_global_equivalent_domains {
1467            local_var_req_builder = local_var_req_builder
1468                .query(&[("excludedGlobalEquivalentDomains", &param_value.to_string())]);
1469        }
1470        if let Some(ref param_value) = account_revision_date {
1471            local_var_req_builder =
1472                local_var_req_builder.query(&[("accountRevisionDate", &param_value.to_string())]);
1473        }
1474        if let Some(ref param_value) = key {
1475            local_var_req_builder =
1476                local_var_req_builder.query(&[("key", &param_value.to_string())]);
1477        }
1478        if let Some(ref param_value) = public_key {
1479            local_var_req_builder =
1480                local_var_req_builder.query(&[("publicKey", &param_value.to_string())]);
1481        }
1482        if let Some(ref param_value) = private_key {
1483            local_var_req_builder =
1484                local_var_req_builder.query(&[("privateKey", &param_value.to_string())]);
1485        }
1486        if let Some(ref param_value) = signed_public_key {
1487            local_var_req_builder =
1488                local_var_req_builder.query(&[("signedPublicKey", &param_value.to_string())]);
1489        }
1490        if let Some(ref param_value) = security_version {
1491            local_var_req_builder =
1492                local_var_req_builder.query(&[("securityVersion", &param_value.to_string())]);
1493        }
1494        if let Some(ref param_value) = security_state {
1495            local_var_req_builder =
1496                local_var_req_builder.query(&[("securityState", &param_value.to_string())]);
1497        }
1498        if let Some(ref param_value) = premium {
1499            local_var_req_builder =
1500                local_var_req_builder.query(&[("premium", &param_value.to_string())]);
1501        }
1502        if let Some(ref param_value) = premium_expiration_date {
1503            local_var_req_builder =
1504                local_var_req_builder.query(&[("premiumExpirationDate", &param_value.to_string())]);
1505        }
1506        if let Some(ref param_value) = renewal_reminder_date {
1507            local_var_req_builder =
1508                local_var_req_builder.query(&[("renewalReminderDate", &param_value.to_string())]);
1509        }
1510        if let Some(ref param_value) = storage {
1511            local_var_req_builder =
1512                local_var_req_builder.query(&[("storage", &param_value.to_string())]);
1513        }
1514        if let Some(ref param_value) = max_storage_gb {
1515            local_var_req_builder =
1516                local_var_req_builder.query(&[("maxStorageGb", &param_value.to_string())]);
1517        }
1518        if let Some(ref param_value) = gateway {
1519            local_var_req_builder =
1520                local_var_req_builder.query(&[("gateway", &param_value.to_string())]);
1521        }
1522        if let Some(ref param_value) = gateway_customer_id {
1523            local_var_req_builder =
1524                local_var_req_builder.query(&[("gatewayCustomerId", &param_value.to_string())]);
1525        }
1526        if let Some(ref param_value) = gateway_subscription_id {
1527            local_var_req_builder =
1528                local_var_req_builder.query(&[("gatewaySubscriptionId", &param_value.to_string())]);
1529        }
1530        if let Some(ref param_value) = reference_data {
1531            local_var_req_builder =
1532                local_var_req_builder.query(&[("referenceData", &param_value.to_string())]);
1533        }
1534        if let Some(ref param_value) = license_key {
1535            local_var_req_builder =
1536                local_var_req_builder.query(&[("licenseKey", &param_value.to_string())]);
1537        }
1538        local_var_req_builder = local_var_req_builder.query(&[("apiKey", &api_key.to_string())]);
1539        if let Some(ref param_value) = kdf {
1540            local_var_req_builder =
1541                local_var_req_builder.query(&[("kdf", &param_value.to_string())]);
1542        }
1543        if let Some(ref param_value) = kdf_iterations {
1544            local_var_req_builder =
1545                local_var_req_builder.query(&[("kdfIterations", &param_value.to_string())]);
1546        }
1547        if let Some(ref param_value) = kdf_memory {
1548            local_var_req_builder =
1549                local_var_req_builder.query(&[("kdfMemory", &param_value.to_string())]);
1550        }
1551        if let Some(ref param_value) = kdf_parallelism {
1552            local_var_req_builder =
1553                local_var_req_builder.query(&[("kdfParallelism", &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) = force_password_reset {
1564            local_var_req_builder =
1565                local_var_req_builder.query(&[("forcePasswordReset", &param_value.to_string())]);
1566        }
1567        if let Some(ref param_value) = uses_key_connector {
1568            local_var_req_builder =
1569                local_var_req_builder.query(&[("usesKeyConnector", &param_value.to_string())]);
1570        }
1571        if let Some(ref param_value) = failed_login_count {
1572            local_var_req_builder =
1573                local_var_req_builder.query(&[("failedLoginCount", &param_value.to_string())]);
1574        }
1575        if let Some(ref param_value) = last_failed_login_date {
1576            local_var_req_builder =
1577                local_var_req_builder.query(&[("lastFailedLoginDate", &param_value.to_string())]);
1578        }
1579        if let Some(ref param_value) = avatar_color {
1580            local_var_req_builder =
1581                local_var_req_builder.query(&[("avatarColor", &param_value.to_string())]);
1582        }
1583        if let Some(ref param_value) = last_password_change_date {
1584            local_var_req_builder = local_var_req_builder
1585                .query(&[("lastPasswordChangeDate", &param_value.to_string())]);
1586        }
1587        if let Some(ref param_value) = last_kdf_change_date {
1588            local_var_req_builder =
1589                local_var_req_builder.query(&[("lastKdfChangeDate", &param_value.to_string())]);
1590        }
1591        if let Some(ref param_value) = last_key_rotation_date {
1592            local_var_req_builder =
1593                local_var_req_builder.query(&[("lastKeyRotationDate", &param_value.to_string())]);
1594        }
1595        if let Some(ref param_value) = last_email_change_date {
1596            local_var_req_builder =
1597                local_var_req_builder.query(&[("lastEmailChangeDate", &param_value.to_string())]);
1598        }
1599        if let Some(ref param_value) = verify_devices {
1600            local_var_req_builder =
1601                local_var_req_builder.query(&[("verifyDevices", &param_value.to_string())]);
1602        }
1603        if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1604            local_var_req_builder = local_var_req_builder
1605                .header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1606        }
1607        if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
1608            local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1609        };
1610        local_var_req_builder = local_var_req_builder.json(&tokenized_payment_method_request);
1611
1612        let local_var_req = local_var_req_builder.build()?;
1613        let local_var_resp = local_var_client.execute(local_var_req).await?;
1614
1615        let local_var_status = local_var_resp.status();
1616        let local_var_content = local_var_resp.text().await?;
1617
1618        if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1619            Ok(())
1620        } else {
1621            let local_var_entity: Option<UpdatePaymentMethodError> =
1622                serde_json::from_str(&local_var_content).ok();
1623            let local_var_error = ResponseContent {
1624                status: local_var_status,
1625                content: local_var_content,
1626                entity: local_var_entity,
1627            };
1628            Err(Error::ResponseError(local_var_error))
1629        }
1630    }
1631}
1632
1633/// struct for typed errors of method [`AccountBillingVNextApi::add_credit_via_bit_pay`]
1634#[derive(Debug, Clone, Serialize, Deserialize)]
1635#[serde(untagged)]
1636pub enum AddCreditViaBitPayError {
1637    UnknownValue(serde_json::Value),
1638}
1639/// struct for typed errors of method [`AccountBillingVNextApi::create_subscription`]
1640#[derive(Debug, Clone, Serialize, Deserialize)]
1641#[serde(untagged)]
1642pub enum CreateSubscriptionError {
1643    UnknownValue(serde_json::Value),
1644}
1645/// struct for typed errors of method [`AccountBillingVNextApi::get_credit`]
1646#[derive(Debug, Clone, Serialize, Deserialize)]
1647#[serde(untagged)]
1648pub enum GetCreditError {
1649    UnknownValue(serde_json::Value),
1650}
1651/// struct for typed errors of method [`AccountBillingVNextApi::get_payment_method`]
1652#[derive(Debug, Clone, Serialize, Deserialize)]
1653#[serde(untagged)]
1654pub enum GetPaymentMethodError {
1655    UnknownValue(serde_json::Value),
1656}
1657/// struct for typed errors of method [`AccountBillingVNextApi::update_payment_method`]
1658#[derive(Debug, Clone, Serialize, Deserialize)]
1659#[serde(untagged)]
1660pub enum UpdatePaymentMethodError {
1661    UnknownValue(serde_json::Value),
1662}