1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
12pub struct LegalDocument {
13 #[prost(string, tag = "1")]
18 pub name: ::prost::alloc::string::String,
19 #[prost(string, tag = "2")]
22 pub display_name: ::prost::alloc::string::String,
23 #[prost(bool, tag = "3")]
27 pub acceptance_required: bool,
28 #[prost(string, tag = "4")]
31 pub current_version: ::prost::alloc::string::String,
32 #[prost(string, tag = "5")]
35 pub latest_version: ::prost::alloc::string::String,
36}
37#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
40pub struct LegalDocumentVersion {
41 #[prost(string, tag = "1")]
46 pub name: ::prost::alloc::string::String,
47 #[prost(string, tag = "2")]
49 pub display_name: ::prost::alloc::string::String,
50 #[prost(message, optional, tag = "3")]
53 pub effective_date: ::core::option::Option<::origincloud_core::types::Date>,
54 #[prost(enumeration = "legal_document_version::ChangeClass", tag = "4")]
56 pub change_class: i32,
57 #[prost(string, tag = "5")]
60 pub change_summary: ::prost::alloc::string::String,
61 #[prost(string, tag = "6")]
64 pub sha256: ::prost::alloc::string::String,
65 #[prost(string, tag = "7")]
68 pub markdown: ::prost::alloc::string::String,
69 #[prost(string, tag = "8")]
73 pub html: ::prost::alloc::string::String,
74 #[prost(string, tag = "9")]
77 pub uri: ::prost::alloc::string::String,
78 #[prost(string, tag = "10")]
80 pub pdf_uri: ::prost::alloc::string::String,
81}
82pub mod legal_document_version {
84 #[derive(
86 Clone,
87 Copy,
88 Debug,
89 PartialEq,
90 Eq,
91 Hash,
92 PartialOrd,
93 Ord,
94 ::prost::Enumeration
95 )]
96 #[repr(i32)]
97 pub enum ChangeClass {
98 Unspecified = 0,
100 Material = 1,
104 Notice = 2,
107 Editorial = 3,
109 }
110 impl ChangeClass {
111 pub fn as_str_name(&self) -> &'static str {
116 match self {
117 Self::Unspecified => "CHANGE_CLASS_UNSPECIFIED",
118 Self::Material => "MATERIAL",
119 Self::Notice => "NOTICE",
120 Self::Editorial => "EDITORIAL",
121 }
122 }
123 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
125 match value {
126 "CHANGE_CLASS_UNSPECIFIED" => Some(Self::Unspecified),
127 "MATERIAL" => Some(Self::Material),
128 "NOTICE" => Some(Self::Notice),
129 "EDITORIAL" => Some(Self::Editorial),
130 _ => None,
131 }
132 }
133 }
134}
135#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
137pub struct LegalDocumentVersionToAccept {
138 #[prost(string, tag = "1")]
140 pub legal_document_version: ::prost::alloc::string::String,
141 #[prost(string, tag = "2")]
144 pub sha256: ::prost::alloc::string::String,
145}
146#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
148pub struct ListLegalDocumentsRequest {
149 #[prost(int32, tag = "1")]
152 pub page_size: i32,
153 #[prost(string, tag = "2")]
155 pub page_token: ::prost::alloc::string::String,
156}
157#[derive(Clone, PartialEq, ::prost::Message)]
159pub struct ListLegalDocumentsResponse {
160 #[prost(message, repeated, tag = "1")]
162 pub legal_documents: ::prost::alloc::vec::Vec<LegalDocument>,
163 #[prost(string, tag = "2")]
165 pub next_page_token: ::prost::alloc::string::String,
166}
167#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
169pub struct GetLegalDocumentRequest {
170 #[prost(string, tag = "1")]
172 pub name: ::prost::alloc::string::String,
173}
174#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
176pub struct ListLegalDocumentVersionsRequest {
177 #[prost(string, tag = "1")]
179 pub parent: ::prost::alloc::string::String,
180 #[prost(int32, tag = "2")]
183 pub page_size: i32,
184 #[prost(string, tag = "3")]
186 pub page_token: ::prost::alloc::string::String,
187}
188#[derive(Clone, PartialEq, ::prost::Message)]
190pub struct ListLegalDocumentVersionsResponse {
191 #[prost(message, repeated, tag = "1")]
193 pub legal_document_versions: ::prost::alloc::vec::Vec<LegalDocumentVersion>,
194 #[prost(string, tag = "2")]
196 pub next_page_token: ::prost::alloc::string::String,
197}
198#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
200pub struct GetLegalDocumentVersionRequest {
201 #[prost(string, tag = "1")]
204 pub name: ::prost::alloc::string::String,
205}
206#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
208pub struct DownloadLegalDocumentVersionRequest {
209 #[prost(string, tag = "1")]
212 pub name: ::prost::alloc::string::String,
213}
214#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
217pub struct BillingAccount {
218 #[prost(string, tag = "1")]
220 pub name: ::prost::alloc::string::String,
221 #[prost(string, tag = "2")]
224 pub urn: ::prost::alloc::string::String,
225 #[prost(string, tag = "3")]
229 pub display_name: ::prost::alloc::string::String,
230 #[prost(bool, tag = "4")]
234 pub default_account: bool,
235 #[prost(message, optional, tag = "5")]
239 pub billing_address: ::core::option::Option<BillingAddress>,
240 #[prost(string, tag = "6")]
243 pub invoice_email: ::prost::alloc::string::String,
244 #[prost(string, tag = "7")]
247 pub vat_id: ::prost::alloc::string::String,
248 #[prost(string, tag = "8")]
251 pub contact_person: ::prost::alloc::string::String,
252 #[prost(message, optional, tag = "9")]
254 pub payment_method: ::core::option::Option<PaymentMethod>,
255 #[prost(message, optional, tag = "10")]
257 pub create_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
258 #[prost(string, tag = "11")]
261 pub creator: ::prost::alloc::string::String,
262}
263#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
265pub struct BillingAddress {
266 #[prost(string, tag = "1")]
268 pub street: ::prost::alloc::string::String,
269 #[prost(string, tag = "2")]
271 pub city: ::prost::alloc::string::String,
272 #[prost(string, tag = "3")]
274 pub postal_code: ::prost::alloc::string::String,
275 #[prost(string, tag = "4")]
278 pub region_code: ::prost::alloc::string::String,
279}
280#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
284pub struct PaymentMethod {
285 #[prost(enumeration = "payment_method::State", tag = "1")]
287 pub state: i32,
288 #[prost(string, tag = "2")]
291 pub card_brand: ::prost::alloc::string::String,
292 #[prost(string, tag = "3")]
295 pub card_last4: ::prost::alloc::string::String,
296}
297pub mod payment_method {
299 #[derive(
301 Clone,
302 Copy,
303 Debug,
304 PartialEq,
305 Eq,
306 Hash,
307 PartialOrd,
308 Ord,
309 ::prost::Enumeration
310 )]
311 #[repr(i32)]
312 pub enum State {
313 Unspecified = 0,
315 Missing = 1,
319 Verified = 2,
321 NotRequired = 3,
324 }
325 impl State {
326 pub fn as_str_name(&self) -> &'static str {
331 match self {
332 Self::Unspecified => "STATE_UNSPECIFIED",
333 Self::Missing => "MISSING",
334 Self::Verified => "VERIFIED",
335 Self::NotRequired => "NOT_REQUIRED",
336 }
337 }
338 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
340 match value {
341 "STATE_UNSPECIFIED" => Some(Self::Unspecified),
342 "MISSING" => Some(Self::Missing),
343 "VERIFIED" => Some(Self::Verified),
344 "NOT_REQUIRED" => Some(Self::NotRequired),
345 _ => None,
346 }
347 }
348 }
349}
350#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
352pub struct ProjectBillingInfo {
353 #[prost(string, tag = "1")]
355 pub name: ::prost::alloc::string::String,
356 #[prost(string, tag = "3")]
359 pub billing_account: ::prost::alloc::string::String,
360}
361#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
363pub struct BillingCountry {
364 #[prost(string, tag = "1")]
366 pub name: ::prost::alloc::string::String,
367 #[prost(string, tag = "2")]
370 pub region_code: ::prost::alloc::string::String,
371 #[prost(string, tag = "3")]
373 pub display_name: ::prost::alloc::string::String,
374 #[prost(bool, tag = "4")]
378 pub vat_id_required: bool,
379}
380#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
382pub struct GetBillingAccountRequest {
383 #[prost(string, tag = "1")]
385 pub name: ::prost::alloc::string::String,
386}
387#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
389pub struct ListBillingAccountsRequest {
390 #[prost(string, tag = "1")]
393 pub parent: ::prost::alloc::string::String,
394 #[prost(int32, tag = "2")]
397 pub page_size: i32,
398 #[prost(string, tag = "3")]
400 pub page_token: ::prost::alloc::string::String,
401}
402#[derive(Clone, PartialEq, ::prost::Message)]
404pub struct ListBillingAccountsResponse {
405 #[prost(message, repeated, tag = "1")]
407 pub billing_accounts: ::prost::alloc::vec::Vec<BillingAccount>,
408 #[prost(string, tag = "2")]
410 pub next_page_token: ::prost::alloc::string::String,
411}
412#[derive(Clone, PartialEq, ::prost::Message)]
414pub struct CreateBillingAccountRequest {
415 #[prost(string, tag = "1")]
418 pub parent: ::prost::alloc::string::String,
419 #[prost(message, optional, tag = "2")]
421 pub billing_account: ::core::option::Option<BillingAccount>,
422 #[prost(string, tag = "3")]
425 pub request_id: ::prost::alloc::string::String,
426 #[prost(message, repeated, tag = "4")]
431 pub accepted_legal_documents: ::prost::alloc::vec::Vec<LegalDocumentVersionToAccept>,
432 #[prost(bool, tag = "5")]
435 pub acts_as_business: bool,
436}
437#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
439pub struct UpdateBillingAccountRequest {
440 #[prost(message, optional, tag = "1")]
442 pub billing_account: ::core::option::Option<BillingAccount>,
443 #[prost(message, optional, tag = "2")]
447 pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
448}
449#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
451pub struct DeleteBillingAccountRequest {
452 #[prost(string, tag = "1")]
454 pub name: ::prost::alloc::string::String,
455}
456#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
458pub struct StartPaymentMethodSetupRequest {
459 #[prost(string, tag = "1")]
461 pub name: ::prost::alloc::string::String,
462}
463#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
465pub struct StartPaymentMethodSetupResponse {
466 #[prost(string, tag = "1")]
469 pub redirect_uri: ::prost::alloc::string::String,
470}
471#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
473pub struct ConfirmPaymentMethodSetupRequest {
474 #[prost(string, tag = "1")]
476 pub name: ::prost::alloc::string::String,
477}
478#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
480pub struct GetProjectBillingInfoRequest {
481 #[prost(string, tag = "1")]
483 pub name: ::prost::alloc::string::String,
484}
485#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
487pub struct UpdateProjectBillingInfoRequest {
488 #[prost(message, optional, tag = "1")]
490 pub project_billing_info: ::core::option::Option<ProjectBillingInfo>,
491 #[prost(message, optional, tag = "2")]
493 pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
494}
495#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
497pub struct ListProjectBillingInfoRequest {
498 #[prost(string, tag = "1")]
500 pub name: ::prost::alloc::string::String,
501 #[prost(int32, tag = "2")]
504 pub page_size: i32,
505 #[prost(string, tag = "3")]
507 pub page_token: ::prost::alloc::string::String,
508}
509#[derive(Clone, PartialEq, ::prost::Message)]
511pub struct ListProjectBillingInfoResponse {
512 #[prost(message, repeated, tag = "1")]
514 pub project_billing_infos: ::prost::alloc::vec::Vec<ProjectBillingInfo>,
515 #[prost(string, tag = "2")]
517 pub next_page_token: ::prost::alloc::string::String,
518}
519#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
521pub struct GetBillingCountryRequest {
522 #[prost(string, tag = "1")]
525 pub name: ::prost::alloc::string::String,
526}
527#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
529pub struct ListBillingCountriesRequest {
530 #[prost(int32, tag = "1")]
533 pub page_size: i32,
534 #[prost(string, tag = "2")]
536 pub page_token: ::prost::alloc::string::String,
537}
538#[derive(Clone, PartialEq, ::prost::Message)]
540pub struct ListBillingCountriesResponse {
541 #[prost(message, repeated, tag = "1")]
543 pub billing_countries: ::prost::alloc::vec::Vec<BillingCountry>,
544 #[prost(string, tag = "2")]
546 pub next_page_token: ::prost::alloc::string::String,
547}
548#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct CostReport {
552 #[prost(string, tag = "1")]
554 pub total: ::prost::alloc::string::String,
555 #[prost(message, repeated, tag = "2")]
558 pub services: ::prost::alloc::vec::Vec<ServiceCost>,
559}
560#[derive(Clone, PartialEq, ::prost::Message)]
562pub struct ServiceCost {
563 #[prost(string, tag = "1")]
566 pub service: ::prost::alloc::string::String,
567 #[prost(string, tag = "2")]
569 pub total: ::prost::alloc::string::String,
570 #[prost(message, repeated, tag = "3")]
573 pub products: ::prost::alloc::vec::Vec<ProductCost>,
574}
575#[derive(Clone, PartialEq, ::prost::Message)]
577pub struct ProductCost {
578 #[prost(string, tag = "1")]
580 pub product_key: ::prost::alloc::string::String,
581 #[prost(string, tag = "2")]
583 pub total: ::prost::alloc::string::String,
584 #[prost(message, repeated, tag = "3")]
586 pub buckets: ::prost::alloc::vec::Vec<CostBucket>,
587}
588#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
590pub struct CostBucket {
591 #[prost(message, optional, tag = "1")]
593 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
594 #[prost(string, tag = "2")]
596 pub amount: ::prost::alloc::string::String,
597}
598#[derive(Clone, PartialEq, ::prost::Message)]
601pub struct OrganizationCostReport {
602 #[prost(string, tag = "1")]
604 pub total: ::prost::alloc::string::String,
605 #[prost(message, repeated, tag = "2")]
607 pub services: ::prost::alloc::vec::Vec<ServiceCost>,
608 #[prost(message, repeated, tag = "3")]
611 pub projects: ::prost::alloc::vec::Vec<ProjectCost>,
612}
613#[derive(Clone, PartialEq, ::prost::Message)]
615pub struct ProjectCost {
616 #[prost(string, tag = "1")]
618 pub project: ::prost::alloc::string::String,
619 #[prost(string, tag = "2")]
621 pub total: ::prost::alloc::string::String,
622 #[prost(message, repeated, tag = "3")]
624 pub buckets: ::prost::alloc::vec::Vec<CostBucket>,
625}
626#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
629pub struct UsageRecord {
630 #[prost(string, tag = "1")]
632 pub resource_kind: ::prost::alloc::string::String,
633 #[prost(string, tag = "2")]
635 pub resource_id: ::prost::alloc::string::String,
636 #[prost(string, tag = "3")]
638 pub metric: ::prost::alloc::string::String,
639 #[prost(string, tag = "4")]
642 pub product_key: ::prost::alloc::string::String,
643 #[prost(string, tag = "5")]
645 pub quantity: ::prost::alloc::string::String,
646 #[prost(message, optional, tag = "6")]
648 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
649 #[prost(message, optional, tag = "7")]
651 pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
652 #[prost(string, tag = "8")]
655 pub billing_account: ::prost::alloc::string::String,
656}
657#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
659pub struct QueryProjectCostRequest {
660 #[prost(string, tag = "1")]
662 pub project: ::prost::alloc::string::String,
663 #[prost(message, optional, tag = "2")]
665 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
666 #[prost(message, optional, tag = "3")]
668 pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
669 #[prost(enumeration = "Granularity", tag = "4")]
671 pub granularity: i32,
672}
673#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
675pub struct QueryOrganizationCostRequest {
676 #[prost(string, tag = "1")]
678 pub organization: ::prost::alloc::string::String,
679 #[prost(message, optional, tag = "2")]
681 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
682 #[prost(message, optional, tag = "3")]
684 pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
685 #[prost(enumeration = "Granularity", tag = "4")]
687 pub granularity: i32,
688}
689#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
691pub struct QueryBillingAccountCostRequest {
692 #[prost(string, tag = "1")]
694 pub billing_account: ::prost::alloc::string::String,
695 #[prost(message, optional, tag = "2")]
697 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
698 #[prost(message, optional, tag = "3")]
700 pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
701 #[prost(enumeration = "Granularity", tag = "4")]
703 pub granularity: i32,
704}
705#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
707pub struct QueryProjectUsageRequest {
708 #[prost(string, tag = "1")]
710 pub project: ::prost::alloc::string::String,
711 #[prost(message, optional, tag = "2")]
713 pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
714 #[prost(message, optional, tag = "3")]
717 pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
718 #[prost(int32, tag = "4")]
721 pub page_size: i32,
722 #[prost(string, tag = "5")]
724 pub page_token: ::prost::alloc::string::String,
725}
726#[derive(Clone, PartialEq, ::prost::Message)]
728pub struct QueryProjectUsageResponse {
729 #[prost(message, repeated, tag = "1")]
731 pub usage_records: ::prost::alloc::vec::Vec<UsageRecord>,
732 #[prost(string, tag = "2")]
734 pub next_page_token: ::prost::alloc::string::String,
735}
736#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
738#[repr(i32)]
739pub enum Granularity {
740 Unspecified = 0,
742 Hourly = 1,
744 Daily = 2,
746}
747impl Granularity {
748 pub fn as_str_name(&self) -> &'static str {
753 match self {
754 Self::Unspecified => "GRANULARITY_UNSPECIFIED",
755 Self::Hourly => "HOURLY",
756 Self::Daily => "DAILY",
757 }
758 }
759 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
761 match value {
762 "GRANULARITY_UNSPECIFIED" => Some(Self::Unspecified),
763 "HOURLY" => Some(Self::Hourly),
764 "DAILY" => Some(Self::Daily),
765 _ => None,
766 }
767 }
768}
769#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
771pub struct LegalAcceptance {
772 #[prost(string, tag = "1")]
774 pub name: ::prost::alloc::string::String,
775 #[prost(string, tag = "2")]
778 pub legal_document_version: ::prost::alloc::string::String,
779 #[prost(string, tag = "3")]
781 pub sha256: ::prost::alloc::string::String,
782 #[prost(string, tag = "4")]
785 pub accepter: ::prost::alloc::string::String,
786 #[prost(message, optional, tag = "5")]
788 pub accept_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
789 #[prost(enumeration = "legal_acceptance::Method", tag = "6")]
791 pub method: i32,
792 #[prost(bool, tag = "7")]
794 pub acts_as_business: bool,
795 #[prost(string, tag = "8")]
798 pub organization_display_name: ::prost::alloc::string::String,
799 #[prost(message, optional, tag = "9")]
802 pub billing_address: ::core::option::Option<BillingAddress>,
803 #[prost(string, tag = "10")]
806 pub vat_id: ::prost::alloc::string::String,
807}
808pub mod legal_acceptance {
810 #[derive(
812 Clone,
813 Copy,
814 Debug,
815 PartialEq,
816 Eq,
817 Hash,
818 PartialOrd,
819 Ord,
820 ::prost::Enumeration
821 )]
822 #[repr(i32)]
823 pub enum Method {
824 Unspecified = 0,
826 Signup = 1,
828 Change = 2,
830 Migration = 3,
833 }
834 impl Method {
835 pub fn as_str_name(&self) -> &'static str {
840 match self {
841 Self::Unspecified => "METHOD_UNSPECIFIED",
842 Self::Signup => "SIGNUP",
843 Self::Change => "CHANGE",
844 Self::Migration => "MIGRATION",
845 }
846 }
847 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
849 match value {
850 "METHOD_UNSPECIFIED" => Some(Self::Unspecified),
851 "SIGNUP" => Some(Self::Signup),
852 "CHANGE" => Some(Self::Change),
853 "MIGRATION" => Some(Self::Migration),
854 _ => None,
855 }
856 }
857 }
858}
859#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
861pub struct LegalRequirement {
862 #[prost(string, tag = "1")]
864 pub legal_document_version: ::prost::alloc::string::String,
865 #[prost(string, tag = "2")]
867 pub display_name: ::prost::alloc::string::String,
868 #[prost(message, optional, tag = "3")]
870 pub effective_date: ::core::option::Option<::origincloud_core::types::Date>,
871 #[prost(string, tag = "4")]
873 pub change_summary: ::prost::alloc::string::String,
874 #[prost(string, tag = "5")]
876 pub sha256: ::prost::alloc::string::String,
877 #[prost(bool, tag = "6")]
880 pub blocking: bool,
881}
882#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
884pub struct ListLegalAcceptancesRequest {
885 #[prost(string, tag = "1")]
888 pub parent: ::prost::alloc::string::String,
889 #[prost(int32, tag = "2")]
892 pub page_size: i32,
893 #[prost(string, tag = "3")]
895 pub page_token: ::prost::alloc::string::String,
896}
897#[derive(Clone, PartialEq, ::prost::Message)]
899pub struct ListLegalAcceptancesResponse {
900 #[prost(message, repeated, tag = "1")]
903 pub legal_acceptances: ::prost::alloc::vec::Vec<LegalAcceptance>,
904 #[prost(string, tag = "2")]
906 pub next_page_token: ::prost::alloc::string::String,
907}
908#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
910pub struct GetLegalAcceptanceRequest {
911 #[prost(string, tag = "1")]
913 pub name: ::prost::alloc::string::String,
914}
915#[derive(Clone, PartialEq, ::prost::Message)]
917pub struct AcceptLegalDocumentsRequest {
918 #[prost(string, tag = "1")]
921 pub name: ::prost::alloc::string::String,
922 #[prost(message, repeated, tag = "2")]
924 pub versions: ::prost::alloc::vec::Vec<LegalDocumentVersionToAccept>,
925 #[prost(bool, tag = "3")]
928 pub acts_as_business: bool,
929}
930#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
932pub struct QueryLegalRequirementsRequest {
933 #[prost(string, tag = "1")]
936 pub name: ::prost::alloc::string::String,
937}
938#[derive(Clone, PartialEq, ::prost::Message)]
940pub struct QueryLegalRequirementsResponse {
941 #[prost(message, repeated, tag = "1")]
943 pub requirements: ::prost::alloc::vec::Vec<LegalRequirement>,
944}
945#[derive(Clone, PartialEq, ::prost::Message)]
948pub struct PriceList {
949 #[prost(string, tag = "1")]
951 pub currency: ::prost::alloc::string::String,
952 #[prost(bool, tag = "2")]
954 pub amounts_exclude_vat: bool,
955 #[prost(message, optional, tag = "3")]
958 pub last_changed: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
959 #[prost(message, repeated, tag = "4")]
966 pub families: ::prost::alloc::vec::Vec<PriceFamily>,
967}
968#[derive(Clone, PartialEq, ::prost::Message)]
970pub struct PriceFamily {
971 #[prost(string, tag = "1")]
973 pub family: ::prost::alloc::string::String,
974 #[prost(message, repeated, tag = "2")]
977 pub prices: ::prost::alloc::vec::Vec<Price>,
978}
979#[derive(Clone, PartialEq, ::prost::Message)]
981pub struct Price {
982 #[prost(string, tag = "1")]
985 pub product_key: ::prost::alloc::string::String,
986 #[prost(btree_map = "string, string", tag = "2")]
989 pub dimensions: ::prost::alloc::collections::BTreeMap<
990 ::prost::alloc::string::String,
991 ::prost::alloc::string::String,
992 >,
993 #[prost(string, tag = "3")]
996 pub unit_type: ::prost::alloc::string::String,
997 #[prost(uint32, tag = "4")]
1000 pub unit_count: u32,
1001 #[prost(string, tag = "5")]
1003 pub amount: ::prost::alloc::string::String,
1004 #[prost(message, optional, tag = "6")]
1006 pub valid_from: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
1007 #[prost(message, optional, tag = "7")]
1009 pub valid_until: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
1010}
1011#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1013pub struct GetPriceListRequest {}
1014#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1018pub struct SpendLimit {
1019 #[prost(string, tag = "1")]
1022 pub name: ::prost::alloc::string::String,
1023 #[prost(string, optional, tag = "2")]
1026 pub limit: ::core::option::Option<::prost::alloc::string::String>,
1027 #[prost(int32, repeated, packed = "false", tag = "3")]
1031 pub alert_thresholds_percent: ::prost::alloc::vec::Vec<i32>,
1032 #[prost(string, repeated, tag = "4")]
1035 pub notification_emails: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1036 #[prost(message, optional, tag = "5")]
1038 pub update_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
1039}
1040#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1042pub struct GetSpendLimitRequest {
1043 #[prost(string, tag = "1")]
1045 pub name: ::prost::alloc::string::String,
1046}
1047#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1049pub struct UpdateSpendLimitRequest {
1050 #[prost(message, optional, tag = "1")]
1052 pub spend_limit: ::core::option::Option<SpendLimit>,
1053 #[prost(message, optional, tag = "2")]
1056 pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
1057}
1058impl serde::Serialize for AcceptLegalDocumentsRequest {
1059 #[allow(deprecated)]
1060 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1061 where
1062 S: serde::Serializer,
1063 {
1064 use serde::ser::SerializeStruct;
1065 let mut len = 0;
1066 if !self.name.is_empty() {
1067 len += 1;
1068 }
1069 if !self.versions.is_empty() {
1070 len += 1;
1071 }
1072 if self.acts_as_business {
1073 len += 1;
1074 }
1075 let mut struct_ser = serializer
1076 .serialize_struct(
1077 "origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
1078 len,
1079 )?;
1080 if !self.name.is_empty() {
1081 struct_ser.serialize_field("name", &self.name)?;
1082 }
1083 if !self.versions.is_empty() {
1084 struct_ser.serialize_field("versions", &self.versions)?;
1085 }
1086 if self.acts_as_business {
1087 struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
1088 }
1089 struct_ser.end()
1090 }
1091}
1092impl<'de> serde::Deserialize<'de> for AcceptLegalDocumentsRequest {
1093 #[allow(deprecated)]
1094 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1095 where
1096 D: serde::Deserializer<'de>,
1097 {
1098 const FIELDS: &[&str] = &[
1099 "name",
1100 "versions",
1101 "acts_as_business",
1102 "actsAsBusiness",
1103 ];
1104 #[allow(clippy::enum_variant_names)]
1105 enum GeneratedField {
1106 Name,
1107 Versions,
1108 ActsAsBusiness,
1109 __SkipField__,
1110 }
1111 impl<'de> serde::Deserialize<'de> for GeneratedField {
1112 fn deserialize<D>(
1113 deserializer: D,
1114 ) -> std::result::Result<GeneratedField, D::Error>
1115 where
1116 D: serde::Deserializer<'de>,
1117 {
1118 struct GeneratedVisitor;
1119 impl serde::de::Visitor<'_> for GeneratedVisitor {
1120 type Value = GeneratedField;
1121 fn expecting(
1122 &self,
1123 formatter: &mut std::fmt::Formatter<'_>,
1124 ) -> std::fmt::Result {
1125 write!(formatter, "expected one of: {:?}", & FIELDS)
1126 }
1127 #[allow(unused_variables)]
1128 fn visit_str<E>(
1129 self,
1130 value: &str,
1131 ) -> std::result::Result<GeneratedField, E>
1132 where
1133 E: serde::de::Error,
1134 {
1135 match value {
1136 "name" => Ok(GeneratedField::Name),
1137 "versions" => Ok(GeneratedField::Versions),
1138 "actsAsBusiness" | "acts_as_business" => {
1139 Ok(GeneratedField::ActsAsBusiness)
1140 }
1141 _ => Ok(GeneratedField::__SkipField__),
1142 }
1143 }
1144 }
1145 deserializer.deserialize_identifier(GeneratedVisitor)
1146 }
1147 }
1148 struct GeneratedVisitor;
1149 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1150 type Value = AcceptLegalDocumentsRequest;
1151 fn expecting(
1152 &self,
1153 formatter: &mut std::fmt::Formatter<'_>,
1154 ) -> std::fmt::Result {
1155 formatter
1156 .write_str(
1157 "struct origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
1158 )
1159 }
1160 fn visit_map<V>(
1161 self,
1162 mut map_: V,
1163 ) -> std::result::Result<AcceptLegalDocumentsRequest, V::Error>
1164 where
1165 V: serde::de::MapAccess<'de>,
1166 {
1167 let mut name__ = None;
1168 let mut versions__ = None;
1169 let mut acts_as_business__ = None;
1170 while let Some(k) = map_.next_key()? {
1171 match k {
1172 GeneratedField::Name => {
1173 if name__.is_some() {
1174 return Err(serde::de::Error::duplicate_field("name"));
1175 }
1176 name__ = Some(map_.next_value()?);
1177 }
1178 GeneratedField::Versions => {
1179 if versions__.is_some() {
1180 return Err(serde::de::Error::duplicate_field("versions"));
1181 }
1182 versions__ = Some(map_.next_value()?);
1183 }
1184 GeneratedField::ActsAsBusiness => {
1185 if acts_as_business__.is_some() {
1186 return Err(
1187 serde::de::Error::duplicate_field("actsAsBusiness"),
1188 );
1189 }
1190 acts_as_business__ = Some(map_.next_value()?);
1191 }
1192 GeneratedField::__SkipField__ => {
1193 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1194 }
1195 }
1196 }
1197 Ok(AcceptLegalDocumentsRequest {
1198 name: name__.unwrap_or_default(),
1199 versions: versions__.unwrap_or_default(),
1200 acts_as_business: acts_as_business__.unwrap_or_default(),
1201 })
1202 }
1203 }
1204 deserializer
1205 .deserialize_struct(
1206 "origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
1207 FIELDS,
1208 GeneratedVisitor,
1209 )
1210 }
1211}
1212impl serde::Serialize for BillingAccount {
1213 #[allow(deprecated)]
1214 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1215 where
1216 S: serde::Serializer,
1217 {
1218 use serde::ser::SerializeStruct;
1219 let mut len = 0;
1220 if !self.name.is_empty() {
1221 len += 1;
1222 }
1223 if !self.urn.is_empty() {
1224 len += 1;
1225 }
1226 if !self.display_name.is_empty() {
1227 len += 1;
1228 }
1229 if self.default_account {
1230 len += 1;
1231 }
1232 if self.billing_address.is_some() {
1233 len += 1;
1234 }
1235 if !self.invoice_email.is_empty() {
1236 len += 1;
1237 }
1238 if !self.vat_id.is_empty() {
1239 len += 1;
1240 }
1241 if !self.contact_person.is_empty() {
1242 len += 1;
1243 }
1244 if self.payment_method.is_some() {
1245 len += 1;
1246 }
1247 if self.create_time.is_some() {
1248 len += 1;
1249 }
1250 if !self.creator.is_empty() {
1251 len += 1;
1252 }
1253 let mut struct_ser = serializer
1254 .serialize_struct("origincloud.billing.v1beta1.BillingAccount", len)?;
1255 if !self.name.is_empty() {
1256 struct_ser.serialize_field("name", &self.name)?;
1257 }
1258 if !self.urn.is_empty() {
1259 struct_ser.serialize_field("urn", &self.urn)?;
1260 }
1261 if !self.display_name.is_empty() {
1262 struct_ser.serialize_field("displayName", &self.display_name)?;
1263 }
1264 if self.default_account {
1265 struct_ser.serialize_field("defaultAccount", &self.default_account)?;
1266 }
1267 if let Some(v) = self.billing_address.as_ref() {
1268 struct_ser.serialize_field("billingAddress", v)?;
1269 }
1270 if !self.invoice_email.is_empty() {
1271 struct_ser.serialize_field("invoiceEmail", &self.invoice_email)?;
1272 }
1273 if !self.vat_id.is_empty() {
1274 struct_ser.serialize_field("vatId", &self.vat_id)?;
1275 }
1276 if !self.contact_person.is_empty() {
1277 struct_ser.serialize_field("contactPerson", &self.contact_person)?;
1278 }
1279 if let Some(v) = self.payment_method.as_ref() {
1280 struct_ser.serialize_field("paymentMethod", v)?;
1281 }
1282 if let Some(v) = self.create_time.as_ref() {
1283 struct_ser.serialize_field("createTime", v)?;
1284 }
1285 if !self.creator.is_empty() {
1286 struct_ser.serialize_field("creator", &self.creator)?;
1287 }
1288 struct_ser.end()
1289 }
1290}
1291impl<'de> serde::Deserialize<'de> for BillingAccount {
1292 #[allow(deprecated)]
1293 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1294 where
1295 D: serde::Deserializer<'de>,
1296 {
1297 const FIELDS: &[&str] = &[
1298 "name",
1299 "urn",
1300 "display_name",
1301 "displayName",
1302 "default_account",
1303 "defaultAccount",
1304 "billing_address",
1305 "billingAddress",
1306 "invoice_email",
1307 "invoiceEmail",
1308 "vat_id",
1309 "vatId",
1310 "contact_person",
1311 "contactPerson",
1312 "payment_method",
1313 "paymentMethod",
1314 "create_time",
1315 "createTime",
1316 "creator",
1317 ];
1318 #[allow(clippy::enum_variant_names)]
1319 enum GeneratedField {
1320 Name,
1321 Urn,
1322 DisplayName,
1323 DefaultAccount,
1324 BillingAddress,
1325 InvoiceEmail,
1326 VatId,
1327 ContactPerson,
1328 PaymentMethod,
1329 CreateTime,
1330 Creator,
1331 __SkipField__,
1332 }
1333 impl<'de> serde::Deserialize<'de> for GeneratedField {
1334 fn deserialize<D>(
1335 deserializer: D,
1336 ) -> std::result::Result<GeneratedField, D::Error>
1337 where
1338 D: serde::Deserializer<'de>,
1339 {
1340 struct GeneratedVisitor;
1341 impl serde::de::Visitor<'_> for GeneratedVisitor {
1342 type Value = GeneratedField;
1343 fn expecting(
1344 &self,
1345 formatter: &mut std::fmt::Formatter<'_>,
1346 ) -> std::fmt::Result {
1347 write!(formatter, "expected one of: {:?}", & FIELDS)
1348 }
1349 #[allow(unused_variables)]
1350 fn visit_str<E>(
1351 self,
1352 value: &str,
1353 ) -> std::result::Result<GeneratedField, E>
1354 where
1355 E: serde::de::Error,
1356 {
1357 match value {
1358 "name" => Ok(GeneratedField::Name),
1359 "urn" => Ok(GeneratedField::Urn),
1360 "displayName" | "display_name" => {
1361 Ok(GeneratedField::DisplayName)
1362 }
1363 "defaultAccount" | "default_account" => {
1364 Ok(GeneratedField::DefaultAccount)
1365 }
1366 "billingAddress" | "billing_address" => {
1367 Ok(GeneratedField::BillingAddress)
1368 }
1369 "invoiceEmail" | "invoice_email" => {
1370 Ok(GeneratedField::InvoiceEmail)
1371 }
1372 "vatId" | "vat_id" => Ok(GeneratedField::VatId),
1373 "contactPerson" | "contact_person" => {
1374 Ok(GeneratedField::ContactPerson)
1375 }
1376 "paymentMethod" | "payment_method" => {
1377 Ok(GeneratedField::PaymentMethod)
1378 }
1379 "createTime" | "create_time" => {
1380 Ok(GeneratedField::CreateTime)
1381 }
1382 "creator" => Ok(GeneratedField::Creator),
1383 _ => Ok(GeneratedField::__SkipField__),
1384 }
1385 }
1386 }
1387 deserializer.deserialize_identifier(GeneratedVisitor)
1388 }
1389 }
1390 struct GeneratedVisitor;
1391 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1392 type Value = BillingAccount;
1393 fn expecting(
1394 &self,
1395 formatter: &mut std::fmt::Formatter<'_>,
1396 ) -> std::fmt::Result {
1397 formatter.write_str("struct origincloud.billing.v1beta1.BillingAccount")
1398 }
1399 fn visit_map<V>(
1400 self,
1401 mut map_: V,
1402 ) -> std::result::Result<BillingAccount, V::Error>
1403 where
1404 V: serde::de::MapAccess<'de>,
1405 {
1406 let mut name__ = None;
1407 let mut urn__ = None;
1408 let mut display_name__ = None;
1409 let mut default_account__ = None;
1410 let mut billing_address__ = None;
1411 let mut invoice_email__ = None;
1412 let mut vat_id__ = None;
1413 let mut contact_person__ = None;
1414 let mut payment_method__ = None;
1415 let mut create_time__ = None;
1416 let mut creator__ = None;
1417 while let Some(k) = map_.next_key()? {
1418 match k {
1419 GeneratedField::Name => {
1420 if name__.is_some() {
1421 return Err(serde::de::Error::duplicate_field("name"));
1422 }
1423 name__ = Some(map_.next_value()?);
1424 }
1425 GeneratedField::Urn => {
1426 if urn__.is_some() {
1427 return Err(serde::de::Error::duplicate_field("urn"));
1428 }
1429 urn__ = Some(map_.next_value()?);
1430 }
1431 GeneratedField::DisplayName => {
1432 if display_name__.is_some() {
1433 return Err(
1434 serde::de::Error::duplicate_field("displayName"),
1435 );
1436 }
1437 display_name__ = Some(map_.next_value()?);
1438 }
1439 GeneratedField::DefaultAccount => {
1440 if default_account__.is_some() {
1441 return Err(
1442 serde::de::Error::duplicate_field("defaultAccount"),
1443 );
1444 }
1445 default_account__ = Some(map_.next_value()?);
1446 }
1447 GeneratedField::BillingAddress => {
1448 if billing_address__.is_some() {
1449 return Err(
1450 serde::de::Error::duplicate_field("billingAddress"),
1451 );
1452 }
1453 billing_address__ = map_.next_value()?;
1454 }
1455 GeneratedField::InvoiceEmail => {
1456 if invoice_email__.is_some() {
1457 return Err(
1458 serde::de::Error::duplicate_field("invoiceEmail"),
1459 );
1460 }
1461 invoice_email__ = Some(map_.next_value()?);
1462 }
1463 GeneratedField::VatId => {
1464 if vat_id__.is_some() {
1465 return Err(serde::de::Error::duplicate_field("vatId"));
1466 }
1467 vat_id__ = Some(map_.next_value()?);
1468 }
1469 GeneratedField::ContactPerson => {
1470 if contact_person__.is_some() {
1471 return Err(
1472 serde::de::Error::duplicate_field("contactPerson"),
1473 );
1474 }
1475 contact_person__ = Some(map_.next_value()?);
1476 }
1477 GeneratedField::PaymentMethod => {
1478 if payment_method__.is_some() {
1479 return Err(
1480 serde::de::Error::duplicate_field("paymentMethod"),
1481 );
1482 }
1483 payment_method__ = map_.next_value()?;
1484 }
1485 GeneratedField::CreateTime => {
1486 if create_time__.is_some() {
1487 return Err(serde::de::Error::duplicate_field("createTime"));
1488 }
1489 create_time__ = map_.next_value()?;
1490 }
1491 GeneratedField::Creator => {
1492 if creator__.is_some() {
1493 return Err(serde::de::Error::duplicate_field("creator"));
1494 }
1495 creator__ = Some(map_.next_value()?);
1496 }
1497 GeneratedField::__SkipField__ => {
1498 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1499 }
1500 }
1501 }
1502 Ok(BillingAccount {
1503 name: name__.unwrap_or_default(),
1504 urn: urn__.unwrap_or_default(),
1505 display_name: display_name__.unwrap_or_default(),
1506 default_account: default_account__.unwrap_or_default(),
1507 billing_address: billing_address__,
1508 invoice_email: invoice_email__.unwrap_or_default(),
1509 vat_id: vat_id__.unwrap_or_default(),
1510 contact_person: contact_person__.unwrap_or_default(),
1511 payment_method: payment_method__,
1512 create_time: create_time__,
1513 creator: creator__.unwrap_or_default(),
1514 })
1515 }
1516 }
1517 deserializer
1518 .deserialize_struct(
1519 "origincloud.billing.v1beta1.BillingAccount",
1520 FIELDS,
1521 GeneratedVisitor,
1522 )
1523 }
1524}
1525impl serde::Serialize for BillingAddress {
1526 #[allow(deprecated)]
1527 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1528 where
1529 S: serde::Serializer,
1530 {
1531 use serde::ser::SerializeStruct;
1532 let mut len = 0;
1533 if !self.street.is_empty() {
1534 len += 1;
1535 }
1536 if !self.city.is_empty() {
1537 len += 1;
1538 }
1539 if !self.postal_code.is_empty() {
1540 len += 1;
1541 }
1542 if !self.region_code.is_empty() {
1543 len += 1;
1544 }
1545 let mut struct_ser = serializer
1546 .serialize_struct("origincloud.billing.v1beta1.BillingAddress", len)?;
1547 if !self.street.is_empty() {
1548 struct_ser.serialize_field("street", &self.street)?;
1549 }
1550 if !self.city.is_empty() {
1551 struct_ser.serialize_field("city", &self.city)?;
1552 }
1553 if !self.postal_code.is_empty() {
1554 struct_ser.serialize_field("postalCode", &self.postal_code)?;
1555 }
1556 if !self.region_code.is_empty() {
1557 struct_ser.serialize_field("regionCode", &self.region_code)?;
1558 }
1559 struct_ser.end()
1560 }
1561}
1562impl<'de> serde::Deserialize<'de> for BillingAddress {
1563 #[allow(deprecated)]
1564 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1565 where
1566 D: serde::Deserializer<'de>,
1567 {
1568 const FIELDS: &[&str] = &[
1569 "street",
1570 "city",
1571 "postal_code",
1572 "postalCode",
1573 "region_code",
1574 "regionCode",
1575 ];
1576 #[allow(clippy::enum_variant_names)]
1577 enum GeneratedField {
1578 Street,
1579 City,
1580 PostalCode,
1581 RegionCode,
1582 __SkipField__,
1583 }
1584 impl<'de> serde::Deserialize<'de> for GeneratedField {
1585 fn deserialize<D>(
1586 deserializer: D,
1587 ) -> std::result::Result<GeneratedField, D::Error>
1588 where
1589 D: serde::Deserializer<'de>,
1590 {
1591 struct GeneratedVisitor;
1592 impl serde::de::Visitor<'_> for GeneratedVisitor {
1593 type Value = GeneratedField;
1594 fn expecting(
1595 &self,
1596 formatter: &mut std::fmt::Formatter<'_>,
1597 ) -> std::fmt::Result {
1598 write!(formatter, "expected one of: {:?}", & FIELDS)
1599 }
1600 #[allow(unused_variables)]
1601 fn visit_str<E>(
1602 self,
1603 value: &str,
1604 ) -> std::result::Result<GeneratedField, E>
1605 where
1606 E: serde::de::Error,
1607 {
1608 match value {
1609 "street" => Ok(GeneratedField::Street),
1610 "city" => Ok(GeneratedField::City),
1611 "postalCode" | "postal_code" => {
1612 Ok(GeneratedField::PostalCode)
1613 }
1614 "regionCode" | "region_code" => {
1615 Ok(GeneratedField::RegionCode)
1616 }
1617 _ => Ok(GeneratedField::__SkipField__),
1618 }
1619 }
1620 }
1621 deserializer.deserialize_identifier(GeneratedVisitor)
1622 }
1623 }
1624 struct GeneratedVisitor;
1625 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1626 type Value = BillingAddress;
1627 fn expecting(
1628 &self,
1629 formatter: &mut std::fmt::Formatter<'_>,
1630 ) -> std::fmt::Result {
1631 formatter.write_str("struct origincloud.billing.v1beta1.BillingAddress")
1632 }
1633 fn visit_map<V>(
1634 self,
1635 mut map_: V,
1636 ) -> std::result::Result<BillingAddress, V::Error>
1637 where
1638 V: serde::de::MapAccess<'de>,
1639 {
1640 let mut street__ = None;
1641 let mut city__ = None;
1642 let mut postal_code__ = None;
1643 let mut region_code__ = None;
1644 while let Some(k) = map_.next_key()? {
1645 match k {
1646 GeneratedField::Street => {
1647 if street__.is_some() {
1648 return Err(serde::de::Error::duplicate_field("street"));
1649 }
1650 street__ = Some(map_.next_value()?);
1651 }
1652 GeneratedField::City => {
1653 if city__.is_some() {
1654 return Err(serde::de::Error::duplicate_field("city"));
1655 }
1656 city__ = Some(map_.next_value()?);
1657 }
1658 GeneratedField::PostalCode => {
1659 if postal_code__.is_some() {
1660 return Err(serde::de::Error::duplicate_field("postalCode"));
1661 }
1662 postal_code__ = Some(map_.next_value()?);
1663 }
1664 GeneratedField::RegionCode => {
1665 if region_code__.is_some() {
1666 return Err(serde::de::Error::duplicate_field("regionCode"));
1667 }
1668 region_code__ = Some(map_.next_value()?);
1669 }
1670 GeneratedField::__SkipField__ => {
1671 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1672 }
1673 }
1674 }
1675 Ok(BillingAddress {
1676 street: street__.unwrap_or_default(),
1677 city: city__.unwrap_or_default(),
1678 postal_code: postal_code__.unwrap_or_default(),
1679 region_code: region_code__.unwrap_or_default(),
1680 })
1681 }
1682 }
1683 deserializer
1684 .deserialize_struct(
1685 "origincloud.billing.v1beta1.BillingAddress",
1686 FIELDS,
1687 GeneratedVisitor,
1688 )
1689 }
1690}
1691impl serde::Serialize for BillingCountry {
1692 #[allow(deprecated)]
1693 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1694 where
1695 S: serde::Serializer,
1696 {
1697 use serde::ser::SerializeStruct;
1698 let mut len = 0;
1699 if !self.name.is_empty() {
1700 len += 1;
1701 }
1702 if !self.region_code.is_empty() {
1703 len += 1;
1704 }
1705 if !self.display_name.is_empty() {
1706 len += 1;
1707 }
1708 if self.vat_id_required {
1709 len += 1;
1710 }
1711 let mut struct_ser = serializer
1712 .serialize_struct("origincloud.billing.v1beta1.BillingCountry", len)?;
1713 if !self.name.is_empty() {
1714 struct_ser.serialize_field("name", &self.name)?;
1715 }
1716 if !self.region_code.is_empty() {
1717 struct_ser.serialize_field("regionCode", &self.region_code)?;
1718 }
1719 if !self.display_name.is_empty() {
1720 struct_ser.serialize_field("displayName", &self.display_name)?;
1721 }
1722 if self.vat_id_required {
1723 struct_ser.serialize_field("vatIdRequired", &self.vat_id_required)?;
1724 }
1725 struct_ser.end()
1726 }
1727}
1728impl<'de> serde::Deserialize<'de> for BillingCountry {
1729 #[allow(deprecated)]
1730 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1731 where
1732 D: serde::Deserializer<'de>,
1733 {
1734 const FIELDS: &[&str] = &[
1735 "name",
1736 "region_code",
1737 "regionCode",
1738 "display_name",
1739 "displayName",
1740 "vat_id_required",
1741 "vatIdRequired",
1742 ];
1743 #[allow(clippy::enum_variant_names)]
1744 enum GeneratedField {
1745 Name,
1746 RegionCode,
1747 DisplayName,
1748 VatIdRequired,
1749 __SkipField__,
1750 }
1751 impl<'de> serde::Deserialize<'de> for GeneratedField {
1752 fn deserialize<D>(
1753 deserializer: D,
1754 ) -> std::result::Result<GeneratedField, D::Error>
1755 where
1756 D: serde::Deserializer<'de>,
1757 {
1758 struct GeneratedVisitor;
1759 impl serde::de::Visitor<'_> for GeneratedVisitor {
1760 type Value = GeneratedField;
1761 fn expecting(
1762 &self,
1763 formatter: &mut std::fmt::Formatter<'_>,
1764 ) -> std::fmt::Result {
1765 write!(formatter, "expected one of: {:?}", & FIELDS)
1766 }
1767 #[allow(unused_variables)]
1768 fn visit_str<E>(
1769 self,
1770 value: &str,
1771 ) -> std::result::Result<GeneratedField, E>
1772 where
1773 E: serde::de::Error,
1774 {
1775 match value {
1776 "name" => Ok(GeneratedField::Name),
1777 "regionCode" | "region_code" => {
1778 Ok(GeneratedField::RegionCode)
1779 }
1780 "displayName" | "display_name" => {
1781 Ok(GeneratedField::DisplayName)
1782 }
1783 "vatIdRequired" | "vat_id_required" => {
1784 Ok(GeneratedField::VatIdRequired)
1785 }
1786 _ => Ok(GeneratedField::__SkipField__),
1787 }
1788 }
1789 }
1790 deserializer.deserialize_identifier(GeneratedVisitor)
1791 }
1792 }
1793 struct GeneratedVisitor;
1794 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1795 type Value = BillingCountry;
1796 fn expecting(
1797 &self,
1798 formatter: &mut std::fmt::Formatter<'_>,
1799 ) -> std::fmt::Result {
1800 formatter.write_str("struct origincloud.billing.v1beta1.BillingCountry")
1801 }
1802 fn visit_map<V>(
1803 self,
1804 mut map_: V,
1805 ) -> std::result::Result<BillingCountry, V::Error>
1806 where
1807 V: serde::de::MapAccess<'de>,
1808 {
1809 let mut name__ = None;
1810 let mut region_code__ = None;
1811 let mut display_name__ = None;
1812 let mut vat_id_required__ = None;
1813 while let Some(k) = map_.next_key()? {
1814 match k {
1815 GeneratedField::Name => {
1816 if name__.is_some() {
1817 return Err(serde::de::Error::duplicate_field("name"));
1818 }
1819 name__ = Some(map_.next_value()?);
1820 }
1821 GeneratedField::RegionCode => {
1822 if region_code__.is_some() {
1823 return Err(serde::de::Error::duplicate_field("regionCode"));
1824 }
1825 region_code__ = Some(map_.next_value()?);
1826 }
1827 GeneratedField::DisplayName => {
1828 if display_name__.is_some() {
1829 return Err(
1830 serde::de::Error::duplicate_field("displayName"),
1831 );
1832 }
1833 display_name__ = Some(map_.next_value()?);
1834 }
1835 GeneratedField::VatIdRequired => {
1836 if vat_id_required__.is_some() {
1837 return Err(
1838 serde::de::Error::duplicate_field("vatIdRequired"),
1839 );
1840 }
1841 vat_id_required__ = Some(map_.next_value()?);
1842 }
1843 GeneratedField::__SkipField__ => {
1844 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1845 }
1846 }
1847 }
1848 Ok(BillingCountry {
1849 name: name__.unwrap_or_default(),
1850 region_code: region_code__.unwrap_or_default(),
1851 display_name: display_name__.unwrap_or_default(),
1852 vat_id_required: vat_id_required__.unwrap_or_default(),
1853 })
1854 }
1855 }
1856 deserializer
1857 .deserialize_struct(
1858 "origincloud.billing.v1beta1.BillingCountry",
1859 FIELDS,
1860 GeneratedVisitor,
1861 )
1862 }
1863}
1864impl serde::Serialize for ConfirmPaymentMethodSetupRequest {
1865 #[allow(deprecated)]
1866 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1867 where
1868 S: serde::Serializer,
1869 {
1870 use serde::ser::SerializeStruct;
1871 let mut len = 0;
1872 if !self.name.is_empty() {
1873 len += 1;
1874 }
1875 let mut struct_ser = serializer
1876 .serialize_struct(
1877 "origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
1878 len,
1879 )?;
1880 if !self.name.is_empty() {
1881 struct_ser.serialize_field("name", &self.name)?;
1882 }
1883 struct_ser.end()
1884 }
1885}
1886impl<'de> serde::Deserialize<'de> for ConfirmPaymentMethodSetupRequest {
1887 #[allow(deprecated)]
1888 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
1889 where
1890 D: serde::Deserializer<'de>,
1891 {
1892 const FIELDS: &[&str] = &["name"];
1893 #[allow(clippy::enum_variant_names)]
1894 enum GeneratedField {
1895 Name,
1896 __SkipField__,
1897 }
1898 impl<'de> serde::Deserialize<'de> for GeneratedField {
1899 fn deserialize<D>(
1900 deserializer: D,
1901 ) -> std::result::Result<GeneratedField, D::Error>
1902 where
1903 D: serde::Deserializer<'de>,
1904 {
1905 struct GeneratedVisitor;
1906 impl serde::de::Visitor<'_> for GeneratedVisitor {
1907 type Value = GeneratedField;
1908 fn expecting(
1909 &self,
1910 formatter: &mut std::fmt::Formatter<'_>,
1911 ) -> std::fmt::Result {
1912 write!(formatter, "expected one of: {:?}", & FIELDS)
1913 }
1914 #[allow(unused_variables)]
1915 fn visit_str<E>(
1916 self,
1917 value: &str,
1918 ) -> std::result::Result<GeneratedField, E>
1919 where
1920 E: serde::de::Error,
1921 {
1922 match value {
1923 "name" => Ok(GeneratedField::Name),
1924 _ => Ok(GeneratedField::__SkipField__),
1925 }
1926 }
1927 }
1928 deserializer.deserialize_identifier(GeneratedVisitor)
1929 }
1930 }
1931 struct GeneratedVisitor;
1932 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
1933 type Value = ConfirmPaymentMethodSetupRequest;
1934 fn expecting(
1935 &self,
1936 formatter: &mut std::fmt::Formatter<'_>,
1937 ) -> std::fmt::Result {
1938 formatter
1939 .write_str(
1940 "struct origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
1941 )
1942 }
1943 fn visit_map<V>(
1944 self,
1945 mut map_: V,
1946 ) -> std::result::Result<ConfirmPaymentMethodSetupRequest, V::Error>
1947 where
1948 V: serde::de::MapAccess<'de>,
1949 {
1950 let mut name__ = None;
1951 while let Some(k) = map_.next_key()? {
1952 match k {
1953 GeneratedField::Name => {
1954 if name__.is_some() {
1955 return Err(serde::de::Error::duplicate_field("name"));
1956 }
1957 name__ = Some(map_.next_value()?);
1958 }
1959 GeneratedField::__SkipField__ => {
1960 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
1961 }
1962 }
1963 }
1964 Ok(ConfirmPaymentMethodSetupRequest {
1965 name: name__.unwrap_or_default(),
1966 })
1967 }
1968 }
1969 deserializer
1970 .deserialize_struct(
1971 "origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
1972 FIELDS,
1973 GeneratedVisitor,
1974 )
1975 }
1976}
1977impl serde::Serialize for CostBucket {
1978 #[allow(deprecated)]
1979 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
1980 where
1981 S: serde::Serializer,
1982 {
1983 use serde::ser::SerializeStruct;
1984 let mut len = 0;
1985 if self.start_time.is_some() {
1986 len += 1;
1987 }
1988 if !self.amount.is_empty() {
1989 len += 1;
1990 }
1991 let mut struct_ser = serializer
1992 .serialize_struct("origincloud.billing.v1beta1.CostBucket", len)?;
1993 if let Some(v) = self.start_time.as_ref() {
1994 struct_ser.serialize_field("startTime", v)?;
1995 }
1996 if !self.amount.is_empty() {
1997 struct_ser.serialize_field("amount", &self.amount)?;
1998 }
1999 struct_ser.end()
2000 }
2001}
2002impl<'de> serde::Deserialize<'de> for CostBucket {
2003 #[allow(deprecated)]
2004 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2005 where
2006 D: serde::Deserializer<'de>,
2007 {
2008 const FIELDS: &[&str] = &["start_time", "startTime", "amount"];
2009 #[allow(clippy::enum_variant_names)]
2010 enum GeneratedField {
2011 StartTime,
2012 Amount,
2013 __SkipField__,
2014 }
2015 impl<'de> serde::Deserialize<'de> for GeneratedField {
2016 fn deserialize<D>(
2017 deserializer: D,
2018 ) -> std::result::Result<GeneratedField, D::Error>
2019 where
2020 D: serde::Deserializer<'de>,
2021 {
2022 struct GeneratedVisitor;
2023 impl serde::de::Visitor<'_> for GeneratedVisitor {
2024 type Value = GeneratedField;
2025 fn expecting(
2026 &self,
2027 formatter: &mut std::fmt::Formatter<'_>,
2028 ) -> std::fmt::Result {
2029 write!(formatter, "expected one of: {:?}", & FIELDS)
2030 }
2031 #[allow(unused_variables)]
2032 fn visit_str<E>(
2033 self,
2034 value: &str,
2035 ) -> std::result::Result<GeneratedField, E>
2036 where
2037 E: serde::de::Error,
2038 {
2039 match value {
2040 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
2041 "amount" => Ok(GeneratedField::Amount),
2042 _ => Ok(GeneratedField::__SkipField__),
2043 }
2044 }
2045 }
2046 deserializer.deserialize_identifier(GeneratedVisitor)
2047 }
2048 }
2049 struct GeneratedVisitor;
2050 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2051 type Value = CostBucket;
2052 fn expecting(
2053 &self,
2054 formatter: &mut std::fmt::Formatter<'_>,
2055 ) -> std::fmt::Result {
2056 formatter.write_str("struct origincloud.billing.v1beta1.CostBucket")
2057 }
2058 fn visit_map<V>(
2059 self,
2060 mut map_: V,
2061 ) -> std::result::Result<CostBucket, V::Error>
2062 where
2063 V: serde::de::MapAccess<'de>,
2064 {
2065 let mut start_time__ = None;
2066 let mut amount__ = None;
2067 while let Some(k) = map_.next_key()? {
2068 match k {
2069 GeneratedField::StartTime => {
2070 if start_time__.is_some() {
2071 return Err(serde::de::Error::duplicate_field("startTime"));
2072 }
2073 start_time__ = map_.next_value()?;
2074 }
2075 GeneratedField::Amount => {
2076 if amount__.is_some() {
2077 return Err(serde::de::Error::duplicate_field("amount"));
2078 }
2079 amount__ = Some(map_.next_value()?);
2080 }
2081 GeneratedField::__SkipField__ => {
2082 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2083 }
2084 }
2085 }
2086 Ok(CostBucket {
2087 start_time: start_time__,
2088 amount: amount__.unwrap_or_default(),
2089 })
2090 }
2091 }
2092 deserializer
2093 .deserialize_struct(
2094 "origincloud.billing.v1beta1.CostBucket",
2095 FIELDS,
2096 GeneratedVisitor,
2097 )
2098 }
2099}
2100impl serde::Serialize for CostReport {
2101 #[allow(deprecated)]
2102 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2103 where
2104 S: serde::Serializer,
2105 {
2106 use serde::ser::SerializeStruct;
2107 let mut len = 0;
2108 if !self.total.is_empty() {
2109 len += 1;
2110 }
2111 if !self.services.is_empty() {
2112 len += 1;
2113 }
2114 let mut struct_ser = serializer
2115 .serialize_struct("origincloud.billing.v1beta1.CostReport", len)?;
2116 if !self.total.is_empty() {
2117 struct_ser.serialize_field("total", &self.total)?;
2118 }
2119 if !self.services.is_empty() {
2120 struct_ser.serialize_field("services", &self.services)?;
2121 }
2122 struct_ser.end()
2123 }
2124}
2125impl<'de> serde::Deserialize<'de> for CostReport {
2126 #[allow(deprecated)]
2127 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2128 where
2129 D: serde::Deserializer<'de>,
2130 {
2131 const FIELDS: &[&str] = &["total", "services"];
2132 #[allow(clippy::enum_variant_names)]
2133 enum GeneratedField {
2134 Total,
2135 Services,
2136 __SkipField__,
2137 }
2138 impl<'de> serde::Deserialize<'de> for GeneratedField {
2139 fn deserialize<D>(
2140 deserializer: D,
2141 ) -> std::result::Result<GeneratedField, D::Error>
2142 where
2143 D: serde::Deserializer<'de>,
2144 {
2145 struct GeneratedVisitor;
2146 impl serde::de::Visitor<'_> for GeneratedVisitor {
2147 type Value = GeneratedField;
2148 fn expecting(
2149 &self,
2150 formatter: &mut std::fmt::Formatter<'_>,
2151 ) -> std::fmt::Result {
2152 write!(formatter, "expected one of: {:?}", & FIELDS)
2153 }
2154 #[allow(unused_variables)]
2155 fn visit_str<E>(
2156 self,
2157 value: &str,
2158 ) -> std::result::Result<GeneratedField, E>
2159 where
2160 E: serde::de::Error,
2161 {
2162 match value {
2163 "total" => Ok(GeneratedField::Total),
2164 "services" => Ok(GeneratedField::Services),
2165 _ => Ok(GeneratedField::__SkipField__),
2166 }
2167 }
2168 }
2169 deserializer.deserialize_identifier(GeneratedVisitor)
2170 }
2171 }
2172 struct GeneratedVisitor;
2173 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2174 type Value = CostReport;
2175 fn expecting(
2176 &self,
2177 formatter: &mut std::fmt::Formatter<'_>,
2178 ) -> std::fmt::Result {
2179 formatter.write_str("struct origincloud.billing.v1beta1.CostReport")
2180 }
2181 fn visit_map<V>(
2182 self,
2183 mut map_: V,
2184 ) -> std::result::Result<CostReport, V::Error>
2185 where
2186 V: serde::de::MapAccess<'de>,
2187 {
2188 let mut total__ = None;
2189 let mut services__ = None;
2190 while let Some(k) = map_.next_key()? {
2191 match k {
2192 GeneratedField::Total => {
2193 if total__.is_some() {
2194 return Err(serde::de::Error::duplicate_field("total"));
2195 }
2196 total__ = Some(map_.next_value()?);
2197 }
2198 GeneratedField::Services => {
2199 if services__.is_some() {
2200 return Err(serde::de::Error::duplicate_field("services"));
2201 }
2202 services__ = Some(map_.next_value()?);
2203 }
2204 GeneratedField::__SkipField__ => {
2205 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2206 }
2207 }
2208 }
2209 Ok(CostReport {
2210 total: total__.unwrap_or_default(),
2211 services: services__.unwrap_or_default(),
2212 })
2213 }
2214 }
2215 deserializer
2216 .deserialize_struct(
2217 "origincloud.billing.v1beta1.CostReport",
2218 FIELDS,
2219 GeneratedVisitor,
2220 )
2221 }
2222}
2223impl serde::Serialize for CreateBillingAccountRequest {
2224 #[allow(deprecated)]
2225 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2226 where
2227 S: serde::Serializer,
2228 {
2229 use serde::ser::SerializeStruct;
2230 let mut len = 0;
2231 if !self.parent.is_empty() {
2232 len += 1;
2233 }
2234 if self.billing_account.is_some() {
2235 len += 1;
2236 }
2237 if !self.request_id.is_empty() {
2238 len += 1;
2239 }
2240 if !self.accepted_legal_documents.is_empty() {
2241 len += 1;
2242 }
2243 if self.acts_as_business {
2244 len += 1;
2245 }
2246 let mut struct_ser = serializer
2247 .serialize_struct(
2248 "origincloud.billing.v1beta1.CreateBillingAccountRequest",
2249 len,
2250 )?;
2251 if !self.parent.is_empty() {
2252 struct_ser.serialize_field("parent", &self.parent)?;
2253 }
2254 if let Some(v) = self.billing_account.as_ref() {
2255 struct_ser.serialize_field("billingAccount", v)?;
2256 }
2257 if !self.request_id.is_empty() {
2258 struct_ser.serialize_field("requestId", &self.request_id)?;
2259 }
2260 if !self.accepted_legal_documents.is_empty() {
2261 struct_ser
2262 .serialize_field(
2263 "acceptedLegalDocuments",
2264 &self.accepted_legal_documents,
2265 )?;
2266 }
2267 if self.acts_as_business {
2268 struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
2269 }
2270 struct_ser.end()
2271 }
2272}
2273impl<'de> serde::Deserialize<'de> for CreateBillingAccountRequest {
2274 #[allow(deprecated)]
2275 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2276 where
2277 D: serde::Deserializer<'de>,
2278 {
2279 const FIELDS: &[&str] = &[
2280 "parent",
2281 "billing_account",
2282 "billingAccount",
2283 "request_id",
2284 "requestId",
2285 "accepted_legal_documents",
2286 "acceptedLegalDocuments",
2287 "acts_as_business",
2288 "actsAsBusiness",
2289 ];
2290 #[allow(clippy::enum_variant_names)]
2291 enum GeneratedField {
2292 Parent,
2293 BillingAccount,
2294 RequestId,
2295 AcceptedLegalDocuments,
2296 ActsAsBusiness,
2297 __SkipField__,
2298 }
2299 impl<'de> serde::Deserialize<'de> for GeneratedField {
2300 fn deserialize<D>(
2301 deserializer: D,
2302 ) -> std::result::Result<GeneratedField, D::Error>
2303 where
2304 D: serde::Deserializer<'de>,
2305 {
2306 struct GeneratedVisitor;
2307 impl serde::de::Visitor<'_> for GeneratedVisitor {
2308 type Value = GeneratedField;
2309 fn expecting(
2310 &self,
2311 formatter: &mut std::fmt::Formatter<'_>,
2312 ) -> std::fmt::Result {
2313 write!(formatter, "expected one of: {:?}", & FIELDS)
2314 }
2315 #[allow(unused_variables)]
2316 fn visit_str<E>(
2317 self,
2318 value: &str,
2319 ) -> std::result::Result<GeneratedField, E>
2320 where
2321 E: serde::de::Error,
2322 {
2323 match value {
2324 "parent" => Ok(GeneratedField::Parent),
2325 "billingAccount" | "billing_account" => {
2326 Ok(GeneratedField::BillingAccount)
2327 }
2328 "requestId" | "request_id" => Ok(GeneratedField::RequestId),
2329 "acceptedLegalDocuments" | "accepted_legal_documents" => {
2330 Ok(GeneratedField::AcceptedLegalDocuments)
2331 }
2332 "actsAsBusiness" | "acts_as_business" => {
2333 Ok(GeneratedField::ActsAsBusiness)
2334 }
2335 _ => Ok(GeneratedField::__SkipField__),
2336 }
2337 }
2338 }
2339 deserializer.deserialize_identifier(GeneratedVisitor)
2340 }
2341 }
2342 struct GeneratedVisitor;
2343 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2344 type Value = CreateBillingAccountRequest;
2345 fn expecting(
2346 &self,
2347 formatter: &mut std::fmt::Formatter<'_>,
2348 ) -> std::fmt::Result {
2349 formatter
2350 .write_str(
2351 "struct origincloud.billing.v1beta1.CreateBillingAccountRequest",
2352 )
2353 }
2354 fn visit_map<V>(
2355 self,
2356 mut map_: V,
2357 ) -> std::result::Result<CreateBillingAccountRequest, V::Error>
2358 where
2359 V: serde::de::MapAccess<'de>,
2360 {
2361 let mut parent__ = None;
2362 let mut billing_account__ = None;
2363 let mut request_id__ = None;
2364 let mut accepted_legal_documents__ = None;
2365 let mut acts_as_business__ = None;
2366 while let Some(k) = map_.next_key()? {
2367 match k {
2368 GeneratedField::Parent => {
2369 if parent__.is_some() {
2370 return Err(serde::de::Error::duplicate_field("parent"));
2371 }
2372 parent__ = Some(map_.next_value()?);
2373 }
2374 GeneratedField::BillingAccount => {
2375 if billing_account__.is_some() {
2376 return Err(
2377 serde::de::Error::duplicate_field("billingAccount"),
2378 );
2379 }
2380 billing_account__ = map_.next_value()?;
2381 }
2382 GeneratedField::RequestId => {
2383 if request_id__.is_some() {
2384 return Err(serde::de::Error::duplicate_field("requestId"));
2385 }
2386 request_id__ = Some(map_.next_value()?);
2387 }
2388 GeneratedField::AcceptedLegalDocuments => {
2389 if accepted_legal_documents__.is_some() {
2390 return Err(
2391 serde::de::Error::duplicate_field("acceptedLegalDocuments"),
2392 );
2393 }
2394 accepted_legal_documents__ = Some(map_.next_value()?);
2395 }
2396 GeneratedField::ActsAsBusiness => {
2397 if acts_as_business__.is_some() {
2398 return Err(
2399 serde::de::Error::duplicate_field("actsAsBusiness"),
2400 );
2401 }
2402 acts_as_business__ = Some(map_.next_value()?);
2403 }
2404 GeneratedField::__SkipField__ => {
2405 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2406 }
2407 }
2408 }
2409 Ok(CreateBillingAccountRequest {
2410 parent: parent__.unwrap_or_default(),
2411 billing_account: billing_account__,
2412 request_id: request_id__.unwrap_or_default(),
2413 accepted_legal_documents: accepted_legal_documents__
2414 .unwrap_or_default(),
2415 acts_as_business: acts_as_business__.unwrap_or_default(),
2416 })
2417 }
2418 }
2419 deserializer
2420 .deserialize_struct(
2421 "origincloud.billing.v1beta1.CreateBillingAccountRequest",
2422 FIELDS,
2423 GeneratedVisitor,
2424 )
2425 }
2426}
2427impl serde::Serialize for DeleteBillingAccountRequest {
2428 #[allow(deprecated)]
2429 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2430 where
2431 S: serde::Serializer,
2432 {
2433 use serde::ser::SerializeStruct;
2434 let mut len = 0;
2435 if !self.name.is_empty() {
2436 len += 1;
2437 }
2438 let mut struct_ser = serializer
2439 .serialize_struct(
2440 "origincloud.billing.v1beta1.DeleteBillingAccountRequest",
2441 len,
2442 )?;
2443 if !self.name.is_empty() {
2444 struct_ser.serialize_field("name", &self.name)?;
2445 }
2446 struct_ser.end()
2447 }
2448}
2449impl<'de> serde::Deserialize<'de> for DeleteBillingAccountRequest {
2450 #[allow(deprecated)]
2451 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2452 where
2453 D: serde::Deserializer<'de>,
2454 {
2455 const FIELDS: &[&str] = &["name"];
2456 #[allow(clippy::enum_variant_names)]
2457 enum GeneratedField {
2458 Name,
2459 __SkipField__,
2460 }
2461 impl<'de> serde::Deserialize<'de> for GeneratedField {
2462 fn deserialize<D>(
2463 deserializer: D,
2464 ) -> std::result::Result<GeneratedField, D::Error>
2465 where
2466 D: serde::Deserializer<'de>,
2467 {
2468 struct GeneratedVisitor;
2469 impl serde::de::Visitor<'_> for GeneratedVisitor {
2470 type Value = GeneratedField;
2471 fn expecting(
2472 &self,
2473 formatter: &mut std::fmt::Formatter<'_>,
2474 ) -> std::fmt::Result {
2475 write!(formatter, "expected one of: {:?}", & FIELDS)
2476 }
2477 #[allow(unused_variables)]
2478 fn visit_str<E>(
2479 self,
2480 value: &str,
2481 ) -> std::result::Result<GeneratedField, E>
2482 where
2483 E: serde::de::Error,
2484 {
2485 match value {
2486 "name" => Ok(GeneratedField::Name),
2487 _ => Ok(GeneratedField::__SkipField__),
2488 }
2489 }
2490 }
2491 deserializer.deserialize_identifier(GeneratedVisitor)
2492 }
2493 }
2494 struct GeneratedVisitor;
2495 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2496 type Value = DeleteBillingAccountRequest;
2497 fn expecting(
2498 &self,
2499 formatter: &mut std::fmt::Formatter<'_>,
2500 ) -> std::fmt::Result {
2501 formatter
2502 .write_str(
2503 "struct origincloud.billing.v1beta1.DeleteBillingAccountRequest",
2504 )
2505 }
2506 fn visit_map<V>(
2507 self,
2508 mut map_: V,
2509 ) -> std::result::Result<DeleteBillingAccountRequest, V::Error>
2510 where
2511 V: serde::de::MapAccess<'de>,
2512 {
2513 let mut name__ = None;
2514 while let Some(k) = map_.next_key()? {
2515 match k {
2516 GeneratedField::Name => {
2517 if name__.is_some() {
2518 return Err(serde::de::Error::duplicate_field("name"));
2519 }
2520 name__ = Some(map_.next_value()?);
2521 }
2522 GeneratedField::__SkipField__ => {
2523 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2524 }
2525 }
2526 }
2527 Ok(DeleteBillingAccountRequest {
2528 name: name__.unwrap_or_default(),
2529 })
2530 }
2531 }
2532 deserializer
2533 .deserialize_struct(
2534 "origincloud.billing.v1beta1.DeleteBillingAccountRequest",
2535 FIELDS,
2536 GeneratedVisitor,
2537 )
2538 }
2539}
2540impl serde::Serialize for DownloadLegalDocumentVersionRequest {
2541 #[allow(deprecated)]
2542 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2543 where
2544 S: serde::Serializer,
2545 {
2546 use serde::ser::SerializeStruct;
2547 let mut len = 0;
2548 if !self.name.is_empty() {
2549 len += 1;
2550 }
2551 let mut struct_ser = serializer
2552 .serialize_struct(
2553 "origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
2554 len,
2555 )?;
2556 if !self.name.is_empty() {
2557 struct_ser.serialize_field("name", &self.name)?;
2558 }
2559 struct_ser.end()
2560 }
2561}
2562impl<'de> serde::Deserialize<'de> for DownloadLegalDocumentVersionRequest {
2563 #[allow(deprecated)]
2564 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2565 where
2566 D: serde::Deserializer<'de>,
2567 {
2568 const FIELDS: &[&str] = &["name"];
2569 #[allow(clippy::enum_variant_names)]
2570 enum GeneratedField {
2571 Name,
2572 __SkipField__,
2573 }
2574 impl<'de> serde::Deserialize<'de> for GeneratedField {
2575 fn deserialize<D>(
2576 deserializer: D,
2577 ) -> std::result::Result<GeneratedField, D::Error>
2578 where
2579 D: serde::Deserializer<'de>,
2580 {
2581 struct GeneratedVisitor;
2582 impl serde::de::Visitor<'_> for GeneratedVisitor {
2583 type Value = GeneratedField;
2584 fn expecting(
2585 &self,
2586 formatter: &mut std::fmt::Formatter<'_>,
2587 ) -> std::fmt::Result {
2588 write!(formatter, "expected one of: {:?}", & FIELDS)
2589 }
2590 #[allow(unused_variables)]
2591 fn visit_str<E>(
2592 self,
2593 value: &str,
2594 ) -> std::result::Result<GeneratedField, E>
2595 where
2596 E: serde::de::Error,
2597 {
2598 match value {
2599 "name" => Ok(GeneratedField::Name),
2600 _ => Ok(GeneratedField::__SkipField__),
2601 }
2602 }
2603 }
2604 deserializer.deserialize_identifier(GeneratedVisitor)
2605 }
2606 }
2607 struct GeneratedVisitor;
2608 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2609 type Value = DownloadLegalDocumentVersionRequest;
2610 fn expecting(
2611 &self,
2612 formatter: &mut std::fmt::Formatter<'_>,
2613 ) -> std::fmt::Result {
2614 formatter
2615 .write_str(
2616 "struct origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
2617 )
2618 }
2619 fn visit_map<V>(
2620 self,
2621 mut map_: V,
2622 ) -> std::result::Result<DownloadLegalDocumentVersionRequest, V::Error>
2623 where
2624 V: serde::de::MapAccess<'de>,
2625 {
2626 let mut name__ = None;
2627 while let Some(k) = map_.next_key()? {
2628 match k {
2629 GeneratedField::Name => {
2630 if name__.is_some() {
2631 return Err(serde::de::Error::duplicate_field("name"));
2632 }
2633 name__ = Some(map_.next_value()?);
2634 }
2635 GeneratedField::__SkipField__ => {
2636 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2637 }
2638 }
2639 }
2640 Ok(DownloadLegalDocumentVersionRequest {
2641 name: name__.unwrap_or_default(),
2642 })
2643 }
2644 }
2645 deserializer
2646 .deserialize_struct(
2647 "origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
2648 FIELDS,
2649 GeneratedVisitor,
2650 )
2651 }
2652}
2653impl serde::Serialize for GetBillingAccountRequest {
2654 #[allow(deprecated)]
2655 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2656 where
2657 S: serde::Serializer,
2658 {
2659 use serde::ser::SerializeStruct;
2660 let mut len = 0;
2661 if !self.name.is_empty() {
2662 len += 1;
2663 }
2664 let mut struct_ser = serializer
2665 .serialize_struct(
2666 "origincloud.billing.v1beta1.GetBillingAccountRequest",
2667 len,
2668 )?;
2669 if !self.name.is_empty() {
2670 struct_ser.serialize_field("name", &self.name)?;
2671 }
2672 struct_ser.end()
2673 }
2674}
2675impl<'de> serde::Deserialize<'de> for GetBillingAccountRequest {
2676 #[allow(deprecated)]
2677 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2678 where
2679 D: serde::Deserializer<'de>,
2680 {
2681 const FIELDS: &[&str] = &["name"];
2682 #[allow(clippy::enum_variant_names)]
2683 enum GeneratedField {
2684 Name,
2685 __SkipField__,
2686 }
2687 impl<'de> serde::Deserialize<'de> for GeneratedField {
2688 fn deserialize<D>(
2689 deserializer: D,
2690 ) -> std::result::Result<GeneratedField, D::Error>
2691 where
2692 D: serde::Deserializer<'de>,
2693 {
2694 struct GeneratedVisitor;
2695 impl serde::de::Visitor<'_> for GeneratedVisitor {
2696 type Value = GeneratedField;
2697 fn expecting(
2698 &self,
2699 formatter: &mut std::fmt::Formatter<'_>,
2700 ) -> std::fmt::Result {
2701 write!(formatter, "expected one of: {:?}", & FIELDS)
2702 }
2703 #[allow(unused_variables)]
2704 fn visit_str<E>(
2705 self,
2706 value: &str,
2707 ) -> std::result::Result<GeneratedField, E>
2708 where
2709 E: serde::de::Error,
2710 {
2711 match value {
2712 "name" => Ok(GeneratedField::Name),
2713 _ => Ok(GeneratedField::__SkipField__),
2714 }
2715 }
2716 }
2717 deserializer.deserialize_identifier(GeneratedVisitor)
2718 }
2719 }
2720 struct GeneratedVisitor;
2721 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2722 type Value = GetBillingAccountRequest;
2723 fn expecting(
2724 &self,
2725 formatter: &mut std::fmt::Formatter<'_>,
2726 ) -> std::fmt::Result {
2727 formatter
2728 .write_str(
2729 "struct origincloud.billing.v1beta1.GetBillingAccountRequest",
2730 )
2731 }
2732 fn visit_map<V>(
2733 self,
2734 mut map_: V,
2735 ) -> std::result::Result<GetBillingAccountRequest, V::Error>
2736 where
2737 V: serde::de::MapAccess<'de>,
2738 {
2739 let mut name__ = None;
2740 while let Some(k) = map_.next_key()? {
2741 match k {
2742 GeneratedField::Name => {
2743 if name__.is_some() {
2744 return Err(serde::de::Error::duplicate_field("name"));
2745 }
2746 name__ = Some(map_.next_value()?);
2747 }
2748 GeneratedField::__SkipField__ => {
2749 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2750 }
2751 }
2752 }
2753 Ok(GetBillingAccountRequest {
2754 name: name__.unwrap_or_default(),
2755 })
2756 }
2757 }
2758 deserializer
2759 .deserialize_struct(
2760 "origincloud.billing.v1beta1.GetBillingAccountRequest",
2761 FIELDS,
2762 GeneratedVisitor,
2763 )
2764 }
2765}
2766impl serde::Serialize for GetBillingCountryRequest {
2767 #[allow(deprecated)]
2768 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2769 where
2770 S: serde::Serializer,
2771 {
2772 use serde::ser::SerializeStruct;
2773 let mut len = 0;
2774 if !self.name.is_empty() {
2775 len += 1;
2776 }
2777 let mut struct_ser = serializer
2778 .serialize_struct(
2779 "origincloud.billing.v1beta1.GetBillingCountryRequest",
2780 len,
2781 )?;
2782 if !self.name.is_empty() {
2783 struct_ser.serialize_field("name", &self.name)?;
2784 }
2785 struct_ser.end()
2786 }
2787}
2788impl<'de> serde::Deserialize<'de> for GetBillingCountryRequest {
2789 #[allow(deprecated)]
2790 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2791 where
2792 D: serde::Deserializer<'de>,
2793 {
2794 const FIELDS: &[&str] = &["name"];
2795 #[allow(clippy::enum_variant_names)]
2796 enum GeneratedField {
2797 Name,
2798 __SkipField__,
2799 }
2800 impl<'de> serde::Deserialize<'de> for GeneratedField {
2801 fn deserialize<D>(
2802 deserializer: D,
2803 ) -> std::result::Result<GeneratedField, D::Error>
2804 where
2805 D: serde::Deserializer<'de>,
2806 {
2807 struct GeneratedVisitor;
2808 impl serde::de::Visitor<'_> for GeneratedVisitor {
2809 type Value = GeneratedField;
2810 fn expecting(
2811 &self,
2812 formatter: &mut std::fmt::Formatter<'_>,
2813 ) -> std::fmt::Result {
2814 write!(formatter, "expected one of: {:?}", & FIELDS)
2815 }
2816 #[allow(unused_variables)]
2817 fn visit_str<E>(
2818 self,
2819 value: &str,
2820 ) -> std::result::Result<GeneratedField, E>
2821 where
2822 E: serde::de::Error,
2823 {
2824 match value {
2825 "name" => Ok(GeneratedField::Name),
2826 _ => Ok(GeneratedField::__SkipField__),
2827 }
2828 }
2829 }
2830 deserializer.deserialize_identifier(GeneratedVisitor)
2831 }
2832 }
2833 struct GeneratedVisitor;
2834 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2835 type Value = GetBillingCountryRequest;
2836 fn expecting(
2837 &self,
2838 formatter: &mut std::fmt::Formatter<'_>,
2839 ) -> std::fmt::Result {
2840 formatter
2841 .write_str(
2842 "struct origincloud.billing.v1beta1.GetBillingCountryRequest",
2843 )
2844 }
2845 fn visit_map<V>(
2846 self,
2847 mut map_: V,
2848 ) -> std::result::Result<GetBillingCountryRequest, V::Error>
2849 where
2850 V: serde::de::MapAccess<'de>,
2851 {
2852 let mut name__ = None;
2853 while let Some(k) = map_.next_key()? {
2854 match k {
2855 GeneratedField::Name => {
2856 if name__.is_some() {
2857 return Err(serde::de::Error::duplicate_field("name"));
2858 }
2859 name__ = Some(map_.next_value()?);
2860 }
2861 GeneratedField::__SkipField__ => {
2862 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2863 }
2864 }
2865 }
2866 Ok(GetBillingCountryRequest {
2867 name: name__.unwrap_or_default(),
2868 })
2869 }
2870 }
2871 deserializer
2872 .deserialize_struct(
2873 "origincloud.billing.v1beta1.GetBillingCountryRequest",
2874 FIELDS,
2875 GeneratedVisitor,
2876 )
2877 }
2878}
2879impl serde::Serialize for GetLegalAcceptanceRequest {
2880 #[allow(deprecated)]
2881 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2882 where
2883 S: serde::Serializer,
2884 {
2885 use serde::ser::SerializeStruct;
2886 let mut len = 0;
2887 if !self.name.is_empty() {
2888 len += 1;
2889 }
2890 let mut struct_ser = serializer
2891 .serialize_struct(
2892 "origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
2893 len,
2894 )?;
2895 if !self.name.is_empty() {
2896 struct_ser.serialize_field("name", &self.name)?;
2897 }
2898 struct_ser.end()
2899 }
2900}
2901impl<'de> serde::Deserialize<'de> for GetLegalAcceptanceRequest {
2902 #[allow(deprecated)]
2903 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
2904 where
2905 D: serde::Deserializer<'de>,
2906 {
2907 const FIELDS: &[&str] = &["name"];
2908 #[allow(clippy::enum_variant_names)]
2909 enum GeneratedField {
2910 Name,
2911 __SkipField__,
2912 }
2913 impl<'de> serde::Deserialize<'de> for GeneratedField {
2914 fn deserialize<D>(
2915 deserializer: D,
2916 ) -> std::result::Result<GeneratedField, D::Error>
2917 where
2918 D: serde::Deserializer<'de>,
2919 {
2920 struct GeneratedVisitor;
2921 impl serde::de::Visitor<'_> for GeneratedVisitor {
2922 type Value = GeneratedField;
2923 fn expecting(
2924 &self,
2925 formatter: &mut std::fmt::Formatter<'_>,
2926 ) -> std::fmt::Result {
2927 write!(formatter, "expected one of: {:?}", & FIELDS)
2928 }
2929 #[allow(unused_variables)]
2930 fn visit_str<E>(
2931 self,
2932 value: &str,
2933 ) -> std::result::Result<GeneratedField, E>
2934 where
2935 E: serde::de::Error,
2936 {
2937 match value {
2938 "name" => Ok(GeneratedField::Name),
2939 _ => Ok(GeneratedField::__SkipField__),
2940 }
2941 }
2942 }
2943 deserializer.deserialize_identifier(GeneratedVisitor)
2944 }
2945 }
2946 struct GeneratedVisitor;
2947 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
2948 type Value = GetLegalAcceptanceRequest;
2949 fn expecting(
2950 &self,
2951 formatter: &mut std::fmt::Formatter<'_>,
2952 ) -> std::fmt::Result {
2953 formatter
2954 .write_str(
2955 "struct origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
2956 )
2957 }
2958 fn visit_map<V>(
2959 self,
2960 mut map_: V,
2961 ) -> std::result::Result<GetLegalAcceptanceRequest, V::Error>
2962 where
2963 V: serde::de::MapAccess<'de>,
2964 {
2965 let mut name__ = None;
2966 while let Some(k) = map_.next_key()? {
2967 match k {
2968 GeneratedField::Name => {
2969 if name__.is_some() {
2970 return Err(serde::de::Error::duplicate_field("name"));
2971 }
2972 name__ = Some(map_.next_value()?);
2973 }
2974 GeneratedField::__SkipField__ => {
2975 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
2976 }
2977 }
2978 }
2979 Ok(GetLegalAcceptanceRequest {
2980 name: name__.unwrap_or_default(),
2981 })
2982 }
2983 }
2984 deserializer
2985 .deserialize_struct(
2986 "origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
2987 FIELDS,
2988 GeneratedVisitor,
2989 )
2990 }
2991}
2992impl serde::Serialize for GetLegalDocumentRequest {
2993 #[allow(deprecated)]
2994 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
2995 where
2996 S: serde::Serializer,
2997 {
2998 use serde::ser::SerializeStruct;
2999 let mut len = 0;
3000 if !self.name.is_empty() {
3001 len += 1;
3002 }
3003 let mut struct_ser = serializer
3004 .serialize_struct(
3005 "origincloud.billing.v1beta1.GetLegalDocumentRequest",
3006 len,
3007 )?;
3008 if !self.name.is_empty() {
3009 struct_ser.serialize_field("name", &self.name)?;
3010 }
3011 struct_ser.end()
3012 }
3013}
3014impl<'de> serde::Deserialize<'de> for GetLegalDocumentRequest {
3015 #[allow(deprecated)]
3016 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3017 where
3018 D: serde::Deserializer<'de>,
3019 {
3020 const FIELDS: &[&str] = &["name"];
3021 #[allow(clippy::enum_variant_names)]
3022 enum GeneratedField {
3023 Name,
3024 __SkipField__,
3025 }
3026 impl<'de> serde::Deserialize<'de> for GeneratedField {
3027 fn deserialize<D>(
3028 deserializer: D,
3029 ) -> std::result::Result<GeneratedField, D::Error>
3030 where
3031 D: serde::Deserializer<'de>,
3032 {
3033 struct GeneratedVisitor;
3034 impl serde::de::Visitor<'_> for GeneratedVisitor {
3035 type Value = GeneratedField;
3036 fn expecting(
3037 &self,
3038 formatter: &mut std::fmt::Formatter<'_>,
3039 ) -> std::fmt::Result {
3040 write!(formatter, "expected one of: {:?}", & FIELDS)
3041 }
3042 #[allow(unused_variables)]
3043 fn visit_str<E>(
3044 self,
3045 value: &str,
3046 ) -> std::result::Result<GeneratedField, E>
3047 where
3048 E: serde::de::Error,
3049 {
3050 match value {
3051 "name" => Ok(GeneratedField::Name),
3052 _ => Ok(GeneratedField::__SkipField__),
3053 }
3054 }
3055 }
3056 deserializer.deserialize_identifier(GeneratedVisitor)
3057 }
3058 }
3059 struct GeneratedVisitor;
3060 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3061 type Value = GetLegalDocumentRequest;
3062 fn expecting(
3063 &self,
3064 formatter: &mut std::fmt::Formatter<'_>,
3065 ) -> std::fmt::Result {
3066 formatter
3067 .write_str(
3068 "struct origincloud.billing.v1beta1.GetLegalDocumentRequest",
3069 )
3070 }
3071 fn visit_map<V>(
3072 self,
3073 mut map_: V,
3074 ) -> std::result::Result<GetLegalDocumentRequest, V::Error>
3075 where
3076 V: serde::de::MapAccess<'de>,
3077 {
3078 let mut name__ = None;
3079 while let Some(k) = map_.next_key()? {
3080 match k {
3081 GeneratedField::Name => {
3082 if name__.is_some() {
3083 return Err(serde::de::Error::duplicate_field("name"));
3084 }
3085 name__ = Some(map_.next_value()?);
3086 }
3087 GeneratedField::__SkipField__ => {
3088 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3089 }
3090 }
3091 }
3092 Ok(GetLegalDocumentRequest {
3093 name: name__.unwrap_or_default(),
3094 })
3095 }
3096 }
3097 deserializer
3098 .deserialize_struct(
3099 "origincloud.billing.v1beta1.GetLegalDocumentRequest",
3100 FIELDS,
3101 GeneratedVisitor,
3102 )
3103 }
3104}
3105impl serde::Serialize for GetLegalDocumentVersionRequest {
3106 #[allow(deprecated)]
3107 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3108 where
3109 S: serde::Serializer,
3110 {
3111 use serde::ser::SerializeStruct;
3112 let mut len = 0;
3113 if !self.name.is_empty() {
3114 len += 1;
3115 }
3116 let mut struct_ser = serializer
3117 .serialize_struct(
3118 "origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
3119 len,
3120 )?;
3121 if !self.name.is_empty() {
3122 struct_ser.serialize_field("name", &self.name)?;
3123 }
3124 struct_ser.end()
3125 }
3126}
3127impl<'de> serde::Deserialize<'de> for GetLegalDocumentVersionRequest {
3128 #[allow(deprecated)]
3129 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3130 where
3131 D: serde::Deserializer<'de>,
3132 {
3133 const FIELDS: &[&str] = &["name"];
3134 #[allow(clippy::enum_variant_names)]
3135 enum GeneratedField {
3136 Name,
3137 __SkipField__,
3138 }
3139 impl<'de> serde::Deserialize<'de> for GeneratedField {
3140 fn deserialize<D>(
3141 deserializer: D,
3142 ) -> std::result::Result<GeneratedField, D::Error>
3143 where
3144 D: serde::Deserializer<'de>,
3145 {
3146 struct GeneratedVisitor;
3147 impl serde::de::Visitor<'_> for GeneratedVisitor {
3148 type Value = GeneratedField;
3149 fn expecting(
3150 &self,
3151 formatter: &mut std::fmt::Formatter<'_>,
3152 ) -> std::fmt::Result {
3153 write!(formatter, "expected one of: {:?}", & FIELDS)
3154 }
3155 #[allow(unused_variables)]
3156 fn visit_str<E>(
3157 self,
3158 value: &str,
3159 ) -> std::result::Result<GeneratedField, E>
3160 where
3161 E: serde::de::Error,
3162 {
3163 match value {
3164 "name" => Ok(GeneratedField::Name),
3165 _ => Ok(GeneratedField::__SkipField__),
3166 }
3167 }
3168 }
3169 deserializer.deserialize_identifier(GeneratedVisitor)
3170 }
3171 }
3172 struct GeneratedVisitor;
3173 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3174 type Value = GetLegalDocumentVersionRequest;
3175 fn expecting(
3176 &self,
3177 formatter: &mut std::fmt::Formatter<'_>,
3178 ) -> std::fmt::Result {
3179 formatter
3180 .write_str(
3181 "struct origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
3182 )
3183 }
3184 fn visit_map<V>(
3185 self,
3186 mut map_: V,
3187 ) -> std::result::Result<GetLegalDocumentVersionRequest, V::Error>
3188 where
3189 V: serde::de::MapAccess<'de>,
3190 {
3191 let mut name__ = None;
3192 while let Some(k) = map_.next_key()? {
3193 match k {
3194 GeneratedField::Name => {
3195 if name__.is_some() {
3196 return Err(serde::de::Error::duplicate_field("name"));
3197 }
3198 name__ = Some(map_.next_value()?);
3199 }
3200 GeneratedField::__SkipField__ => {
3201 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3202 }
3203 }
3204 }
3205 Ok(GetLegalDocumentVersionRequest {
3206 name: name__.unwrap_or_default(),
3207 })
3208 }
3209 }
3210 deserializer
3211 .deserialize_struct(
3212 "origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
3213 FIELDS,
3214 GeneratedVisitor,
3215 )
3216 }
3217}
3218impl serde::Serialize for GetPriceListRequest {
3219 #[allow(deprecated)]
3220 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3221 where
3222 S: serde::Serializer,
3223 {
3224 use serde::ser::SerializeStruct;
3225 let len = 0;
3226 let struct_ser = serializer
3227 .serialize_struct("origincloud.billing.v1beta1.GetPriceListRequest", len)?;
3228 struct_ser.end()
3229 }
3230}
3231impl<'de> serde::Deserialize<'de> for GetPriceListRequest {
3232 #[allow(deprecated)]
3233 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3234 where
3235 D: serde::Deserializer<'de>,
3236 {
3237 const FIELDS: &[&str] = &[];
3238 #[allow(clippy::enum_variant_names)]
3239 enum GeneratedField {
3240 __SkipField__,
3241 }
3242 impl<'de> serde::Deserialize<'de> for GeneratedField {
3243 fn deserialize<D>(
3244 deserializer: D,
3245 ) -> std::result::Result<GeneratedField, D::Error>
3246 where
3247 D: serde::Deserializer<'de>,
3248 {
3249 struct GeneratedVisitor;
3250 impl serde::de::Visitor<'_> for GeneratedVisitor {
3251 type Value = GeneratedField;
3252 fn expecting(
3253 &self,
3254 formatter: &mut std::fmt::Formatter<'_>,
3255 ) -> std::fmt::Result {
3256 write!(formatter, "expected one of: {:?}", & FIELDS)
3257 }
3258 #[allow(unused_variables)]
3259 fn visit_str<E>(
3260 self,
3261 value: &str,
3262 ) -> std::result::Result<GeneratedField, E>
3263 where
3264 E: serde::de::Error,
3265 {
3266 Ok(GeneratedField::__SkipField__)
3267 }
3268 }
3269 deserializer.deserialize_identifier(GeneratedVisitor)
3270 }
3271 }
3272 struct GeneratedVisitor;
3273 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3274 type Value = GetPriceListRequest;
3275 fn expecting(
3276 &self,
3277 formatter: &mut std::fmt::Formatter<'_>,
3278 ) -> std::fmt::Result {
3279 formatter
3280 .write_str("struct origincloud.billing.v1beta1.GetPriceListRequest")
3281 }
3282 fn visit_map<V>(
3283 self,
3284 mut map_: V,
3285 ) -> std::result::Result<GetPriceListRequest, V::Error>
3286 where
3287 V: serde::de::MapAccess<'de>,
3288 {
3289 while map_.next_key::<GeneratedField>()?.is_some() {
3290 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3291 }
3292 Ok(GetPriceListRequest {})
3293 }
3294 }
3295 deserializer
3296 .deserialize_struct(
3297 "origincloud.billing.v1beta1.GetPriceListRequest",
3298 FIELDS,
3299 GeneratedVisitor,
3300 )
3301 }
3302}
3303impl serde::Serialize for GetProjectBillingInfoRequest {
3304 #[allow(deprecated)]
3305 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3306 where
3307 S: serde::Serializer,
3308 {
3309 use serde::ser::SerializeStruct;
3310 let mut len = 0;
3311 if !self.name.is_empty() {
3312 len += 1;
3313 }
3314 let mut struct_ser = serializer
3315 .serialize_struct(
3316 "origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
3317 len,
3318 )?;
3319 if !self.name.is_empty() {
3320 struct_ser.serialize_field("name", &self.name)?;
3321 }
3322 struct_ser.end()
3323 }
3324}
3325impl<'de> serde::Deserialize<'de> for GetProjectBillingInfoRequest {
3326 #[allow(deprecated)]
3327 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3328 where
3329 D: serde::Deserializer<'de>,
3330 {
3331 const FIELDS: &[&str] = &["name"];
3332 #[allow(clippy::enum_variant_names)]
3333 enum GeneratedField {
3334 Name,
3335 __SkipField__,
3336 }
3337 impl<'de> serde::Deserialize<'de> for GeneratedField {
3338 fn deserialize<D>(
3339 deserializer: D,
3340 ) -> std::result::Result<GeneratedField, D::Error>
3341 where
3342 D: serde::Deserializer<'de>,
3343 {
3344 struct GeneratedVisitor;
3345 impl serde::de::Visitor<'_> for GeneratedVisitor {
3346 type Value = GeneratedField;
3347 fn expecting(
3348 &self,
3349 formatter: &mut std::fmt::Formatter<'_>,
3350 ) -> std::fmt::Result {
3351 write!(formatter, "expected one of: {:?}", & FIELDS)
3352 }
3353 #[allow(unused_variables)]
3354 fn visit_str<E>(
3355 self,
3356 value: &str,
3357 ) -> std::result::Result<GeneratedField, E>
3358 where
3359 E: serde::de::Error,
3360 {
3361 match value {
3362 "name" => Ok(GeneratedField::Name),
3363 _ => Ok(GeneratedField::__SkipField__),
3364 }
3365 }
3366 }
3367 deserializer.deserialize_identifier(GeneratedVisitor)
3368 }
3369 }
3370 struct GeneratedVisitor;
3371 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3372 type Value = GetProjectBillingInfoRequest;
3373 fn expecting(
3374 &self,
3375 formatter: &mut std::fmt::Formatter<'_>,
3376 ) -> std::fmt::Result {
3377 formatter
3378 .write_str(
3379 "struct origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
3380 )
3381 }
3382 fn visit_map<V>(
3383 self,
3384 mut map_: V,
3385 ) -> std::result::Result<GetProjectBillingInfoRequest, V::Error>
3386 where
3387 V: serde::de::MapAccess<'de>,
3388 {
3389 let mut name__ = None;
3390 while let Some(k) = map_.next_key()? {
3391 match k {
3392 GeneratedField::Name => {
3393 if name__.is_some() {
3394 return Err(serde::de::Error::duplicate_field("name"));
3395 }
3396 name__ = Some(map_.next_value()?);
3397 }
3398 GeneratedField::__SkipField__ => {
3399 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3400 }
3401 }
3402 }
3403 Ok(GetProjectBillingInfoRequest {
3404 name: name__.unwrap_or_default(),
3405 })
3406 }
3407 }
3408 deserializer
3409 .deserialize_struct(
3410 "origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
3411 FIELDS,
3412 GeneratedVisitor,
3413 )
3414 }
3415}
3416impl serde::Serialize for GetSpendLimitRequest {
3417 #[allow(deprecated)]
3418 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3419 where
3420 S: serde::Serializer,
3421 {
3422 use serde::ser::SerializeStruct;
3423 let mut len = 0;
3424 if !self.name.is_empty() {
3425 len += 1;
3426 }
3427 let mut struct_ser = serializer
3428 .serialize_struct("origincloud.billing.v1beta1.GetSpendLimitRequest", len)?;
3429 if !self.name.is_empty() {
3430 struct_ser.serialize_field("name", &self.name)?;
3431 }
3432 struct_ser.end()
3433 }
3434}
3435impl<'de> serde::Deserialize<'de> for GetSpendLimitRequest {
3436 #[allow(deprecated)]
3437 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3438 where
3439 D: serde::Deserializer<'de>,
3440 {
3441 const FIELDS: &[&str] = &["name"];
3442 #[allow(clippy::enum_variant_names)]
3443 enum GeneratedField {
3444 Name,
3445 __SkipField__,
3446 }
3447 impl<'de> serde::Deserialize<'de> for GeneratedField {
3448 fn deserialize<D>(
3449 deserializer: D,
3450 ) -> std::result::Result<GeneratedField, D::Error>
3451 where
3452 D: serde::Deserializer<'de>,
3453 {
3454 struct GeneratedVisitor;
3455 impl serde::de::Visitor<'_> for GeneratedVisitor {
3456 type Value = GeneratedField;
3457 fn expecting(
3458 &self,
3459 formatter: &mut std::fmt::Formatter<'_>,
3460 ) -> std::fmt::Result {
3461 write!(formatter, "expected one of: {:?}", & FIELDS)
3462 }
3463 #[allow(unused_variables)]
3464 fn visit_str<E>(
3465 self,
3466 value: &str,
3467 ) -> std::result::Result<GeneratedField, E>
3468 where
3469 E: serde::de::Error,
3470 {
3471 match value {
3472 "name" => Ok(GeneratedField::Name),
3473 _ => Ok(GeneratedField::__SkipField__),
3474 }
3475 }
3476 }
3477 deserializer.deserialize_identifier(GeneratedVisitor)
3478 }
3479 }
3480 struct GeneratedVisitor;
3481 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3482 type Value = GetSpendLimitRequest;
3483 fn expecting(
3484 &self,
3485 formatter: &mut std::fmt::Formatter<'_>,
3486 ) -> std::fmt::Result {
3487 formatter
3488 .write_str("struct origincloud.billing.v1beta1.GetSpendLimitRequest")
3489 }
3490 fn visit_map<V>(
3491 self,
3492 mut map_: V,
3493 ) -> std::result::Result<GetSpendLimitRequest, V::Error>
3494 where
3495 V: serde::de::MapAccess<'de>,
3496 {
3497 let mut name__ = None;
3498 while let Some(k) = map_.next_key()? {
3499 match k {
3500 GeneratedField::Name => {
3501 if name__.is_some() {
3502 return Err(serde::de::Error::duplicate_field("name"));
3503 }
3504 name__ = Some(map_.next_value()?);
3505 }
3506 GeneratedField::__SkipField__ => {
3507 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3508 }
3509 }
3510 }
3511 Ok(GetSpendLimitRequest {
3512 name: name__.unwrap_or_default(),
3513 })
3514 }
3515 }
3516 deserializer
3517 .deserialize_struct(
3518 "origincloud.billing.v1beta1.GetSpendLimitRequest",
3519 FIELDS,
3520 GeneratedVisitor,
3521 )
3522 }
3523}
3524impl serde::Serialize for Granularity {
3525 #[allow(deprecated)]
3526 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3527 where
3528 S: serde::Serializer,
3529 {
3530 let variant = match self {
3531 Self::Unspecified => "GRANULARITY_UNSPECIFIED",
3532 Self::Hourly => "HOURLY",
3533 Self::Daily => "DAILY",
3534 };
3535 serializer.serialize_str(variant)
3536 }
3537}
3538impl<'de> serde::Deserialize<'de> for Granularity {
3539 #[allow(deprecated)]
3540 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3541 where
3542 D: serde::Deserializer<'de>,
3543 {
3544 const FIELDS: &[&str] = &["GRANULARITY_UNSPECIFIED", "HOURLY", "DAILY"];
3545 struct GeneratedVisitor;
3546 impl serde::de::Visitor<'_> for GeneratedVisitor {
3547 type Value = Granularity;
3548 fn expecting(
3549 &self,
3550 formatter: &mut std::fmt::Formatter<'_>,
3551 ) -> std::fmt::Result {
3552 write!(formatter, "expected one of: {:?}", & FIELDS)
3553 }
3554 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
3555 where
3556 E: serde::de::Error,
3557 {
3558 i32::try_from(v)
3559 .ok()
3560 .and_then(|x| {
3561 x.try_into().ok().or_else(|| Some(Granularity::default()))
3562 })
3563 .ok_or_else(|| {
3564 serde::de::Error::invalid_value(
3565 serde::de::Unexpected::Signed(v),
3566 &self,
3567 )
3568 })
3569 }
3570 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
3571 where
3572 E: serde::de::Error,
3573 {
3574 i32::try_from(v)
3575 .ok()
3576 .and_then(|x| {
3577 x.try_into().ok().or_else(|| Some(Granularity::default()))
3578 })
3579 .ok_or_else(|| {
3580 serde::de::Error::invalid_value(
3581 serde::de::Unexpected::Unsigned(v),
3582 &self,
3583 )
3584 })
3585 }
3586 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
3587 where
3588 E: serde::de::Error,
3589 {
3590 match value {
3591 "GRANULARITY_UNSPECIFIED" => Ok(Granularity::Unspecified),
3592 "HOURLY" => Ok(Granularity::Hourly),
3593 "DAILY" => Ok(Granularity::Daily),
3594 _ => Ok(Granularity::default()),
3595 }
3596 }
3597 }
3598 deserializer.deserialize_any(GeneratedVisitor)
3599 }
3600}
3601impl serde::Serialize for LegalAcceptance {
3602 #[allow(deprecated)]
3603 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3604 where
3605 S: serde::Serializer,
3606 {
3607 use serde::ser::SerializeStruct;
3608 let mut len = 0;
3609 if !self.name.is_empty() {
3610 len += 1;
3611 }
3612 if !self.legal_document_version.is_empty() {
3613 len += 1;
3614 }
3615 if !self.sha256.is_empty() {
3616 len += 1;
3617 }
3618 if !self.accepter.is_empty() {
3619 len += 1;
3620 }
3621 if self.accept_time.is_some() {
3622 len += 1;
3623 }
3624 if self.method != 0 {
3625 len += 1;
3626 }
3627 if self.acts_as_business {
3628 len += 1;
3629 }
3630 if !self.organization_display_name.is_empty() {
3631 len += 1;
3632 }
3633 if self.billing_address.is_some() {
3634 len += 1;
3635 }
3636 if !self.vat_id.is_empty() {
3637 len += 1;
3638 }
3639 let mut struct_ser = serializer
3640 .serialize_struct("origincloud.billing.v1beta1.LegalAcceptance", len)?;
3641 if !self.name.is_empty() {
3642 struct_ser.serialize_field("name", &self.name)?;
3643 }
3644 if !self.legal_document_version.is_empty() {
3645 struct_ser
3646 .serialize_field("legalDocumentVersion", &self.legal_document_version)?;
3647 }
3648 if !self.sha256.is_empty() {
3649 struct_ser.serialize_field("sha256", &self.sha256)?;
3650 }
3651 if !self.accepter.is_empty() {
3652 struct_ser.serialize_field("accepter", &self.accepter)?;
3653 }
3654 if let Some(v) = self.accept_time.as_ref() {
3655 struct_ser.serialize_field("acceptTime", v)?;
3656 }
3657 if self.method != 0 {
3658 let v = legal_acceptance::Method::try_from(self.method)
3659 .map_err(|_| serde::ser::Error::custom(
3660 format!("Invalid variant {}", self.method),
3661 ))?;
3662 struct_ser.serialize_field("method", &v)?;
3663 }
3664 if self.acts_as_business {
3665 struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
3666 }
3667 if !self.organization_display_name.is_empty() {
3668 struct_ser
3669 .serialize_field(
3670 "organizationDisplayName",
3671 &self.organization_display_name,
3672 )?;
3673 }
3674 if let Some(v) = self.billing_address.as_ref() {
3675 struct_ser.serialize_field("billingAddress", v)?;
3676 }
3677 if !self.vat_id.is_empty() {
3678 struct_ser.serialize_field("vatId", &self.vat_id)?;
3679 }
3680 struct_ser.end()
3681 }
3682}
3683impl<'de> serde::Deserialize<'de> for LegalAcceptance {
3684 #[allow(deprecated)]
3685 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3686 where
3687 D: serde::Deserializer<'de>,
3688 {
3689 const FIELDS: &[&str] = &[
3690 "name",
3691 "legal_document_version",
3692 "legalDocumentVersion",
3693 "sha256",
3694 "accepter",
3695 "accept_time",
3696 "acceptTime",
3697 "method",
3698 "acts_as_business",
3699 "actsAsBusiness",
3700 "organization_display_name",
3701 "organizationDisplayName",
3702 "billing_address",
3703 "billingAddress",
3704 "vat_id",
3705 "vatId",
3706 ];
3707 #[allow(clippy::enum_variant_names)]
3708 enum GeneratedField {
3709 Name,
3710 LegalDocumentVersion,
3711 Sha256,
3712 Accepter,
3713 AcceptTime,
3714 Method,
3715 ActsAsBusiness,
3716 OrganizationDisplayName,
3717 BillingAddress,
3718 VatId,
3719 __SkipField__,
3720 }
3721 impl<'de> serde::Deserialize<'de> for GeneratedField {
3722 fn deserialize<D>(
3723 deserializer: D,
3724 ) -> std::result::Result<GeneratedField, D::Error>
3725 where
3726 D: serde::Deserializer<'de>,
3727 {
3728 struct GeneratedVisitor;
3729 impl serde::de::Visitor<'_> for GeneratedVisitor {
3730 type Value = GeneratedField;
3731 fn expecting(
3732 &self,
3733 formatter: &mut std::fmt::Formatter<'_>,
3734 ) -> std::fmt::Result {
3735 write!(formatter, "expected one of: {:?}", & FIELDS)
3736 }
3737 #[allow(unused_variables)]
3738 fn visit_str<E>(
3739 self,
3740 value: &str,
3741 ) -> std::result::Result<GeneratedField, E>
3742 where
3743 E: serde::de::Error,
3744 {
3745 match value {
3746 "name" => Ok(GeneratedField::Name),
3747 "legalDocumentVersion" | "legal_document_version" => {
3748 Ok(GeneratedField::LegalDocumentVersion)
3749 }
3750 "sha256" => Ok(GeneratedField::Sha256),
3751 "accepter" => Ok(GeneratedField::Accepter),
3752 "acceptTime" | "accept_time" => {
3753 Ok(GeneratedField::AcceptTime)
3754 }
3755 "method" => Ok(GeneratedField::Method),
3756 "actsAsBusiness" | "acts_as_business" => {
3757 Ok(GeneratedField::ActsAsBusiness)
3758 }
3759 "organizationDisplayName" | "organization_display_name" => {
3760 Ok(GeneratedField::OrganizationDisplayName)
3761 }
3762 "billingAddress" | "billing_address" => {
3763 Ok(GeneratedField::BillingAddress)
3764 }
3765 "vatId" | "vat_id" => Ok(GeneratedField::VatId),
3766 _ => Ok(GeneratedField::__SkipField__),
3767 }
3768 }
3769 }
3770 deserializer.deserialize_identifier(GeneratedVisitor)
3771 }
3772 }
3773 struct GeneratedVisitor;
3774 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
3775 type Value = LegalAcceptance;
3776 fn expecting(
3777 &self,
3778 formatter: &mut std::fmt::Formatter<'_>,
3779 ) -> std::fmt::Result {
3780 formatter.write_str("struct origincloud.billing.v1beta1.LegalAcceptance")
3781 }
3782 fn visit_map<V>(
3783 self,
3784 mut map_: V,
3785 ) -> std::result::Result<LegalAcceptance, V::Error>
3786 where
3787 V: serde::de::MapAccess<'de>,
3788 {
3789 let mut name__ = None;
3790 let mut legal_document_version__ = None;
3791 let mut sha256__ = None;
3792 let mut accepter__ = None;
3793 let mut accept_time__ = None;
3794 let mut method__ = None;
3795 let mut acts_as_business__ = None;
3796 let mut organization_display_name__ = None;
3797 let mut billing_address__ = None;
3798 let mut vat_id__ = None;
3799 while let Some(k) = map_.next_key()? {
3800 match k {
3801 GeneratedField::Name => {
3802 if name__.is_some() {
3803 return Err(serde::de::Error::duplicate_field("name"));
3804 }
3805 name__ = Some(map_.next_value()?);
3806 }
3807 GeneratedField::LegalDocumentVersion => {
3808 if legal_document_version__.is_some() {
3809 return Err(
3810 serde::de::Error::duplicate_field("legalDocumentVersion"),
3811 );
3812 }
3813 legal_document_version__ = Some(map_.next_value()?);
3814 }
3815 GeneratedField::Sha256 => {
3816 if sha256__.is_some() {
3817 return Err(serde::de::Error::duplicate_field("sha256"));
3818 }
3819 sha256__ = Some(map_.next_value()?);
3820 }
3821 GeneratedField::Accepter => {
3822 if accepter__.is_some() {
3823 return Err(serde::de::Error::duplicate_field("accepter"));
3824 }
3825 accepter__ = Some(map_.next_value()?);
3826 }
3827 GeneratedField::AcceptTime => {
3828 if accept_time__.is_some() {
3829 return Err(serde::de::Error::duplicate_field("acceptTime"));
3830 }
3831 accept_time__ = map_.next_value()?;
3832 }
3833 GeneratedField::Method => {
3834 if method__.is_some() {
3835 return Err(serde::de::Error::duplicate_field("method"));
3836 }
3837 method__ = Some(
3838 map_.next_value::<legal_acceptance::Method>()? as i32,
3839 );
3840 }
3841 GeneratedField::ActsAsBusiness => {
3842 if acts_as_business__.is_some() {
3843 return Err(
3844 serde::de::Error::duplicate_field("actsAsBusiness"),
3845 );
3846 }
3847 acts_as_business__ = Some(map_.next_value()?);
3848 }
3849 GeneratedField::OrganizationDisplayName => {
3850 if organization_display_name__.is_some() {
3851 return Err(
3852 serde::de::Error::duplicate_field("organizationDisplayName"),
3853 );
3854 }
3855 organization_display_name__ = Some(map_.next_value()?);
3856 }
3857 GeneratedField::BillingAddress => {
3858 if billing_address__.is_some() {
3859 return Err(
3860 serde::de::Error::duplicate_field("billingAddress"),
3861 );
3862 }
3863 billing_address__ = map_.next_value()?;
3864 }
3865 GeneratedField::VatId => {
3866 if vat_id__.is_some() {
3867 return Err(serde::de::Error::duplicate_field("vatId"));
3868 }
3869 vat_id__ = Some(map_.next_value()?);
3870 }
3871 GeneratedField::__SkipField__ => {
3872 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
3873 }
3874 }
3875 }
3876 Ok(LegalAcceptance {
3877 name: name__.unwrap_or_default(),
3878 legal_document_version: legal_document_version__.unwrap_or_default(),
3879 sha256: sha256__.unwrap_or_default(),
3880 accepter: accepter__.unwrap_or_default(),
3881 accept_time: accept_time__,
3882 method: method__.unwrap_or_default(),
3883 acts_as_business: acts_as_business__.unwrap_or_default(),
3884 organization_display_name: organization_display_name__
3885 .unwrap_or_default(),
3886 billing_address: billing_address__,
3887 vat_id: vat_id__.unwrap_or_default(),
3888 })
3889 }
3890 }
3891 deserializer
3892 .deserialize_struct(
3893 "origincloud.billing.v1beta1.LegalAcceptance",
3894 FIELDS,
3895 GeneratedVisitor,
3896 )
3897 }
3898}
3899impl serde::Serialize for legal_acceptance::Method {
3900 #[allow(deprecated)]
3901 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3902 where
3903 S: serde::Serializer,
3904 {
3905 let variant = match self {
3906 Self::Unspecified => "METHOD_UNSPECIFIED",
3907 Self::Signup => "SIGNUP",
3908 Self::Change => "CHANGE",
3909 Self::Migration => "MIGRATION",
3910 };
3911 serializer.serialize_str(variant)
3912 }
3913}
3914impl<'de> serde::Deserialize<'de> for legal_acceptance::Method {
3915 #[allow(deprecated)]
3916 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
3917 where
3918 D: serde::Deserializer<'de>,
3919 {
3920 const FIELDS: &[&str] = &["METHOD_UNSPECIFIED", "SIGNUP", "CHANGE", "MIGRATION"];
3921 struct GeneratedVisitor;
3922 impl serde::de::Visitor<'_> for GeneratedVisitor {
3923 type Value = legal_acceptance::Method;
3924 fn expecting(
3925 &self,
3926 formatter: &mut std::fmt::Formatter<'_>,
3927 ) -> std::fmt::Result {
3928 write!(formatter, "expected one of: {:?}", & FIELDS)
3929 }
3930 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
3931 where
3932 E: serde::de::Error,
3933 {
3934 i32::try_from(v)
3935 .ok()
3936 .and_then(|x| {
3937 x
3938 .try_into()
3939 .ok()
3940 .or_else(|| Some(legal_acceptance::Method::default()))
3941 })
3942 .ok_or_else(|| {
3943 serde::de::Error::invalid_value(
3944 serde::de::Unexpected::Signed(v),
3945 &self,
3946 )
3947 })
3948 }
3949 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
3950 where
3951 E: serde::de::Error,
3952 {
3953 i32::try_from(v)
3954 .ok()
3955 .and_then(|x| {
3956 x
3957 .try_into()
3958 .ok()
3959 .or_else(|| Some(legal_acceptance::Method::default()))
3960 })
3961 .ok_or_else(|| {
3962 serde::de::Error::invalid_value(
3963 serde::de::Unexpected::Unsigned(v),
3964 &self,
3965 )
3966 })
3967 }
3968 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
3969 where
3970 E: serde::de::Error,
3971 {
3972 match value {
3973 "METHOD_UNSPECIFIED" => Ok(legal_acceptance::Method::Unspecified),
3974 "SIGNUP" => Ok(legal_acceptance::Method::Signup),
3975 "CHANGE" => Ok(legal_acceptance::Method::Change),
3976 "MIGRATION" => Ok(legal_acceptance::Method::Migration),
3977 _ => Ok(legal_acceptance::Method::default()),
3978 }
3979 }
3980 }
3981 deserializer.deserialize_any(GeneratedVisitor)
3982 }
3983}
3984impl serde::Serialize for LegalDocument {
3985 #[allow(deprecated)]
3986 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
3987 where
3988 S: serde::Serializer,
3989 {
3990 use serde::ser::SerializeStruct;
3991 let mut len = 0;
3992 if !self.name.is_empty() {
3993 len += 1;
3994 }
3995 if !self.display_name.is_empty() {
3996 len += 1;
3997 }
3998 if self.acceptance_required {
3999 len += 1;
4000 }
4001 if !self.current_version.is_empty() {
4002 len += 1;
4003 }
4004 if !self.latest_version.is_empty() {
4005 len += 1;
4006 }
4007 let mut struct_ser = serializer
4008 .serialize_struct("origincloud.billing.v1beta1.LegalDocument", len)?;
4009 if !self.name.is_empty() {
4010 struct_ser.serialize_field("name", &self.name)?;
4011 }
4012 if !self.display_name.is_empty() {
4013 struct_ser.serialize_field("displayName", &self.display_name)?;
4014 }
4015 if self.acceptance_required {
4016 struct_ser.serialize_field("acceptanceRequired", &self.acceptance_required)?;
4017 }
4018 if !self.current_version.is_empty() {
4019 struct_ser.serialize_field("currentVersion", &self.current_version)?;
4020 }
4021 if !self.latest_version.is_empty() {
4022 struct_ser.serialize_field("latestVersion", &self.latest_version)?;
4023 }
4024 struct_ser.end()
4025 }
4026}
4027impl<'de> serde::Deserialize<'de> for LegalDocument {
4028 #[allow(deprecated)]
4029 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4030 where
4031 D: serde::Deserializer<'de>,
4032 {
4033 const FIELDS: &[&str] = &[
4034 "name",
4035 "display_name",
4036 "displayName",
4037 "acceptance_required",
4038 "acceptanceRequired",
4039 "current_version",
4040 "currentVersion",
4041 "latest_version",
4042 "latestVersion",
4043 ];
4044 #[allow(clippy::enum_variant_names)]
4045 enum GeneratedField {
4046 Name,
4047 DisplayName,
4048 AcceptanceRequired,
4049 CurrentVersion,
4050 LatestVersion,
4051 __SkipField__,
4052 }
4053 impl<'de> serde::Deserialize<'de> for GeneratedField {
4054 fn deserialize<D>(
4055 deserializer: D,
4056 ) -> std::result::Result<GeneratedField, D::Error>
4057 where
4058 D: serde::Deserializer<'de>,
4059 {
4060 struct GeneratedVisitor;
4061 impl serde::de::Visitor<'_> for GeneratedVisitor {
4062 type Value = GeneratedField;
4063 fn expecting(
4064 &self,
4065 formatter: &mut std::fmt::Formatter<'_>,
4066 ) -> std::fmt::Result {
4067 write!(formatter, "expected one of: {:?}", & FIELDS)
4068 }
4069 #[allow(unused_variables)]
4070 fn visit_str<E>(
4071 self,
4072 value: &str,
4073 ) -> std::result::Result<GeneratedField, E>
4074 where
4075 E: serde::de::Error,
4076 {
4077 match value {
4078 "name" => Ok(GeneratedField::Name),
4079 "displayName" | "display_name" => {
4080 Ok(GeneratedField::DisplayName)
4081 }
4082 "acceptanceRequired" | "acceptance_required" => {
4083 Ok(GeneratedField::AcceptanceRequired)
4084 }
4085 "currentVersion" | "current_version" => {
4086 Ok(GeneratedField::CurrentVersion)
4087 }
4088 "latestVersion" | "latest_version" => {
4089 Ok(GeneratedField::LatestVersion)
4090 }
4091 _ => Ok(GeneratedField::__SkipField__),
4092 }
4093 }
4094 }
4095 deserializer.deserialize_identifier(GeneratedVisitor)
4096 }
4097 }
4098 struct GeneratedVisitor;
4099 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
4100 type Value = LegalDocument;
4101 fn expecting(
4102 &self,
4103 formatter: &mut std::fmt::Formatter<'_>,
4104 ) -> std::fmt::Result {
4105 formatter.write_str("struct origincloud.billing.v1beta1.LegalDocument")
4106 }
4107 fn visit_map<V>(
4108 self,
4109 mut map_: V,
4110 ) -> std::result::Result<LegalDocument, V::Error>
4111 where
4112 V: serde::de::MapAccess<'de>,
4113 {
4114 let mut name__ = None;
4115 let mut display_name__ = None;
4116 let mut acceptance_required__ = None;
4117 let mut current_version__ = None;
4118 let mut latest_version__ = None;
4119 while let Some(k) = map_.next_key()? {
4120 match k {
4121 GeneratedField::Name => {
4122 if name__.is_some() {
4123 return Err(serde::de::Error::duplicate_field("name"));
4124 }
4125 name__ = Some(map_.next_value()?);
4126 }
4127 GeneratedField::DisplayName => {
4128 if display_name__.is_some() {
4129 return Err(
4130 serde::de::Error::duplicate_field("displayName"),
4131 );
4132 }
4133 display_name__ = Some(map_.next_value()?);
4134 }
4135 GeneratedField::AcceptanceRequired => {
4136 if acceptance_required__.is_some() {
4137 return Err(
4138 serde::de::Error::duplicate_field("acceptanceRequired"),
4139 );
4140 }
4141 acceptance_required__ = Some(map_.next_value()?);
4142 }
4143 GeneratedField::CurrentVersion => {
4144 if current_version__.is_some() {
4145 return Err(
4146 serde::de::Error::duplicate_field("currentVersion"),
4147 );
4148 }
4149 current_version__ = Some(map_.next_value()?);
4150 }
4151 GeneratedField::LatestVersion => {
4152 if latest_version__.is_some() {
4153 return Err(
4154 serde::de::Error::duplicate_field("latestVersion"),
4155 );
4156 }
4157 latest_version__ = Some(map_.next_value()?);
4158 }
4159 GeneratedField::__SkipField__ => {
4160 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4161 }
4162 }
4163 }
4164 Ok(LegalDocument {
4165 name: name__.unwrap_or_default(),
4166 display_name: display_name__.unwrap_or_default(),
4167 acceptance_required: acceptance_required__.unwrap_or_default(),
4168 current_version: current_version__.unwrap_or_default(),
4169 latest_version: latest_version__.unwrap_or_default(),
4170 })
4171 }
4172 }
4173 deserializer
4174 .deserialize_struct(
4175 "origincloud.billing.v1beta1.LegalDocument",
4176 FIELDS,
4177 GeneratedVisitor,
4178 )
4179 }
4180}
4181impl serde::Serialize for LegalDocumentVersion {
4182 #[allow(deprecated)]
4183 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4184 where
4185 S: serde::Serializer,
4186 {
4187 use serde::ser::SerializeStruct;
4188 let mut len = 0;
4189 if !self.name.is_empty() {
4190 len += 1;
4191 }
4192 if !self.display_name.is_empty() {
4193 len += 1;
4194 }
4195 if self.effective_date.is_some() {
4196 len += 1;
4197 }
4198 if self.change_class != 0 {
4199 len += 1;
4200 }
4201 if !self.change_summary.is_empty() {
4202 len += 1;
4203 }
4204 if !self.sha256.is_empty() {
4205 len += 1;
4206 }
4207 if !self.markdown.is_empty() {
4208 len += 1;
4209 }
4210 if !self.html.is_empty() {
4211 len += 1;
4212 }
4213 if !self.uri.is_empty() {
4214 len += 1;
4215 }
4216 if !self.pdf_uri.is_empty() {
4217 len += 1;
4218 }
4219 let mut struct_ser = serializer
4220 .serialize_struct("origincloud.billing.v1beta1.LegalDocumentVersion", len)?;
4221 if !self.name.is_empty() {
4222 struct_ser.serialize_field("name", &self.name)?;
4223 }
4224 if !self.display_name.is_empty() {
4225 struct_ser.serialize_field("displayName", &self.display_name)?;
4226 }
4227 if let Some(v) = self.effective_date.as_ref() {
4228 struct_ser.serialize_field("effectiveDate", v)?;
4229 }
4230 if self.change_class != 0 {
4231 let v = legal_document_version::ChangeClass::try_from(self.change_class)
4232 .map_err(|_| serde::ser::Error::custom(
4233 format!("Invalid variant {}", self.change_class),
4234 ))?;
4235 struct_ser.serialize_field("changeClass", &v)?;
4236 }
4237 if !self.change_summary.is_empty() {
4238 struct_ser.serialize_field("changeSummary", &self.change_summary)?;
4239 }
4240 if !self.sha256.is_empty() {
4241 struct_ser.serialize_field("sha256", &self.sha256)?;
4242 }
4243 if !self.markdown.is_empty() {
4244 struct_ser.serialize_field("markdown", &self.markdown)?;
4245 }
4246 if !self.html.is_empty() {
4247 struct_ser.serialize_field("html", &self.html)?;
4248 }
4249 if !self.uri.is_empty() {
4250 struct_ser.serialize_field("uri", &self.uri)?;
4251 }
4252 if !self.pdf_uri.is_empty() {
4253 struct_ser.serialize_field("pdfUri", &self.pdf_uri)?;
4254 }
4255 struct_ser.end()
4256 }
4257}
4258impl<'de> serde::Deserialize<'de> for LegalDocumentVersion {
4259 #[allow(deprecated)]
4260 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4261 where
4262 D: serde::Deserializer<'de>,
4263 {
4264 const FIELDS: &[&str] = &[
4265 "name",
4266 "display_name",
4267 "displayName",
4268 "effective_date",
4269 "effectiveDate",
4270 "change_class",
4271 "changeClass",
4272 "change_summary",
4273 "changeSummary",
4274 "sha256",
4275 "markdown",
4276 "html",
4277 "uri",
4278 "pdf_uri",
4279 "pdfUri",
4280 ];
4281 #[allow(clippy::enum_variant_names)]
4282 enum GeneratedField {
4283 Name,
4284 DisplayName,
4285 EffectiveDate,
4286 ChangeClass,
4287 ChangeSummary,
4288 Sha256,
4289 Markdown,
4290 Html,
4291 Uri,
4292 PdfUri,
4293 __SkipField__,
4294 }
4295 impl<'de> serde::Deserialize<'de> for GeneratedField {
4296 fn deserialize<D>(
4297 deserializer: D,
4298 ) -> std::result::Result<GeneratedField, D::Error>
4299 where
4300 D: serde::Deserializer<'de>,
4301 {
4302 struct GeneratedVisitor;
4303 impl serde::de::Visitor<'_> for GeneratedVisitor {
4304 type Value = GeneratedField;
4305 fn expecting(
4306 &self,
4307 formatter: &mut std::fmt::Formatter<'_>,
4308 ) -> std::fmt::Result {
4309 write!(formatter, "expected one of: {:?}", & FIELDS)
4310 }
4311 #[allow(unused_variables)]
4312 fn visit_str<E>(
4313 self,
4314 value: &str,
4315 ) -> std::result::Result<GeneratedField, E>
4316 where
4317 E: serde::de::Error,
4318 {
4319 match value {
4320 "name" => Ok(GeneratedField::Name),
4321 "displayName" | "display_name" => {
4322 Ok(GeneratedField::DisplayName)
4323 }
4324 "effectiveDate" | "effective_date" => {
4325 Ok(GeneratedField::EffectiveDate)
4326 }
4327 "changeClass" | "change_class" => {
4328 Ok(GeneratedField::ChangeClass)
4329 }
4330 "changeSummary" | "change_summary" => {
4331 Ok(GeneratedField::ChangeSummary)
4332 }
4333 "sha256" => Ok(GeneratedField::Sha256),
4334 "markdown" => Ok(GeneratedField::Markdown),
4335 "html" => Ok(GeneratedField::Html),
4336 "uri" => Ok(GeneratedField::Uri),
4337 "pdfUri" | "pdf_uri" => Ok(GeneratedField::PdfUri),
4338 _ => Ok(GeneratedField::__SkipField__),
4339 }
4340 }
4341 }
4342 deserializer.deserialize_identifier(GeneratedVisitor)
4343 }
4344 }
4345 struct GeneratedVisitor;
4346 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
4347 type Value = LegalDocumentVersion;
4348 fn expecting(
4349 &self,
4350 formatter: &mut std::fmt::Formatter<'_>,
4351 ) -> std::fmt::Result {
4352 formatter
4353 .write_str("struct origincloud.billing.v1beta1.LegalDocumentVersion")
4354 }
4355 fn visit_map<V>(
4356 self,
4357 mut map_: V,
4358 ) -> std::result::Result<LegalDocumentVersion, V::Error>
4359 where
4360 V: serde::de::MapAccess<'de>,
4361 {
4362 let mut name__ = None;
4363 let mut display_name__ = None;
4364 let mut effective_date__ = None;
4365 let mut change_class__ = None;
4366 let mut change_summary__ = None;
4367 let mut sha256__ = None;
4368 let mut markdown__ = None;
4369 let mut html__ = None;
4370 let mut uri__ = None;
4371 let mut pdf_uri__ = None;
4372 while let Some(k) = map_.next_key()? {
4373 match k {
4374 GeneratedField::Name => {
4375 if name__.is_some() {
4376 return Err(serde::de::Error::duplicate_field("name"));
4377 }
4378 name__ = Some(map_.next_value()?);
4379 }
4380 GeneratedField::DisplayName => {
4381 if display_name__.is_some() {
4382 return Err(
4383 serde::de::Error::duplicate_field("displayName"),
4384 );
4385 }
4386 display_name__ = Some(map_.next_value()?);
4387 }
4388 GeneratedField::EffectiveDate => {
4389 if effective_date__.is_some() {
4390 return Err(
4391 serde::de::Error::duplicate_field("effectiveDate"),
4392 );
4393 }
4394 effective_date__ = map_.next_value()?;
4395 }
4396 GeneratedField::ChangeClass => {
4397 if change_class__.is_some() {
4398 return Err(
4399 serde::de::Error::duplicate_field("changeClass"),
4400 );
4401 }
4402 change_class__ = Some(
4403 map_.next_value::<legal_document_version::ChangeClass>()?
4404 as i32,
4405 );
4406 }
4407 GeneratedField::ChangeSummary => {
4408 if change_summary__.is_some() {
4409 return Err(
4410 serde::de::Error::duplicate_field("changeSummary"),
4411 );
4412 }
4413 change_summary__ = Some(map_.next_value()?);
4414 }
4415 GeneratedField::Sha256 => {
4416 if sha256__.is_some() {
4417 return Err(serde::de::Error::duplicate_field("sha256"));
4418 }
4419 sha256__ = Some(map_.next_value()?);
4420 }
4421 GeneratedField::Markdown => {
4422 if markdown__.is_some() {
4423 return Err(serde::de::Error::duplicate_field("markdown"));
4424 }
4425 markdown__ = Some(map_.next_value()?);
4426 }
4427 GeneratedField::Html => {
4428 if html__.is_some() {
4429 return Err(serde::de::Error::duplicate_field("html"));
4430 }
4431 html__ = Some(map_.next_value()?);
4432 }
4433 GeneratedField::Uri => {
4434 if uri__.is_some() {
4435 return Err(serde::de::Error::duplicate_field("uri"));
4436 }
4437 uri__ = Some(map_.next_value()?);
4438 }
4439 GeneratedField::PdfUri => {
4440 if pdf_uri__.is_some() {
4441 return Err(serde::de::Error::duplicate_field("pdfUri"));
4442 }
4443 pdf_uri__ = Some(map_.next_value()?);
4444 }
4445 GeneratedField::__SkipField__ => {
4446 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4447 }
4448 }
4449 }
4450 Ok(LegalDocumentVersion {
4451 name: name__.unwrap_or_default(),
4452 display_name: display_name__.unwrap_or_default(),
4453 effective_date: effective_date__,
4454 change_class: change_class__.unwrap_or_default(),
4455 change_summary: change_summary__.unwrap_or_default(),
4456 sha256: sha256__.unwrap_or_default(),
4457 markdown: markdown__.unwrap_or_default(),
4458 html: html__.unwrap_or_default(),
4459 uri: uri__.unwrap_or_default(),
4460 pdf_uri: pdf_uri__.unwrap_or_default(),
4461 })
4462 }
4463 }
4464 deserializer
4465 .deserialize_struct(
4466 "origincloud.billing.v1beta1.LegalDocumentVersion",
4467 FIELDS,
4468 GeneratedVisitor,
4469 )
4470 }
4471}
4472impl serde::Serialize for legal_document_version::ChangeClass {
4473 #[allow(deprecated)]
4474 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4475 where
4476 S: serde::Serializer,
4477 {
4478 let variant = match self {
4479 Self::Unspecified => "CHANGE_CLASS_UNSPECIFIED",
4480 Self::Material => "MATERIAL",
4481 Self::Notice => "NOTICE",
4482 Self::Editorial => "EDITORIAL",
4483 };
4484 serializer.serialize_str(variant)
4485 }
4486}
4487impl<'de> serde::Deserialize<'de> for legal_document_version::ChangeClass {
4488 #[allow(deprecated)]
4489 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4490 where
4491 D: serde::Deserializer<'de>,
4492 {
4493 const FIELDS: &[&str] = &[
4494 "CHANGE_CLASS_UNSPECIFIED",
4495 "MATERIAL",
4496 "NOTICE",
4497 "EDITORIAL",
4498 ];
4499 struct GeneratedVisitor;
4500 impl serde::de::Visitor<'_> for GeneratedVisitor {
4501 type Value = legal_document_version::ChangeClass;
4502 fn expecting(
4503 &self,
4504 formatter: &mut std::fmt::Formatter<'_>,
4505 ) -> std::fmt::Result {
4506 write!(formatter, "expected one of: {:?}", & FIELDS)
4507 }
4508 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
4509 where
4510 E: serde::de::Error,
4511 {
4512 i32::try_from(v)
4513 .ok()
4514 .and_then(|x| {
4515 x
4516 .try_into()
4517 .ok()
4518 .or_else(|| Some(
4519 legal_document_version::ChangeClass::default(),
4520 ))
4521 })
4522 .ok_or_else(|| {
4523 serde::de::Error::invalid_value(
4524 serde::de::Unexpected::Signed(v),
4525 &self,
4526 )
4527 })
4528 }
4529 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
4530 where
4531 E: serde::de::Error,
4532 {
4533 i32::try_from(v)
4534 .ok()
4535 .and_then(|x| {
4536 x
4537 .try_into()
4538 .ok()
4539 .or_else(|| Some(
4540 legal_document_version::ChangeClass::default(),
4541 ))
4542 })
4543 .ok_or_else(|| {
4544 serde::de::Error::invalid_value(
4545 serde::de::Unexpected::Unsigned(v),
4546 &self,
4547 )
4548 })
4549 }
4550 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
4551 where
4552 E: serde::de::Error,
4553 {
4554 match value {
4555 "CHANGE_CLASS_UNSPECIFIED" => {
4556 Ok(legal_document_version::ChangeClass::Unspecified)
4557 }
4558 "MATERIAL" => Ok(legal_document_version::ChangeClass::Material),
4559 "NOTICE" => Ok(legal_document_version::ChangeClass::Notice),
4560 "EDITORIAL" => Ok(legal_document_version::ChangeClass::Editorial),
4561 _ => Ok(legal_document_version::ChangeClass::default()),
4562 }
4563 }
4564 }
4565 deserializer.deserialize_any(GeneratedVisitor)
4566 }
4567}
4568impl serde::Serialize for LegalDocumentVersionToAccept {
4569 #[allow(deprecated)]
4570 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4571 where
4572 S: serde::Serializer,
4573 {
4574 use serde::ser::SerializeStruct;
4575 let mut len = 0;
4576 if !self.legal_document_version.is_empty() {
4577 len += 1;
4578 }
4579 if !self.sha256.is_empty() {
4580 len += 1;
4581 }
4582 let mut struct_ser = serializer
4583 .serialize_struct(
4584 "origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
4585 len,
4586 )?;
4587 if !self.legal_document_version.is_empty() {
4588 struct_ser
4589 .serialize_field("legalDocumentVersion", &self.legal_document_version)?;
4590 }
4591 if !self.sha256.is_empty() {
4592 struct_ser.serialize_field("sha256", &self.sha256)?;
4593 }
4594 struct_ser.end()
4595 }
4596}
4597impl<'de> serde::Deserialize<'de> for LegalDocumentVersionToAccept {
4598 #[allow(deprecated)]
4599 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4600 where
4601 D: serde::Deserializer<'de>,
4602 {
4603 const FIELDS: &[&str] = &[
4604 "legal_document_version",
4605 "legalDocumentVersion",
4606 "sha256",
4607 ];
4608 #[allow(clippy::enum_variant_names)]
4609 enum GeneratedField {
4610 LegalDocumentVersion,
4611 Sha256,
4612 __SkipField__,
4613 }
4614 impl<'de> serde::Deserialize<'de> for GeneratedField {
4615 fn deserialize<D>(
4616 deserializer: D,
4617 ) -> std::result::Result<GeneratedField, D::Error>
4618 where
4619 D: serde::Deserializer<'de>,
4620 {
4621 struct GeneratedVisitor;
4622 impl serde::de::Visitor<'_> for GeneratedVisitor {
4623 type Value = GeneratedField;
4624 fn expecting(
4625 &self,
4626 formatter: &mut std::fmt::Formatter<'_>,
4627 ) -> std::fmt::Result {
4628 write!(formatter, "expected one of: {:?}", & FIELDS)
4629 }
4630 #[allow(unused_variables)]
4631 fn visit_str<E>(
4632 self,
4633 value: &str,
4634 ) -> std::result::Result<GeneratedField, E>
4635 where
4636 E: serde::de::Error,
4637 {
4638 match value {
4639 "legalDocumentVersion" | "legal_document_version" => {
4640 Ok(GeneratedField::LegalDocumentVersion)
4641 }
4642 "sha256" => Ok(GeneratedField::Sha256),
4643 _ => Ok(GeneratedField::__SkipField__),
4644 }
4645 }
4646 }
4647 deserializer.deserialize_identifier(GeneratedVisitor)
4648 }
4649 }
4650 struct GeneratedVisitor;
4651 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
4652 type Value = LegalDocumentVersionToAccept;
4653 fn expecting(
4654 &self,
4655 formatter: &mut std::fmt::Formatter<'_>,
4656 ) -> std::fmt::Result {
4657 formatter
4658 .write_str(
4659 "struct origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
4660 )
4661 }
4662 fn visit_map<V>(
4663 self,
4664 mut map_: V,
4665 ) -> std::result::Result<LegalDocumentVersionToAccept, V::Error>
4666 where
4667 V: serde::de::MapAccess<'de>,
4668 {
4669 let mut legal_document_version__ = None;
4670 let mut sha256__ = None;
4671 while let Some(k) = map_.next_key()? {
4672 match k {
4673 GeneratedField::LegalDocumentVersion => {
4674 if legal_document_version__.is_some() {
4675 return Err(
4676 serde::de::Error::duplicate_field("legalDocumentVersion"),
4677 );
4678 }
4679 legal_document_version__ = Some(map_.next_value()?);
4680 }
4681 GeneratedField::Sha256 => {
4682 if sha256__.is_some() {
4683 return Err(serde::de::Error::duplicate_field("sha256"));
4684 }
4685 sha256__ = Some(map_.next_value()?);
4686 }
4687 GeneratedField::__SkipField__ => {
4688 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4689 }
4690 }
4691 }
4692 Ok(LegalDocumentVersionToAccept {
4693 legal_document_version: legal_document_version__.unwrap_or_default(),
4694 sha256: sha256__.unwrap_or_default(),
4695 })
4696 }
4697 }
4698 deserializer
4699 .deserialize_struct(
4700 "origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
4701 FIELDS,
4702 GeneratedVisitor,
4703 )
4704 }
4705}
4706impl serde::Serialize for LegalRequirement {
4707 #[allow(deprecated)]
4708 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4709 where
4710 S: serde::Serializer,
4711 {
4712 use serde::ser::SerializeStruct;
4713 let mut len = 0;
4714 if !self.legal_document_version.is_empty() {
4715 len += 1;
4716 }
4717 if !self.display_name.is_empty() {
4718 len += 1;
4719 }
4720 if self.effective_date.is_some() {
4721 len += 1;
4722 }
4723 if !self.change_summary.is_empty() {
4724 len += 1;
4725 }
4726 if !self.sha256.is_empty() {
4727 len += 1;
4728 }
4729 if self.blocking {
4730 len += 1;
4731 }
4732 let mut struct_ser = serializer
4733 .serialize_struct("origincloud.billing.v1beta1.LegalRequirement", len)?;
4734 if !self.legal_document_version.is_empty() {
4735 struct_ser
4736 .serialize_field("legalDocumentVersion", &self.legal_document_version)?;
4737 }
4738 if !self.display_name.is_empty() {
4739 struct_ser.serialize_field("displayName", &self.display_name)?;
4740 }
4741 if let Some(v) = self.effective_date.as_ref() {
4742 struct_ser.serialize_field("effectiveDate", v)?;
4743 }
4744 if !self.change_summary.is_empty() {
4745 struct_ser.serialize_field("changeSummary", &self.change_summary)?;
4746 }
4747 if !self.sha256.is_empty() {
4748 struct_ser.serialize_field("sha256", &self.sha256)?;
4749 }
4750 if self.blocking {
4751 struct_ser.serialize_field("blocking", &self.blocking)?;
4752 }
4753 struct_ser.end()
4754 }
4755}
4756impl<'de> serde::Deserialize<'de> for LegalRequirement {
4757 #[allow(deprecated)]
4758 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4759 where
4760 D: serde::Deserializer<'de>,
4761 {
4762 const FIELDS: &[&str] = &[
4763 "legal_document_version",
4764 "legalDocumentVersion",
4765 "display_name",
4766 "displayName",
4767 "effective_date",
4768 "effectiveDate",
4769 "change_summary",
4770 "changeSummary",
4771 "sha256",
4772 "blocking",
4773 ];
4774 #[allow(clippy::enum_variant_names)]
4775 enum GeneratedField {
4776 LegalDocumentVersion,
4777 DisplayName,
4778 EffectiveDate,
4779 ChangeSummary,
4780 Sha256,
4781 Blocking,
4782 __SkipField__,
4783 }
4784 impl<'de> serde::Deserialize<'de> for GeneratedField {
4785 fn deserialize<D>(
4786 deserializer: D,
4787 ) -> std::result::Result<GeneratedField, D::Error>
4788 where
4789 D: serde::Deserializer<'de>,
4790 {
4791 struct GeneratedVisitor;
4792 impl serde::de::Visitor<'_> for GeneratedVisitor {
4793 type Value = GeneratedField;
4794 fn expecting(
4795 &self,
4796 formatter: &mut std::fmt::Formatter<'_>,
4797 ) -> std::fmt::Result {
4798 write!(formatter, "expected one of: {:?}", & FIELDS)
4799 }
4800 #[allow(unused_variables)]
4801 fn visit_str<E>(
4802 self,
4803 value: &str,
4804 ) -> std::result::Result<GeneratedField, E>
4805 where
4806 E: serde::de::Error,
4807 {
4808 match value {
4809 "legalDocumentVersion" | "legal_document_version" => {
4810 Ok(GeneratedField::LegalDocumentVersion)
4811 }
4812 "displayName" | "display_name" => {
4813 Ok(GeneratedField::DisplayName)
4814 }
4815 "effectiveDate" | "effective_date" => {
4816 Ok(GeneratedField::EffectiveDate)
4817 }
4818 "changeSummary" | "change_summary" => {
4819 Ok(GeneratedField::ChangeSummary)
4820 }
4821 "sha256" => Ok(GeneratedField::Sha256),
4822 "blocking" => Ok(GeneratedField::Blocking),
4823 _ => Ok(GeneratedField::__SkipField__),
4824 }
4825 }
4826 }
4827 deserializer.deserialize_identifier(GeneratedVisitor)
4828 }
4829 }
4830 struct GeneratedVisitor;
4831 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
4832 type Value = LegalRequirement;
4833 fn expecting(
4834 &self,
4835 formatter: &mut std::fmt::Formatter<'_>,
4836 ) -> std::fmt::Result {
4837 formatter
4838 .write_str("struct origincloud.billing.v1beta1.LegalRequirement")
4839 }
4840 fn visit_map<V>(
4841 self,
4842 mut map_: V,
4843 ) -> std::result::Result<LegalRequirement, V::Error>
4844 where
4845 V: serde::de::MapAccess<'de>,
4846 {
4847 let mut legal_document_version__ = None;
4848 let mut display_name__ = None;
4849 let mut effective_date__ = None;
4850 let mut change_summary__ = None;
4851 let mut sha256__ = None;
4852 let mut blocking__ = None;
4853 while let Some(k) = map_.next_key()? {
4854 match k {
4855 GeneratedField::LegalDocumentVersion => {
4856 if legal_document_version__.is_some() {
4857 return Err(
4858 serde::de::Error::duplicate_field("legalDocumentVersion"),
4859 );
4860 }
4861 legal_document_version__ = Some(map_.next_value()?);
4862 }
4863 GeneratedField::DisplayName => {
4864 if display_name__.is_some() {
4865 return Err(
4866 serde::de::Error::duplicate_field("displayName"),
4867 );
4868 }
4869 display_name__ = Some(map_.next_value()?);
4870 }
4871 GeneratedField::EffectiveDate => {
4872 if effective_date__.is_some() {
4873 return Err(
4874 serde::de::Error::duplicate_field("effectiveDate"),
4875 );
4876 }
4877 effective_date__ = map_.next_value()?;
4878 }
4879 GeneratedField::ChangeSummary => {
4880 if change_summary__.is_some() {
4881 return Err(
4882 serde::de::Error::duplicate_field("changeSummary"),
4883 );
4884 }
4885 change_summary__ = Some(map_.next_value()?);
4886 }
4887 GeneratedField::Sha256 => {
4888 if sha256__.is_some() {
4889 return Err(serde::de::Error::duplicate_field("sha256"));
4890 }
4891 sha256__ = Some(map_.next_value()?);
4892 }
4893 GeneratedField::Blocking => {
4894 if blocking__.is_some() {
4895 return Err(serde::de::Error::duplicate_field("blocking"));
4896 }
4897 blocking__ = Some(map_.next_value()?);
4898 }
4899 GeneratedField::__SkipField__ => {
4900 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
4901 }
4902 }
4903 }
4904 Ok(LegalRequirement {
4905 legal_document_version: legal_document_version__.unwrap_or_default(),
4906 display_name: display_name__.unwrap_or_default(),
4907 effective_date: effective_date__,
4908 change_summary: change_summary__.unwrap_or_default(),
4909 sha256: sha256__.unwrap_or_default(),
4910 blocking: blocking__.unwrap_or_default(),
4911 })
4912 }
4913 }
4914 deserializer
4915 .deserialize_struct(
4916 "origincloud.billing.v1beta1.LegalRequirement",
4917 FIELDS,
4918 GeneratedVisitor,
4919 )
4920 }
4921}
4922impl serde::Serialize for ListBillingAccountsRequest {
4923 #[allow(deprecated)]
4924 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
4925 where
4926 S: serde::Serializer,
4927 {
4928 use serde::ser::SerializeStruct;
4929 let mut len = 0;
4930 if !self.parent.is_empty() {
4931 len += 1;
4932 }
4933 if self.page_size != 0 {
4934 len += 1;
4935 }
4936 if !self.page_token.is_empty() {
4937 len += 1;
4938 }
4939 let mut struct_ser = serializer
4940 .serialize_struct(
4941 "origincloud.billing.v1beta1.ListBillingAccountsRequest",
4942 len,
4943 )?;
4944 if !self.parent.is_empty() {
4945 struct_ser.serialize_field("parent", &self.parent)?;
4946 }
4947 if self.page_size != 0 {
4948 struct_ser.serialize_field("pageSize", &self.page_size)?;
4949 }
4950 if !self.page_token.is_empty() {
4951 struct_ser.serialize_field("pageToken", &self.page_token)?;
4952 }
4953 struct_ser.end()
4954 }
4955}
4956impl<'de> serde::Deserialize<'de> for ListBillingAccountsRequest {
4957 #[allow(deprecated)]
4958 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
4959 where
4960 D: serde::Deserializer<'de>,
4961 {
4962 const FIELDS: &[&str] = &[
4963 "parent",
4964 "page_size",
4965 "pageSize",
4966 "page_token",
4967 "pageToken",
4968 ];
4969 #[allow(clippy::enum_variant_names)]
4970 enum GeneratedField {
4971 Parent,
4972 PageSize,
4973 PageToken,
4974 __SkipField__,
4975 }
4976 impl<'de> serde::Deserialize<'de> for GeneratedField {
4977 fn deserialize<D>(
4978 deserializer: D,
4979 ) -> std::result::Result<GeneratedField, D::Error>
4980 where
4981 D: serde::Deserializer<'de>,
4982 {
4983 struct GeneratedVisitor;
4984 impl serde::de::Visitor<'_> for GeneratedVisitor {
4985 type Value = GeneratedField;
4986 fn expecting(
4987 &self,
4988 formatter: &mut std::fmt::Formatter<'_>,
4989 ) -> std::fmt::Result {
4990 write!(formatter, "expected one of: {:?}", & FIELDS)
4991 }
4992 #[allow(unused_variables)]
4993 fn visit_str<E>(
4994 self,
4995 value: &str,
4996 ) -> std::result::Result<GeneratedField, E>
4997 where
4998 E: serde::de::Error,
4999 {
5000 match value {
5001 "parent" => Ok(GeneratedField::Parent),
5002 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
5003 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
5004 _ => Ok(GeneratedField::__SkipField__),
5005 }
5006 }
5007 }
5008 deserializer.deserialize_identifier(GeneratedVisitor)
5009 }
5010 }
5011 struct GeneratedVisitor;
5012 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5013 type Value = ListBillingAccountsRequest;
5014 fn expecting(
5015 &self,
5016 formatter: &mut std::fmt::Formatter<'_>,
5017 ) -> std::fmt::Result {
5018 formatter
5019 .write_str(
5020 "struct origincloud.billing.v1beta1.ListBillingAccountsRequest",
5021 )
5022 }
5023 fn visit_map<V>(
5024 self,
5025 mut map_: V,
5026 ) -> std::result::Result<ListBillingAccountsRequest, V::Error>
5027 where
5028 V: serde::de::MapAccess<'de>,
5029 {
5030 let mut parent__ = None;
5031 let mut page_size__ = None;
5032 let mut page_token__ = None;
5033 while let Some(k) = map_.next_key()? {
5034 match k {
5035 GeneratedField::Parent => {
5036 if parent__.is_some() {
5037 return Err(serde::de::Error::duplicate_field("parent"));
5038 }
5039 parent__ = Some(map_.next_value()?);
5040 }
5041 GeneratedField::PageSize => {
5042 if page_size__.is_some() {
5043 return Err(serde::de::Error::duplicate_field("pageSize"));
5044 }
5045 page_size__ = Some(
5046 map_
5047 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
5048 .0,
5049 );
5050 }
5051 GeneratedField::PageToken => {
5052 if page_token__.is_some() {
5053 return Err(serde::de::Error::duplicate_field("pageToken"));
5054 }
5055 page_token__ = Some(map_.next_value()?);
5056 }
5057 GeneratedField::__SkipField__ => {
5058 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5059 }
5060 }
5061 }
5062 Ok(ListBillingAccountsRequest {
5063 parent: parent__.unwrap_or_default(),
5064 page_size: page_size__.unwrap_or_default(),
5065 page_token: page_token__.unwrap_or_default(),
5066 })
5067 }
5068 }
5069 deserializer
5070 .deserialize_struct(
5071 "origincloud.billing.v1beta1.ListBillingAccountsRequest",
5072 FIELDS,
5073 GeneratedVisitor,
5074 )
5075 }
5076}
5077impl serde::Serialize for ListBillingAccountsResponse {
5078 #[allow(deprecated)]
5079 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5080 where
5081 S: serde::Serializer,
5082 {
5083 use serde::ser::SerializeStruct;
5084 let mut len = 0;
5085 if !self.billing_accounts.is_empty() {
5086 len += 1;
5087 }
5088 if !self.next_page_token.is_empty() {
5089 len += 1;
5090 }
5091 let mut struct_ser = serializer
5092 .serialize_struct(
5093 "origincloud.billing.v1beta1.ListBillingAccountsResponse",
5094 len,
5095 )?;
5096 if !self.billing_accounts.is_empty() {
5097 struct_ser.serialize_field("billingAccounts", &self.billing_accounts)?;
5098 }
5099 if !self.next_page_token.is_empty() {
5100 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
5101 }
5102 struct_ser.end()
5103 }
5104}
5105impl<'de> serde::Deserialize<'de> for ListBillingAccountsResponse {
5106 #[allow(deprecated)]
5107 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5108 where
5109 D: serde::Deserializer<'de>,
5110 {
5111 const FIELDS: &[&str] = &[
5112 "billing_accounts",
5113 "billingAccounts",
5114 "next_page_token",
5115 "nextPageToken",
5116 ];
5117 #[allow(clippy::enum_variant_names)]
5118 enum GeneratedField {
5119 BillingAccounts,
5120 NextPageToken,
5121 __SkipField__,
5122 }
5123 impl<'de> serde::Deserialize<'de> for GeneratedField {
5124 fn deserialize<D>(
5125 deserializer: D,
5126 ) -> std::result::Result<GeneratedField, D::Error>
5127 where
5128 D: serde::Deserializer<'de>,
5129 {
5130 struct GeneratedVisitor;
5131 impl serde::de::Visitor<'_> for GeneratedVisitor {
5132 type Value = GeneratedField;
5133 fn expecting(
5134 &self,
5135 formatter: &mut std::fmt::Formatter<'_>,
5136 ) -> std::fmt::Result {
5137 write!(formatter, "expected one of: {:?}", & FIELDS)
5138 }
5139 #[allow(unused_variables)]
5140 fn visit_str<E>(
5141 self,
5142 value: &str,
5143 ) -> std::result::Result<GeneratedField, E>
5144 where
5145 E: serde::de::Error,
5146 {
5147 match value {
5148 "billingAccounts" | "billing_accounts" => {
5149 Ok(GeneratedField::BillingAccounts)
5150 }
5151 "nextPageToken" | "next_page_token" => {
5152 Ok(GeneratedField::NextPageToken)
5153 }
5154 _ => Ok(GeneratedField::__SkipField__),
5155 }
5156 }
5157 }
5158 deserializer.deserialize_identifier(GeneratedVisitor)
5159 }
5160 }
5161 struct GeneratedVisitor;
5162 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5163 type Value = ListBillingAccountsResponse;
5164 fn expecting(
5165 &self,
5166 formatter: &mut std::fmt::Formatter<'_>,
5167 ) -> std::fmt::Result {
5168 formatter
5169 .write_str(
5170 "struct origincloud.billing.v1beta1.ListBillingAccountsResponse",
5171 )
5172 }
5173 fn visit_map<V>(
5174 self,
5175 mut map_: V,
5176 ) -> std::result::Result<ListBillingAccountsResponse, V::Error>
5177 where
5178 V: serde::de::MapAccess<'de>,
5179 {
5180 let mut billing_accounts__ = None;
5181 let mut next_page_token__ = None;
5182 while let Some(k) = map_.next_key()? {
5183 match k {
5184 GeneratedField::BillingAccounts => {
5185 if billing_accounts__.is_some() {
5186 return Err(
5187 serde::de::Error::duplicate_field("billingAccounts"),
5188 );
5189 }
5190 billing_accounts__ = Some(map_.next_value()?);
5191 }
5192 GeneratedField::NextPageToken => {
5193 if next_page_token__.is_some() {
5194 return Err(
5195 serde::de::Error::duplicate_field("nextPageToken"),
5196 );
5197 }
5198 next_page_token__ = Some(map_.next_value()?);
5199 }
5200 GeneratedField::__SkipField__ => {
5201 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5202 }
5203 }
5204 }
5205 Ok(ListBillingAccountsResponse {
5206 billing_accounts: billing_accounts__.unwrap_or_default(),
5207 next_page_token: next_page_token__.unwrap_or_default(),
5208 })
5209 }
5210 }
5211 deserializer
5212 .deserialize_struct(
5213 "origincloud.billing.v1beta1.ListBillingAccountsResponse",
5214 FIELDS,
5215 GeneratedVisitor,
5216 )
5217 }
5218}
5219impl serde::Serialize for ListBillingCountriesRequest {
5220 #[allow(deprecated)]
5221 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5222 where
5223 S: serde::Serializer,
5224 {
5225 use serde::ser::SerializeStruct;
5226 let mut len = 0;
5227 if self.page_size != 0 {
5228 len += 1;
5229 }
5230 if !self.page_token.is_empty() {
5231 len += 1;
5232 }
5233 let mut struct_ser = serializer
5234 .serialize_struct(
5235 "origincloud.billing.v1beta1.ListBillingCountriesRequest",
5236 len,
5237 )?;
5238 if self.page_size != 0 {
5239 struct_ser.serialize_field("pageSize", &self.page_size)?;
5240 }
5241 if !self.page_token.is_empty() {
5242 struct_ser.serialize_field("pageToken", &self.page_token)?;
5243 }
5244 struct_ser.end()
5245 }
5246}
5247impl<'de> serde::Deserialize<'de> for ListBillingCountriesRequest {
5248 #[allow(deprecated)]
5249 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5250 where
5251 D: serde::Deserializer<'de>,
5252 {
5253 const FIELDS: &[&str] = &["page_size", "pageSize", "page_token", "pageToken"];
5254 #[allow(clippy::enum_variant_names)]
5255 enum GeneratedField {
5256 PageSize,
5257 PageToken,
5258 __SkipField__,
5259 }
5260 impl<'de> serde::Deserialize<'de> for GeneratedField {
5261 fn deserialize<D>(
5262 deserializer: D,
5263 ) -> std::result::Result<GeneratedField, D::Error>
5264 where
5265 D: serde::Deserializer<'de>,
5266 {
5267 struct GeneratedVisitor;
5268 impl serde::de::Visitor<'_> for GeneratedVisitor {
5269 type Value = GeneratedField;
5270 fn expecting(
5271 &self,
5272 formatter: &mut std::fmt::Formatter<'_>,
5273 ) -> std::fmt::Result {
5274 write!(formatter, "expected one of: {:?}", & FIELDS)
5275 }
5276 #[allow(unused_variables)]
5277 fn visit_str<E>(
5278 self,
5279 value: &str,
5280 ) -> std::result::Result<GeneratedField, E>
5281 where
5282 E: serde::de::Error,
5283 {
5284 match value {
5285 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
5286 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
5287 _ => Ok(GeneratedField::__SkipField__),
5288 }
5289 }
5290 }
5291 deserializer.deserialize_identifier(GeneratedVisitor)
5292 }
5293 }
5294 struct GeneratedVisitor;
5295 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5296 type Value = ListBillingCountriesRequest;
5297 fn expecting(
5298 &self,
5299 formatter: &mut std::fmt::Formatter<'_>,
5300 ) -> std::fmt::Result {
5301 formatter
5302 .write_str(
5303 "struct origincloud.billing.v1beta1.ListBillingCountriesRequest",
5304 )
5305 }
5306 fn visit_map<V>(
5307 self,
5308 mut map_: V,
5309 ) -> std::result::Result<ListBillingCountriesRequest, V::Error>
5310 where
5311 V: serde::de::MapAccess<'de>,
5312 {
5313 let mut page_size__ = None;
5314 let mut page_token__ = None;
5315 while let Some(k) = map_.next_key()? {
5316 match k {
5317 GeneratedField::PageSize => {
5318 if page_size__.is_some() {
5319 return Err(serde::de::Error::duplicate_field("pageSize"));
5320 }
5321 page_size__ = Some(
5322 map_
5323 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
5324 .0,
5325 );
5326 }
5327 GeneratedField::PageToken => {
5328 if page_token__.is_some() {
5329 return Err(serde::de::Error::duplicate_field("pageToken"));
5330 }
5331 page_token__ = Some(map_.next_value()?);
5332 }
5333 GeneratedField::__SkipField__ => {
5334 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5335 }
5336 }
5337 }
5338 Ok(ListBillingCountriesRequest {
5339 page_size: page_size__.unwrap_or_default(),
5340 page_token: page_token__.unwrap_or_default(),
5341 })
5342 }
5343 }
5344 deserializer
5345 .deserialize_struct(
5346 "origincloud.billing.v1beta1.ListBillingCountriesRequest",
5347 FIELDS,
5348 GeneratedVisitor,
5349 )
5350 }
5351}
5352impl serde::Serialize for ListBillingCountriesResponse {
5353 #[allow(deprecated)]
5354 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5355 where
5356 S: serde::Serializer,
5357 {
5358 use serde::ser::SerializeStruct;
5359 let mut len = 0;
5360 if !self.billing_countries.is_empty() {
5361 len += 1;
5362 }
5363 if !self.next_page_token.is_empty() {
5364 len += 1;
5365 }
5366 let mut struct_ser = serializer
5367 .serialize_struct(
5368 "origincloud.billing.v1beta1.ListBillingCountriesResponse",
5369 len,
5370 )?;
5371 if !self.billing_countries.is_empty() {
5372 struct_ser.serialize_field("billingCountries", &self.billing_countries)?;
5373 }
5374 if !self.next_page_token.is_empty() {
5375 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
5376 }
5377 struct_ser.end()
5378 }
5379}
5380impl<'de> serde::Deserialize<'de> for ListBillingCountriesResponse {
5381 #[allow(deprecated)]
5382 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5383 where
5384 D: serde::Deserializer<'de>,
5385 {
5386 const FIELDS: &[&str] = &[
5387 "billing_countries",
5388 "billingCountries",
5389 "next_page_token",
5390 "nextPageToken",
5391 ];
5392 #[allow(clippy::enum_variant_names)]
5393 enum GeneratedField {
5394 BillingCountries,
5395 NextPageToken,
5396 __SkipField__,
5397 }
5398 impl<'de> serde::Deserialize<'de> for GeneratedField {
5399 fn deserialize<D>(
5400 deserializer: D,
5401 ) -> std::result::Result<GeneratedField, D::Error>
5402 where
5403 D: serde::Deserializer<'de>,
5404 {
5405 struct GeneratedVisitor;
5406 impl serde::de::Visitor<'_> for GeneratedVisitor {
5407 type Value = GeneratedField;
5408 fn expecting(
5409 &self,
5410 formatter: &mut std::fmt::Formatter<'_>,
5411 ) -> std::fmt::Result {
5412 write!(formatter, "expected one of: {:?}", & FIELDS)
5413 }
5414 #[allow(unused_variables)]
5415 fn visit_str<E>(
5416 self,
5417 value: &str,
5418 ) -> std::result::Result<GeneratedField, E>
5419 where
5420 E: serde::de::Error,
5421 {
5422 match value {
5423 "billingCountries" | "billing_countries" => {
5424 Ok(GeneratedField::BillingCountries)
5425 }
5426 "nextPageToken" | "next_page_token" => {
5427 Ok(GeneratedField::NextPageToken)
5428 }
5429 _ => Ok(GeneratedField::__SkipField__),
5430 }
5431 }
5432 }
5433 deserializer.deserialize_identifier(GeneratedVisitor)
5434 }
5435 }
5436 struct GeneratedVisitor;
5437 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5438 type Value = ListBillingCountriesResponse;
5439 fn expecting(
5440 &self,
5441 formatter: &mut std::fmt::Formatter<'_>,
5442 ) -> std::fmt::Result {
5443 formatter
5444 .write_str(
5445 "struct origincloud.billing.v1beta1.ListBillingCountriesResponse",
5446 )
5447 }
5448 fn visit_map<V>(
5449 self,
5450 mut map_: V,
5451 ) -> std::result::Result<ListBillingCountriesResponse, V::Error>
5452 where
5453 V: serde::de::MapAccess<'de>,
5454 {
5455 let mut billing_countries__ = None;
5456 let mut next_page_token__ = None;
5457 while let Some(k) = map_.next_key()? {
5458 match k {
5459 GeneratedField::BillingCountries => {
5460 if billing_countries__.is_some() {
5461 return Err(
5462 serde::de::Error::duplicate_field("billingCountries"),
5463 );
5464 }
5465 billing_countries__ = Some(map_.next_value()?);
5466 }
5467 GeneratedField::NextPageToken => {
5468 if next_page_token__.is_some() {
5469 return Err(
5470 serde::de::Error::duplicate_field("nextPageToken"),
5471 );
5472 }
5473 next_page_token__ = Some(map_.next_value()?);
5474 }
5475 GeneratedField::__SkipField__ => {
5476 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5477 }
5478 }
5479 }
5480 Ok(ListBillingCountriesResponse {
5481 billing_countries: billing_countries__.unwrap_or_default(),
5482 next_page_token: next_page_token__.unwrap_or_default(),
5483 })
5484 }
5485 }
5486 deserializer
5487 .deserialize_struct(
5488 "origincloud.billing.v1beta1.ListBillingCountriesResponse",
5489 FIELDS,
5490 GeneratedVisitor,
5491 )
5492 }
5493}
5494impl serde::Serialize for ListLegalAcceptancesRequest {
5495 #[allow(deprecated)]
5496 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5497 where
5498 S: serde::Serializer,
5499 {
5500 use serde::ser::SerializeStruct;
5501 let mut len = 0;
5502 if !self.parent.is_empty() {
5503 len += 1;
5504 }
5505 if self.page_size != 0 {
5506 len += 1;
5507 }
5508 if !self.page_token.is_empty() {
5509 len += 1;
5510 }
5511 let mut struct_ser = serializer
5512 .serialize_struct(
5513 "origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
5514 len,
5515 )?;
5516 if !self.parent.is_empty() {
5517 struct_ser.serialize_field("parent", &self.parent)?;
5518 }
5519 if self.page_size != 0 {
5520 struct_ser.serialize_field("pageSize", &self.page_size)?;
5521 }
5522 if !self.page_token.is_empty() {
5523 struct_ser.serialize_field("pageToken", &self.page_token)?;
5524 }
5525 struct_ser.end()
5526 }
5527}
5528impl<'de> serde::Deserialize<'de> for ListLegalAcceptancesRequest {
5529 #[allow(deprecated)]
5530 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5531 where
5532 D: serde::Deserializer<'de>,
5533 {
5534 const FIELDS: &[&str] = &[
5535 "parent",
5536 "page_size",
5537 "pageSize",
5538 "page_token",
5539 "pageToken",
5540 ];
5541 #[allow(clippy::enum_variant_names)]
5542 enum GeneratedField {
5543 Parent,
5544 PageSize,
5545 PageToken,
5546 __SkipField__,
5547 }
5548 impl<'de> serde::Deserialize<'de> for GeneratedField {
5549 fn deserialize<D>(
5550 deserializer: D,
5551 ) -> std::result::Result<GeneratedField, D::Error>
5552 where
5553 D: serde::Deserializer<'de>,
5554 {
5555 struct GeneratedVisitor;
5556 impl serde::de::Visitor<'_> for GeneratedVisitor {
5557 type Value = GeneratedField;
5558 fn expecting(
5559 &self,
5560 formatter: &mut std::fmt::Formatter<'_>,
5561 ) -> std::fmt::Result {
5562 write!(formatter, "expected one of: {:?}", & FIELDS)
5563 }
5564 #[allow(unused_variables)]
5565 fn visit_str<E>(
5566 self,
5567 value: &str,
5568 ) -> std::result::Result<GeneratedField, E>
5569 where
5570 E: serde::de::Error,
5571 {
5572 match value {
5573 "parent" => Ok(GeneratedField::Parent),
5574 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
5575 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
5576 _ => Ok(GeneratedField::__SkipField__),
5577 }
5578 }
5579 }
5580 deserializer.deserialize_identifier(GeneratedVisitor)
5581 }
5582 }
5583 struct GeneratedVisitor;
5584 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5585 type Value = ListLegalAcceptancesRequest;
5586 fn expecting(
5587 &self,
5588 formatter: &mut std::fmt::Formatter<'_>,
5589 ) -> std::fmt::Result {
5590 formatter
5591 .write_str(
5592 "struct origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
5593 )
5594 }
5595 fn visit_map<V>(
5596 self,
5597 mut map_: V,
5598 ) -> std::result::Result<ListLegalAcceptancesRequest, V::Error>
5599 where
5600 V: serde::de::MapAccess<'de>,
5601 {
5602 let mut parent__ = None;
5603 let mut page_size__ = None;
5604 let mut page_token__ = None;
5605 while let Some(k) = map_.next_key()? {
5606 match k {
5607 GeneratedField::Parent => {
5608 if parent__.is_some() {
5609 return Err(serde::de::Error::duplicate_field("parent"));
5610 }
5611 parent__ = Some(map_.next_value()?);
5612 }
5613 GeneratedField::PageSize => {
5614 if page_size__.is_some() {
5615 return Err(serde::de::Error::duplicate_field("pageSize"));
5616 }
5617 page_size__ = Some(
5618 map_
5619 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
5620 .0,
5621 );
5622 }
5623 GeneratedField::PageToken => {
5624 if page_token__.is_some() {
5625 return Err(serde::de::Error::duplicate_field("pageToken"));
5626 }
5627 page_token__ = Some(map_.next_value()?);
5628 }
5629 GeneratedField::__SkipField__ => {
5630 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5631 }
5632 }
5633 }
5634 Ok(ListLegalAcceptancesRequest {
5635 parent: parent__.unwrap_or_default(),
5636 page_size: page_size__.unwrap_or_default(),
5637 page_token: page_token__.unwrap_or_default(),
5638 })
5639 }
5640 }
5641 deserializer
5642 .deserialize_struct(
5643 "origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
5644 FIELDS,
5645 GeneratedVisitor,
5646 )
5647 }
5648}
5649impl serde::Serialize for ListLegalAcceptancesResponse {
5650 #[allow(deprecated)]
5651 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5652 where
5653 S: serde::Serializer,
5654 {
5655 use serde::ser::SerializeStruct;
5656 let mut len = 0;
5657 if !self.legal_acceptances.is_empty() {
5658 len += 1;
5659 }
5660 if !self.next_page_token.is_empty() {
5661 len += 1;
5662 }
5663 let mut struct_ser = serializer
5664 .serialize_struct(
5665 "origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
5666 len,
5667 )?;
5668 if !self.legal_acceptances.is_empty() {
5669 struct_ser.serialize_field("legalAcceptances", &self.legal_acceptances)?;
5670 }
5671 if !self.next_page_token.is_empty() {
5672 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
5673 }
5674 struct_ser.end()
5675 }
5676}
5677impl<'de> serde::Deserialize<'de> for ListLegalAcceptancesResponse {
5678 #[allow(deprecated)]
5679 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5680 where
5681 D: serde::Deserializer<'de>,
5682 {
5683 const FIELDS: &[&str] = &[
5684 "legal_acceptances",
5685 "legalAcceptances",
5686 "next_page_token",
5687 "nextPageToken",
5688 ];
5689 #[allow(clippy::enum_variant_names)]
5690 enum GeneratedField {
5691 LegalAcceptances,
5692 NextPageToken,
5693 __SkipField__,
5694 }
5695 impl<'de> serde::Deserialize<'de> for GeneratedField {
5696 fn deserialize<D>(
5697 deserializer: D,
5698 ) -> std::result::Result<GeneratedField, D::Error>
5699 where
5700 D: serde::Deserializer<'de>,
5701 {
5702 struct GeneratedVisitor;
5703 impl serde::de::Visitor<'_> for GeneratedVisitor {
5704 type Value = GeneratedField;
5705 fn expecting(
5706 &self,
5707 formatter: &mut std::fmt::Formatter<'_>,
5708 ) -> std::fmt::Result {
5709 write!(formatter, "expected one of: {:?}", & FIELDS)
5710 }
5711 #[allow(unused_variables)]
5712 fn visit_str<E>(
5713 self,
5714 value: &str,
5715 ) -> std::result::Result<GeneratedField, E>
5716 where
5717 E: serde::de::Error,
5718 {
5719 match value {
5720 "legalAcceptances" | "legal_acceptances" => {
5721 Ok(GeneratedField::LegalAcceptances)
5722 }
5723 "nextPageToken" | "next_page_token" => {
5724 Ok(GeneratedField::NextPageToken)
5725 }
5726 _ => Ok(GeneratedField::__SkipField__),
5727 }
5728 }
5729 }
5730 deserializer.deserialize_identifier(GeneratedVisitor)
5731 }
5732 }
5733 struct GeneratedVisitor;
5734 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5735 type Value = ListLegalAcceptancesResponse;
5736 fn expecting(
5737 &self,
5738 formatter: &mut std::fmt::Formatter<'_>,
5739 ) -> std::fmt::Result {
5740 formatter
5741 .write_str(
5742 "struct origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
5743 )
5744 }
5745 fn visit_map<V>(
5746 self,
5747 mut map_: V,
5748 ) -> std::result::Result<ListLegalAcceptancesResponse, V::Error>
5749 where
5750 V: serde::de::MapAccess<'de>,
5751 {
5752 let mut legal_acceptances__ = None;
5753 let mut next_page_token__ = None;
5754 while let Some(k) = map_.next_key()? {
5755 match k {
5756 GeneratedField::LegalAcceptances => {
5757 if legal_acceptances__.is_some() {
5758 return Err(
5759 serde::de::Error::duplicate_field("legalAcceptances"),
5760 );
5761 }
5762 legal_acceptances__ = Some(map_.next_value()?);
5763 }
5764 GeneratedField::NextPageToken => {
5765 if next_page_token__.is_some() {
5766 return Err(
5767 serde::de::Error::duplicate_field("nextPageToken"),
5768 );
5769 }
5770 next_page_token__ = Some(map_.next_value()?);
5771 }
5772 GeneratedField::__SkipField__ => {
5773 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5774 }
5775 }
5776 }
5777 Ok(ListLegalAcceptancesResponse {
5778 legal_acceptances: legal_acceptances__.unwrap_or_default(),
5779 next_page_token: next_page_token__.unwrap_or_default(),
5780 })
5781 }
5782 }
5783 deserializer
5784 .deserialize_struct(
5785 "origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
5786 FIELDS,
5787 GeneratedVisitor,
5788 )
5789 }
5790}
5791impl serde::Serialize for ListLegalDocumentVersionsRequest {
5792 #[allow(deprecated)]
5793 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5794 where
5795 S: serde::Serializer,
5796 {
5797 use serde::ser::SerializeStruct;
5798 let mut len = 0;
5799 if !self.parent.is_empty() {
5800 len += 1;
5801 }
5802 if self.page_size != 0 {
5803 len += 1;
5804 }
5805 if !self.page_token.is_empty() {
5806 len += 1;
5807 }
5808 let mut struct_ser = serializer
5809 .serialize_struct(
5810 "origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
5811 len,
5812 )?;
5813 if !self.parent.is_empty() {
5814 struct_ser.serialize_field("parent", &self.parent)?;
5815 }
5816 if self.page_size != 0 {
5817 struct_ser.serialize_field("pageSize", &self.page_size)?;
5818 }
5819 if !self.page_token.is_empty() {
5820 struct_ser.serialize_field("pageToken", &self.page_token)?;
5821 }
5822 struct_ser.end()
5823 }
5824}
5825impl<'de> serde::Deserialize<'de> for ListLegalDocumentVersionsRequest {
5826 #[allow(deprecated)]
5827 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5828 where
5829 D: serde::Deserializer<'de>,
5830 {
5831 const FIELDS: &[&str] = &[
5832 "parent",
5833 "page_size",
5834 "pageSize",
5835 "page_token",
5836 "pageToken",
5837 ];
5838 #[allow(clippy::enum_variant_names)]
5839 enum GeneratedField {
5840 Parent,
5841 PageSize,
5842 PageToken,
5843 __SkipField__,
5844 }
5845 impl<'de> serde::Deserialize<'de> for GeneratedField {
5846 fn deserialize<D>(
5847 deserializer: D,
5848 ) -> std::result::Result<GeneratedField, D::Error>
5849 where
5850 D: serde::Deserializer<'de>,
5851 {
5852 struct GeneratedVisitor;
5853 impl serde::de::Visitor<'_> for GeneratedVisitor {
5854 type Value = GeneratedField;
5855 fn expecting(
5856 &self,
5857 formatter: &mut std::fmt::Formatter<'_>,
5858 ) -> std::fmt::Result {
5859 write!(formatter, "expected one of: {:?}", & FIELDS)
5860 }
5861 #[allow(unused_variables)]
5862 fn visit_str<E>(
5863 self,
5864 value: &str,
5865 ) -> std::result::Result<GeneratedField, E>
5866 where
5867 E: serde::de::Error,
5868 {
5869 match value {
5870 "parent" => Ok(GeneratedField::Parent),
5871 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
5872 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
5873 _ => Ok(GeneratedField::__SkipField__),
5874 }
5875 }
5876 }
5877 deserializer.deserialize_identifier(GeneratedVisitor)
5878 }
5879 }
5880 struct GeneratedVisitor;
5881 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
5882 type Value = ListLegalDocumentVersionsRequest;
5883 fn expecting(
5884 &self,
5885 formatter: &mut std::fmt::Formatter<'_>,
5886 ) -> std::fmt::Result {
5887 formatter
5888 .write_str(
5889 "struct origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
5890 )
5891 }
5892 fn visit_map<V>(
5893 self,
5894 mut map_: V,
5895 ) -> std::result::Result<ListLegalDocumentVersionsRequest, V::Error>
5896 where
5897 V: serde::de::MapAccess<'de>,
5898 {
5899 let mut parent__ = None;
5900 let mut page_size__ = None;
5901 let mut page_token__ = None;
5902 while let Some(k) = map_.next_key()? {
5903 match k {
5904 GeneratedField::Parent => {
5905 if parent__.is_some() {
5906 return Err(serde::de::Error::duplicate_field("parent"));
5907 }
5908 parent__ = Some(map_.next_value()?);
5909 }
5910 GeneratedField::PageSize => {
5911 if page_size__.is_some() {
5912 return Err(serde::de::Error::duplicate_field("pageSize"));
5913 }
5914 page_size__ = Some(
5915 map_
5916 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
5917 .0,
5918 );
5919 }
5920 GeneratedField::PageToken => {
5921 if page_token__.is_some() {
5922 return Err(serde::de::Error::duplicate_field("pageToken"));
5923 }
5924 page_token__ = Some(map_.next_value()?);
5925 }
5926 GeneratedField::__SkipField__ => {
5927 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
5928 }
5929 }
5930 }
5931 Ok(ListLegalDocumentVersionsRequest {
5932 parent: parent__.unwrap_or_default(),
5933 page_size: page_size__.unwrap_or_default(),
5934 page_token: page_token__.unwrap_or_default(),
5935 })
5936 }
5937 }
5938 deserializer
5939 .deserialize_struct(
5940 "origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
5941 FIELDS,
5942 GeneratedVisitor,
5943 )
5944 }
5945}
5946impl serde::Serialize for ListLegalDocumentVersionsResponse {
5947 #[allow(deprecated)]
5948 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
5949 where
5950 S: serde::Serializer,
5951 {
5952 use serde::ser::SerializeStruct;
5953 let mut len = 0;
5954 if !self.legal_document_versions.is_empty() {
5955 len += 1;
5956 }
5957 if !self.next_page_token.is_empty() {
5958 len += 1;
5959 }
5960 let mut struct_ser = serializer
5961 .serialize_struct(
5962 "origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
5963 len,
5964 )?;
5965 if !self.legal_document_versions.is_empty() {
5966 struct_ser
5967 .serialize_field(
5968 "legalDocumentVersions",
5969 &self.legal_document_versions,
5970 )?;
5971 }
5972 if !self.next_page_token.is_empty() {
5973 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
5974 }
5975 struct_ser.end()
5976 }
5977}
5978impl<'de> serde::Deserialize<'de> for ListLegalDocumentVersionsResponse {
5979 #[allow(deprecated)]
5980 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
5981 where
5982 D: serde::Deserializer<'de>,
5983 {
5984 const FIELDS: &[&str] = &[
5985 "legal_document_versions",
5986 "legalDocumentVersions",
5987 "next_page_token",
5988 "nextPageToken",
5989 ];
5990 #[allow(clippy::enum_variant_names)]
5991 enum GeneratedField {
5992 LegalDocumentVersions,
5993 NextPageToken,
5994 __SkipField__,
5995 }
5996 impl<'de> serde::Deserialize<'de> for GeneratedField {
5997 fn deserialize<D>(
5998 deserializer: D,
5999 ) -> std::result::Result<GeneratedField, D::Error>
6000 where
6001 D: serde::Deserializer<'de>,
6002 {
6003 struct GeneratedVisitor;
6004 impl serde::de::Visitor<'_> for GeneratedVisitor {
6005 type Value = GeneratedField;
6006 fn expecting(
6007 &self,
6008 formatter: &mut std::fmt::Formatter<'_>,
6009 ) -> std::fmt::Result {
6010 write!(formatter, "expected one of: {:?}", & FIELDS)
6011 }
6012 #[allow(unused_variables)]
6013 fn visit_str<E>(
6014 self,
6015 value: &str,
6016 ) -> std::result::Result<GeneratedField, E>
6017 where
6018 E: serde::de::Error,
6019 {
6020 match value {
6021 "legalDocumentVersions" | "legal_document_versions" => {
6022 Ok(GeneratedField::LegalDocumentVersions)
6023 }
6024 "nextPageToken" | "next_page_token" => {
6025 Ok(GeneratedField::NextPageToken)
6026 }
6027 _ => Ok(GeneratedField::__SkipField__),
6028 }
6029 }
6030 }
6031 deserializer.deserialize_identifier(GeneratedVisitor)
6032 }
6033 }
6034 struct GeneratedVisitor;
6035 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6036 type Value = ListLegalDocumentVersionsResponse;
6037 fn expecting(
6038 &self,
6039 formatter: &mut std::fmt::Formatter<'_>,
6040 ) -> std::fmt::Result {
6041 formatter
6042 .write_str(
6043 "struct origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
6044 )
6045 }
6046 fn visit_map<V>(
6047 self,
6048 mut map_: V,
6049 ) -> std::result::Result<ListLegalDocumentVersionsResponse, V::Error>
6050 where
6051 V: serde::de::MapAccess<'de>,
6052 {
6053 let mut legal_document_versions__ = None;
6054 let mut next_page_token__ = None;
6055 while let Some(k) = map_.next_key()? {
6056 match k {
6057 GeneratedField::LegalDocumentVersions => {
6058 if legal_document_versions__.is_some() {
6059 return Err(
6060 serde::de::Error::duplicate_field("legalDocumentVersions"),
6061 );
6062 }
6063 legal_document_versions__ = Some(map_.next_value()?);
6064 }
6065 GeneratedField::NextPageToken => {
6066 if next_page_token__.is_some() {
6067 return Err(
6068 serde::de::Error::duplicate_field("nextPageToken"),
6069 );
6070 }
6071 next_page_token__ = Some(map_.next_value()?);
6072 }
6073 GeneratedField::__SkipField__ => {
6074 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6075 }
6076 }
6077 }
6078 Ok(ListLegalDocumentVersionsResponse {
6079 legal_document_versions: legal_document_versions__
6080 .unwrap_or_default(),
6081 next_page_token: next_page_token__.unwrap_or_default(),
6082 })
6083 }
6084 }
6085 deserializer
6086 .deserialize_struct(
6087 "origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
6088 FIELDS,
6089 GeneratedVisitor,
6090 )
6091 }
6092}
6093impl serde::Serialize for ListLegalDocumentsRequest {
6094 #[allow(deprecated)]
6095 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6096 where
6097 S: serde::Serializer,
6098 {
6099 use serde::ser::SerializeStruct;
6100 let mut len = 0;
6101 if self.page_size != 0 {
6102 len += 1;
6103 }
6104 if !self.page_token.is_empty() {
6105 len += 1;
6106 }
6107 let mut struct_ser = serializer
6108 .serialize_struct(
6109 "origincloud.billing.v1beta1.ListLegalDocumentsRequest",
6110 len,
6111 )?;
6112 if self.page_size != 0 {
6113 struct_ser.serialize_field("pageSize", &self.page_size)?;
6114 }
6115 if !self.page_token.is_empty() {
6116 struct_ser.serialize_field("pageToken", &self.page_token)?;
6117 }
6118 struct_ser.end()
6119 }
6120}
6121impl<'de> serde::Deserialize<'de> for ListLegalDocumentsRequest {
6122 #[allow(deprecated)]
6123 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6124 where
6125 D: serde::Deserializer<'de>,
6126 {
6127 const FIELDS: &[&str] = &["page_size", "pageSize", "page_token", "pageToken"];
6128 #[allow(clippy::enum_variant_names)]
6129 enum GeneratedField {
6130 PageSize,
6131 PageToken,
6132 __SkipField__,
6133 }
6134 impl<'de> serde::Deserialize<'de> for GeneratedField {
6135 fn deserialize<D>(
6136 deserializer: D,
6137 ) -> std::result::Result<GeneratedField, D::Error>
6138 where
6139 D: serde::Deserializer<'de>,
6140 {
6141 struct GeneratedVisitor;
6142 impl serde::de::Visitor<'_> for GeneratedVisitor {
6143 type Value = GeneratedField;
6144 fn expecting(
6145 &self,
6146 formatter: &mut std::fmt::Formatter<'_>,
6147 ) -> std::fmt::Result {
6148 write!(formatter, "expected one of: {:?}", & FIELDS)
6149 }
6150 #[allow(unused_variables)]
6151 fn visit_str<E>(
6152 self,
6153 value: &str,
6154 ) -> std::result::Result<GeneratedField, E>
6155 where
6156 E: serde::de::Error,
6157 {
6158 match value {
6159 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
6160 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
6161 _ => Ok(GeneratedField::__SkipField__),
6162 }
6163 }
6164 }
6165 deserializer.deserialize_identifier(GeneratedVisitor)
6166 }
6167 }
6168 struct GeneratedVisitor;
6169 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6170 type Value = ListLegalDocumentsRequest;
6171 fn expecting(
6172 &self,
6173 formatter: &mut std::fmt::Formatter<'_>,
6174 ) -> std::fmt::Result {
6175 formatter
6176 .write_str(
6177 "struct origincloud.billing.v1beta1.ListLegalDocumentsRequest",
6178 )
6179 }
6180 fn visit_map<V>(
6181 self,
6182 mut map_: V,
6183 ) -> std::result::Result<ListLegalDocumentsRequest, V::Error>
6184 where
6185 V: serde::de::MapAccess<'de>,
6186 {
6187 let mut page_size__ = None;
6188 let mut page_token__ = None;
6189 while let Some(k) = map_.next_key()? {
6190 match k {
6191 GeneratedField::PageSize => {
6192 if page_size__.is_some() {
6193 return Err(serde::de::Error::duplicate_field("pageSize"));
6194 }
6195 page_size__ = Some(
6196 map_
6197 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
6198 .0,
6199 );
6200 }
6201 GeneratedField::PageToken => {
6202 if page_token__.is_some() {
6203 return Err(serde::de::Error::duplicate_field("pageToken"));
6204 }
6205 page_token__ = Some(map_.next_value()?);
6206 }
6207 GeneratedField::__SkipField__ => {
6208 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6209 }
6210 }
6211 }
6212 Ok(ListLegalDocumentsRequest {
6213 page_size: page_size__.unwrap_or_default(),
6214 page_token: page_token__.unwrap_or_default(),
6215 })
6216 }
6217 }
6218 deserializer
6219 .deserialize_struct(
6220 "origincloud.billing.v1beta1.ListLegalDocumentsRequest",
6221 FIELDS,
6222 GeneratedVisitor,
6223 )
6224 }
6225}
6226impl serde::Serialize for ListLegalDocumentsResponse {
6227 #[allow(deprecated)]
6228 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6229 where
6230 S: serde::Serializer,
6231 {
6232 use serde::ser::SerializeStruct;
6233 let mut len = 0;
6234 if !self.legal_documents.is_empty() {
6235 len += 1;
6236 }
6237 if !self.next_page_token.is_empty() {
6238 len += 1;
6239 }
6240 let mut struct_ser = serializer
6241 .serialize_struct(
6242 "origincloud.billing.v1beta1.ListLegalDocumentsResponse",
6243 len,
6244 )?;
6245 if !self.legal_documents.is_empty() {
6246 struct_ser.serialize_field("legalDocuments", &self.legal_documents)?;
6247 }
6248 if !self.next_page_token.is_empty() {
6249 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
6250 }
6251 struct_ser.end()
6252 }
6253}
6254impl<'de> serde::Deserialize<'de> for ListLegalDocumentsResponse {
6255 #[allow(deprecated)]
6256 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6257 where
6258 D: serde::Deserializer<'de>,
6259 {
6260 const FIELDS: &[&str] = &[
6261 "legal_documents",
6262 "legalDocuments",
6263 "next_page_token",
6264 "nextPageToken",
6265 ];
6266 #[allow(clippy::enum_variant_names)]
6267 enum GeneratedField {
6268 LegalDocuments,
6269 NextPageToken,
6270 __SkipField__,
6271 }
6272 impl<'de> serde::Deserialize<'de> for GeneratedField {
6273 fn deserialize<D>(
6274 deserializer: D,
6275 ) -> std::result::Result<GeneratedField, D::Error>
6276 where
6277 D: serde::Deserializer<'de>,
6278 {
6279 struct GeneratedVisitor;
6280 impl serde::de::Visitor<'_> for GeneratedVisitor {
6281 type Value = GeneratedField;
6282 fn expecting(
6283 &self,
6284 formatter: &mut std::fmt::Formatter<'_>,
6285 ) -> std::fmt::Result {
6286 write!(formatter, "expected one of: {:?}", & FIELDS)
6287 }
6288 #[allow(unused_variables)]
6289 fn visit_str<E>(
6290 self,
6291 value: &str,
6292 ) -> std::result::Result<GeneratedField, E>
6293 where
6294 E: serde::de::Error,
6295 {
6296 match value {
6297 "legalDocuments" | "legal_documents" => {
6298 Ok(GeneratedField::LegalDocuments)
6299 }
6300 "nextPageToken" | "next_page_token" => {
6301 Ok(GeneratedField::NextPageToken)
6302 }
6303 _ => Ok(GeneratedField::__SkipField__),
6304 }
6305 }
6306 }
6307 deserializer.deserialize_identifier(GeneratedVisitor)
6308 }
6309 }
6310 struct GeneratedVisitor;
6311 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6312 type Value = ListLegalDocumentsResponse;
6313 fn expecting(
6314 &self,
6315 formatter: &mut std::fmt::Formatter<'_>,
6316 ) -> std::fmt::Result {
6317 formatter
6318 .write_str(
6319 "struct origincloud.billing.v1beta1.ListLegalDocumentsResponse",
6320 )
6321 }
6322 fn visit_map<V>(
6323 self,
6324 mut map_: V,
6325 ) -> std::result::Result<ListLegalDocumentsResponse, V::Error>
6326 where
6327 V: serde::de::MapAccess<'de>,
6328 {
6329 let mut legal_documents__ = None;
6330 let mut next_page_token__ = None;
6331 while let Some(k) = map_.next_key()? {
6332 match k {
6333 GeneratedField::LegalDocuments => {
6334 if legal_documents__.is_some() {
6335 return Err(
6336 serde::de::Error::duplicate_field("legalDocuments"),
6337 );
6338 }
6339 legal_documents__ = Some(map_.next_value()?);
6340 }
6341 GeneratedField::NextPageToken => {
6342 if next_page_token__.is_some() {
6343 return Err(
6344 serde::de::Error::duplicate_field("nextPageToken"),
6345 );
6346 }
6347 next_page_token__ = Some(map_.next_value()?);
6348 }
6349 GeneratedField::__SkipField__ => {
6350 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6351 }
6352 }
6353 }
6354 Ok(ListLegalDocumentsResponse {
6355 legal_documents: legal_documents__.unwrap_or_default(),
6356 next_page_token: next_page_token__.unwrap_or_default(),
6357 })
6358 }
6359 }
6360 deserializer
6361 .deserialize_struct(
6362 "origincloud.billing.v1beta1.ListLegalDocumentsResponse",
6363 FIELDS,
6364 GeneratedVisitor,
6365 )
6366 }
6367}
6368impl serde::Serialize for ListProjectBillingInfoRequest {
6369 #[allow(deprecated)]
6370 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6371 where
6372 S: serde::Serializer,
6373 {
6374 use serde::ser::SerializeStruct;
6375 let mut len = 0;
6376 if !self.name.is_empty() {
6377 len += 1;
6378 }
6379 if self.page_size != 0 {
6380 len += 1;
6381 }
6382 if !self.page_token.is_empty() {
6383 len += 1;
6384 }
6385 let mut struct_ser = serializer
6386 .serialize_struct(
6387 "origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
6388 len,
6389 )?;
6390 if !self.name.is_empty() {
6391 struct_ser.serialize_field("name", &self.name)?;
6392 }
6393 if self.page_size != 0 {
6394 struct_ser.serialize_field("pageSize", &self.page_size)?;
6395 }
6396 if !self.page_token.is_empty() {
6397 struct_ser.serialize_field("pageToken", &self.page_token)?;
6398 }
6399 struct_ser.end()
6400 }
6401}
6402impl<'de> serde::Deserialize<'de> for ListProjectBillingInfoRequest {
6403 #[allow(deprecated)]
6404 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6405 where
6406 D: serde::Deserializer<'de>,
6407 {
6408 const FIELDS: &[&str] = &[
6409 "name",
6410 "page_size",
6411 "pageSize",
6412 "page_token",
6413 "pageToken",
6414 ];
6415 #[allow(clippy::enum_variant_names)]
6416 enum GeneratedField {
6417 Name,
6418 PageSize,
6419 PageToken,
6420 __SkipField__,
6421 }
6422 impl<'de> serde::Deserialize<'de> for GeneratedField {
6423 fn deserialize<D>(
6424 deserializer: D,
6425 ) -> std::result::Result<GeneratedField, D::Error>
6426 where
6427 D: serde::Deserializer<'de>,
6428 {
6429 struct GeneratedVisitor;
6430 impl serde::de::Visitor<'_> for GeneratedVisitor {
6431 type Value = GeneratedField;
6432 fn expecting(
6433 &self,
6434 formatter: &mut std::fmt::Formatter<'_>,
6435 ) -> std::fmt::Result {
6436 write!(formatter, "expected one of: {:?}", & FIELDS)
6437 }
6438 #[allow(unused_variables)]
6439 fn visit_str<E>(
6440 self,
6441 value: &str,
6442 ) -> std::result::Result<GeneratedField, E>
6443 where
6444 E: serde::de::Error,
6445 {
6446 match value {
6447 "name" => Ok(GeneratedField::Name),
6448 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
6449 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
6450 _ => Ok(GeneratedField::__SkipField__),
6451 }
6452 }
6453 }
6454 deserializer.deserialize_identifier(GeneratedVisitor)
6455 }
6456 }
6457 struct GeneratedVisitor;
6458 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6459 type Value = ListProjectBillingInfoRequest;
6460 fn expecting(
6461 &self,
6462 formatter: &mut std::fmt::Formatter<'_>,
6463 ) -> std::fmt::Result {
6464 formatter
6465 .write_str(
6466 "struct origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
6467 )
6468 }
6469 fn visit_map<V>(
6470 self,
6471 mut map_: V,
6472 ) -> std::result::Result<ListProjectBillingInfoRequest, V::Error>
6473 where
6474 V: serde::de::MapAccess<'de>,
6475 {
6476 let mut name__ = None;
6477 let mut page_size__ = None;
6478 let mut page_token__ = None;
6479 while let Some(k) = map_.next_key()? {
6480 match k {
6481 GeneratedField::Name => {
6482 if name__.is_some() {
6483 return Err(serde::de::Error::duplicate_field("name"));
6484 }
6485 name__ = Some(map_.next_value()?);
6486 }
6487 GeneratedField::PageSize => {
6488 if page_size__.is_some() {
6489 return Err(serde::de::Error::duplicate_field("pageSize"));
6490 }
6491 page_size__ = Some(
6492 map_
6493 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
6494 .0,
6495 );
6496 }
6497 GeneratedField::PageToken => {
6498 if page_token__.is_some() {
6499 return Err(serde::de::Error::duplicate_field("pageToken"));
6500 }
6501 page_token__ = Some(map_.next_value()?);
6502 }
6503 GeneratedField::__SkipField__ => {
6504 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6505 }
6506 }
6507 }
6508 Ok(ListProjectBillingInfoRequest {
6509 name: name__.unwrap_or_default(),
6510 page_size: page_size__.unwrap_or_default(),
6511 page_token: page_token__.unwrap_or_default(),
6512 })
6513 }
6514 }
6515 deserializer
6516 .deserialize_struct(
6517 "origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
6518 FIELDS,
6519 GeneratedVisitor,
6520 )
6521 }
6522}
6523impl serde::Serialize for ListProjectBillingInfoResponse {
6524 #[allow(deprecated)]
6525 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6526 where
6527 S: serde::Serializer,
6528 {
6529 use serde::ser::SerializeStruct;
6530 let mut len = 0;
6531 if !self.project_billing_infos.is_empty() {
6532 len += 1;
6533 }
6534 if !self.next_page_token.is_empty() {
6535 len += 1;
6536 }
6537 let mut struct_ser = serializer
6538 .serialize_struct(
6539 "origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
6540 len,
6541 )?;
6542 if !self.project_billing_infos.is_empty() {
6543 struct_ser
6544 .serialize_field("projectBillingInfos", &self.project_billing_infos)?;
6545 }
6546 if !self.next_page_token.is_empty() {
6547 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
6548 }
6549 struct_ser.end()
6550 }
6551}
6552impl<'de> serde::Deserialize<'de> for ListProjectBillingInfoResponse {
6553 #[allow(deprecated)]
6554 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6555 where
6556 D: serde::Deserializer<'de>,
6557 {
6558 const FIELDS: &[&str] = &[
6559 "project_billing_infos",
6560 "projectBillingInfos",
6561 "next_page_token",
6562 "nextPageToken",
6563 ];
6564 #[allow(clippy::enum_variant_names)]
6565 enum GeneratedField {
6566 ProjectBillingInfos,
6567 NextPageToken,
6568 __SkipField__,
6569 }
6570 impl<'de> serde::Deserialize<'de> for GeneratedField {
6571 fn deserialize<D>(
6572 deserializer: D,
6573 ) -> std::result::Result<GeneratedField, D::Error>
6574 where
6575 D: serde::Deserializer<'de>,
6576 {
6577 struct GeneratedVisitor;
6578 impl serde::de::Visitor<'_> for GeneratedVisitor {
6579 type Value = GeneratedField;
6580 fn expecting(
6581 &self,
6582 formatter: &mut std::fmt::Formatter<'_>,
6583 ) -> std::fmt::Result {
6584 write!(formatter, "expected one of: {:?}", & FIELDS)
6585 }
6586 #[allow(unused_variables)]
6587 fn visit_str<E>(
6588 self,
6589 value: &str,
6590 ) -> std::result::Result<GeneratedField, E>
6591 where
6592 E: serde::de::Error,
6593 {
6594 match value {
6595 "projectBillingInfos" | "project_billing_infos" => {
6596 Ok(GeneratedField::ProjectBillingInfos)
6597 }
6598 "nextPageToken" | "next_page_token" => {
6599 Ok(GeneratedField::NextPageToken)
6600 }
6601 _ => Ok(GeneratedField::__SkipField__),
6602 }
6603 }
6604 }
6605 deserializer.deserialize_identifier(GeneratedVisitor)
6606 }
6607 }
6608 struct GeneratedVisitor;
6609 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6610 type Value = ListProjectBillingInfoResponse;
6611 fn expecting(
6612 &self,
6613 formatter: &mut std::fmt::Formatter<'_>,
6614 ) -> std::fmt::Result {
6615 formatter
6616 .write_str(
6617 "struct origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
6618 )
6619 }
6620 fn visit_map<V>(
6621 self,
6622 mut map_: V,
6623 ) -> std::result::Result<ListProjectBillingInfoResponse, V::Error>
6624 where
6625 V: serde::de::MapAccess<'de>,
6626 {
6627 let mut project_billing_infos__ = None;
6628 let mut next_page_token__ = None;
6629 while let Some(k) = map_.next_key()? {
6630 match k {
6631 GeneratedField::ProjectBillingInfos => {
6632 if project_billing_infos__.is_some() {
6633 return Err(
6634 serde::de::Error::duplicate_field("projectBillingInfos"),
6635 );
6636 }
6637 project_billing_infos__ = Some(map_.next_value()?);
6638 }
6639 GeneratedField::NextPageToken => {
6640 if next_page_token__.is_some() {
6641 return Err(
6642 serde::de::Error::duplicate_field("nextPageToken"),
6643 );
6644 }
6645 next_page_token__ = Some(map_.next_value()?);
6646 }
6647 GeneratedField::__SkipField__ => {
6648 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6649 }
6650 }
6651 }
6652 Ok(ListProjectBillingInfoResponse {
6653 project_billing_infos: project_billing_infos__.unwrap_or_default(),
6654 next_page_token: next_page_token__.unwrap_or_default(),
6655 })
6656 }
6657 }
6658 deserializer
6659 .deserialize_struct(
6660 "origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
6661 FIELDS,
6662 GeneratedVisitor,
6663 )
6664 }
6665}
6666impl serde::Serialize for OrganizationCostReport {
6667 #[allow(deprecated)]
6668 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6669 where
6670 S: serde::Serializer,
6671 {
6672 use serde::ser::SerializeStruct;
6673 let mut len = 0;
6674 if !self.total.is_empty() {
6675 len += 1;
6676 }
6677 if !self.services.is_empty() {
6678 len += 1;
6679 }
6680 if !self.projects.is_empty() {
6681 len += 1;
6682 }
6683 let mut struct_ser = serializer
6684 .serialize_struct(
6685 "origincloud.billing.v1beta1.OrganizationCostReport",
6686 len,
6687 )?;
6688 if !self.total.is_empty() {
6689 struct_ser.serialize_field("total", &self.total)?;
6690 }
6691 if !self.services.is_empty() {
6692 struct_ser.serialize_field("services", &self.services)?;
6693 }
6694 if !self.projects.is_empty() {
6695 struct_ser.serialize_field("projects", &self.projects)?;
6696 }
6697 struct_ser.end()
6698 }
6699}
6700impl<'de> serde::Deserialize<'de> for OrganizationCostReport {
6701 #[allow(deprecated)]
6702 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6703 where
6704 D: serde::Deserializer<'de>,
6705 {
6706 const FIELDS: &[&str] = &["total", "services", "projects"];
6707 #[allow(clippy::enum_variant_names)]
6708 enum GeneratedField {
6709 Total,
6710 Services,
6711 Projects,
6712 __SkipField__,
6713 }
6714 impl<'de> serde::Deserialize<'de> for GeneratedField {
6715 fn deserialize<D>(
6716 deserializer: D,
6717 ) -> std::result::Result<GeneratedField, D::Error>
6718 where
6719 D: serde::Deserializer<'de>,
6720 {
6721 struct GeneratedVisitor;
6722 impl serde::de::Visitor<'_> for GeneratedVisitor {
6723 type Value = GeneratedField;
6724 fn expecting(
6725 &self,
6726 formatter: &mut std::fmt::Formatter<'_>,
6727 ) -> std::fmt::Result {
6728 write!(formatter, "expected one of: {:?}", & FIELDS)
6729 }
6730 #[allow(unused_variables)]
6731 fn visit_str<E>(
6732 self,
6733 value: &str,
6734 ) -> std::result::Result<GeneratedField, E>
6735 where
6736 E: serde::de::Error,
6737 {
6738 match value {
6739 "total" => Ok(GeneratedField::Total),
6740 "services" => Ok(GeneratedField::Services),
6741 "projects" => Ok(GeneratedField::Projects),
6742 _ => Ok(GeneratedField::__SkipField__),
6743 }
6744 }
6745 }
6746 deserializer.deserialize_identifier(GeneratedVisitor)
6747 }
6748 }
6749 struct GeneratedVisitor;
6750 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6751 type Value = OrganizationCostReport;
6752 fn expecting(
6753 &self,
6754 formatter: &mut std::fmt::Formatter<'_>,
6755 ) -> std::fmt::Result {
6756 formatter
6757 .write_str(
6758 "struct origincloud.billing.v1beta1.OrganizationCostReport",
6759 )
6760 }
6761 fn visit_map<V>(
6762 self,
6763 mut map_: V,
6764 ) -> std::result::Result<OrganizationCostReport, V::Error>
6765 where
6766 V: serde::de::MapAccess<'de>,
6767 {
6768 let mut total__ = None;
6769 let mut services__ = None;
6770 let mut projects__ = None;
6771 while let Some(k) = map_.next_key()? {
6772 match k {
6773 GeneratedField::Total => {
6774 if total__.is_some() {
6775 return Err(serde::de::Error::duplicate_field("total"));
6776 }
6777 total__ = Some(map_.next_value()?);
6778 }
6779 GeneratedField::Services => {
6780 if services__.is_some() {
6781 return Err(serde::de::Error::duplicate_field("services"));
6782 }
6783 services__ = Some(map_.next_value()?);
6784 }
6785 GeneratedField::Projects => {
6786 if projects__.is_some() {
6787 return Err(serde::de::Error::duplicate_field("projects"));
6788 }
6789 projects__ = Some(map_.next_value()?);
6790 }
6791 GeneratedField::__SkipField__ => {
6792 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6793 }
6794 }
6795 }
6796 Ok(OrganizationCostReport {
6797 total: total__.unwrap_or_default(),
6798 services: services__.unwrap_or_default(),
6799 projects: projects__.unwrap_or_default(),
6800 })
6801 }
6802 }
6803 deserializer
6804 .deserialize_struct(
6805 "origincloud.billing.v1beta1.OrganizationCostReport",
6806 FIELDS,
6807 GeneratedVisitor,
6808 )
6809 }
6810}
6811impl serde::Serialize for PaymentMethod {
6812 #[allow(deprecated)]
6813 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6814 where
6815 S: serde::Serializer,
6816 {
6817 use serde::ser::SerializeStruct;
6818 let mut len = 0;
6819 if self.state != 0 {
6820 len += 1;
6821 }
6822 if !self.card_brand.is_empty() {
6823 len += 1;
6824 }
6825 if !self.card_last4.is_empty() {
6826 len += 1;
6827 }
6828 let mut struct_ser = serializer
6829 .serialize_struct("origincloud.billing.v1beta1.PaymentMethod", len)?;
6830 if self.state != 0 {
6831 let v = payment_method::State::try_from(self.state)
6832 .map_err(|_| serde::ser::Error::custom(
6833 format!("Invalid variant {}", self.state),
6834 ))?;
6835 struct_ser.serialize_field("state", &v)?;
6836 }
6837 if !self.card_brand.is_empty() {
6838 struct_ser.serialize_field("cardBrand", &self.card_brand)?;
6839 }
6840 if !self.card_last4.is_empty() {
6841 struct_ser.serialize_field("cardLast4", &self.card_last4)?;
6842 }
6843 struct_ser.end()
6844 }
6845}
6846impl<'de> serde::Deserialize<'de> for PaymentMethod {
6847 #[allow(deprecated)]
6848 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6849 where
6850 D: serde::Deserializer<'de>,
6851 {
6852 const FIELDS: &[&str] = &[
6853 "state",
6854 "card_brand",
6855 "cardBrand",
6856 "card_last4",
6857 "cardLast4",
6858 ];
6859 #[allow(clippy::enum_variant_names)]
6860 enum GeneratedField {
6861 State,
6862 CardBrand,
6863 CardLast4,
6864 __SkipField__,
6865 }
6866 impl<'de> serde::Deserialize<'de> for GeneratedField {
6867 fn deserialize<D>(
6868 deserializer: D,
6869 ) -> std::result::Result<GeneratedField, D::Error>
6870 where
6871 D: serde::Deserializer<'de>,
6872 {
6873 struct GeneratedVisitor;
6874 impl serde::de::Visitor<'_> for GeneratedVisitor {
6875 type Value = GeneratedField;
6876 fn expecting(
6877 &self,
6878 formatter: &mut std::fmt::Formatter<'_>,
6879 ) -> std::fmt::Result {
6880 write!(formatter, "expected one of: {:?}", & FIELDS)
6881 }
6882 #[allow(unused_variables)]
6883 fn visit_str<E>(
6884 self,
6885 value: &str,
6886 ) -> std::result::Result<GeneratedField, E>
6887 where
6888 E: serde::de::Error,
6889 {
6890 match value {
6891 "state" => Ok(GeneratedField::State),
6892 "cardBrand" | "card_brand" => Ok(GeneratedField::CardBrand),
6893 "cardLast4" | "card_last4" => Ok(GeneratedField::CardLast4),
6894 _ => Ok(GeneratedField::__SkipField__),
6895 }
6896 }
6897 }
6898 deserializer.deserialize_identifier(GeneratedVisitor)
6899 }
6900 }
6901 struct GeneratedVisitor;
6902 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
6903 type Value = PaymentMethod;
6904 fn expecting(
6905 &self,
6906 formatter: &mut std::fmt::Formatter<'_>,
6907 ) -> std::fmt::Result {
6908 formatter.write_str("struct origincloud.billing.v1beta1.PaymentMethod")
6909 }
6910 fn visit_map<V>(
6911 self,
6912 mut map_: V,
6913 ) -> std::result::Result<PaymentMethod, V::Error>
6914 where
6915 V: serde::de::MapAccess<'de>,
6916 {
6917 let mut state__ = None;
6918 let mut card_brand__ = None;
6919 let mut card_last4__ = None;
6920 while let Some(k) = map_.next_key()? {
6921 match k {
6922 GeneratedField::State => {
6923 if state__.is_some() {
6924 return Err(serde::de::Error::duplicate_field("state"));
6925 }
6926 state__ = Some(
6927 map_.next_value::<payment_method::State>()? as i32,
6928 );
6929 }
6930 GeneratedField::CardBrand => {
6931 if card_brand__.is_some() {
6932 return Err(serde::de::Error::duplicate_field("cardBrand"));
6933 }
6934 card_brand__ = Some(map_.next_value()?);
6935 }
6936 GeneratedField::CardLast4 => {
6937 if card_last4__.is_some() {
6938 return Err(serde::de::Error::duplicate_field("cardLast4"));
6939 }
6940 card_last4__ = Some(map_.next_value()?);
6941 }
6942 GeneratedField::__SkipField__ => {
6943 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
6944 }
6945 }
6946 }
6947 Ok(PaymentMethod {
6948 state: state__.unwrap_or_default(),
6949 card_brand: card_brand__.unwrap_or_default(),
6950 card_last4: card_last4__.unwrap_or_default(),
6951 })
6952 }
6953 }
6954 deserializer
6955 .deserialize_struct(
6956 "origincloud.billing.v1beta1.PaymentMethod",
6957 FIELDS,
6958 GeneratedVisitor,
6959 )
6960 }
6961}
6962impl serde::Serialize for payment_method::State {
6963 #[allow(deprecated)]
6964 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
6965 where
6966 S: serde::Serializer,
6967 {
6968 let variant = match self {
6969 Self::Unspecified => "STATE_UNSPECIFIED",
6970 Self::Missing => "MISSING",
6971 Self::Verified => "VERIFIED",
6972 Self::NotRequired => "NOT_REQUIRED",
6973 };
6974 serializer.serialize_str(variant)
6975 }
6976}
6977impl<'de> serde::Deserialize<'de> for payment_method::State {
6978 #[allow(deprecated)]
6979 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
6980 where
6981 D: serde::Deserializer<'de>,
6982 {
6983 const FIELDS: &[&str] = &[
6984 "STATE_UNSPECIFIED",
6985 "MISSING",
6986 "VERIFIED",
6987 "NOT_REQUIRED",
6988 ];
6989 struct GeneratedVisitor;
6990 impl serde::de::Visitor<'_> for GeneratedVisitor {
6991 type Value = payment_method::State;
6992 fn expecting(
6993 &self,
6994 formatter: &mut std::fmt::Formatter<'_>,
6995 ) -> std::fmt::Result {
6996 write!(formatter, "expected one of: {:?}", & FIELDS)
6997 }
6998 fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
6999 where
7000 E: serde::de::Error,
7001 {
7002 i32::try_from(v)
7003 .ok()
7004 .and_then(|x| {
7005 x
7006 .try_into()
7007 .ok()
7008 .or_else(|| Some(payment_method::State::default()))
7009 })
7010 .ok_or_else(|| {
7011 serde::de::Error::invalid_value(
7012 serde::de::Unexpected::Signed(v),
7013 &self,
7014 )
7015 })
7016 }
7017 fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
7018 where
7019 E: serde::de::Error,
7020 {
7021 i32::try_from(v)
7022 .ok()
7023 .and_then(|x| {
7024 x
7025 .try_into()
7026 .ok()
7027 .or_else(|| Some(payment_method::State::default()))
7028 })
7029 .ok_or_else(|| {
7030 serde::de::Error::invalid_value(
7031 serde::de::Unexpected::Unsigned(v),
7032 &self,
7033 )
7034 })
7035 }
7036 fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
7037 where
7038 E: serde::de::Error,
7039 {
7040 match value {
7041 "STATE_UNSPECIFIED" => Ok(payment_method::State::Unspecified),
7042 "MISSING" => Ok(payment_method::State::Missing),
7043 "VERIFIED" => Ok(payment_method::State::Verified),
7044 "NOT_REQUIRED" => Ok(payment_method::State::NotRequired),
7045 _ => Ok(payment_method::State::default()),
7046 }
7047 }
7048 }
7049 deserializer.deserialize_any(GeneratedVisitor)
7050 }
7051}
7052impl serde::Serialize for Price {
7053 #[allow(deprecated)]
7054 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7055 where
7056 S: serde::Serializer,
7057 {
7058 use serde::ser::SerializeStruct;
7059 let mut len = 0;
7060 if !self.product_key.is_empty() {
7061 len += 1;
7062 }
7063 if !self.dimensions.is_empty() {
7064 len += 1;
7065 }
7066 if !self.unit_type.is_empty() {
7067 len += 1;
7068 }
7069 if self.unit_count != 0 {
7070 len += 1;
7071 }
7072 if !self.amount.is_empty() {
7073 len += 1;
7074 }
7075 if self.valid_from.is_some() {
7076 len += 1;
7077 }
7078 if self.valid_until.is_some() {
7079 len += 1;
7080 }
7081 let mut struct_ser = serializer
7082 .serialize_struct("origincloud.billing.v1beta1.Price", len)?;
7083 if !self.product_key.is_empty() {
7084 struct_ser.serialize_field("product_key", &self.product_key)?;
7085 }
7086 if !self.dimensions.is_empty() {
7087 struct_ser.serialize_field("dimensions", &self.dimensions)?;
7088 }
7089 if !self.unit_type.is_empty() {
7090 struct_ser.serialize_field("unit_type", &self.unit_type)?;
7091 }
7092 if self.unit_count != 0 {
7093 struct_ser.serialize_field("unit_count", &self.unit_count)?;
7094 }
7095 if !self.amount.is_empty() {
7096 struct_ser.serialize_field("amount", &self.amount)?;
7097 }
7098 if let Some(v) = self.valid_from.as_ref() {
7099 struct_ser.serialize_field("valid_from", v)?;
7100 }
7101 if let Some(v) = self.valid_until.as_ref() {
7102 struct_ser.serialize_field("valid_until", v)?;
7103 }
7104 struct_ser.end()
7105 }
7106}
7107impl<'de> serde::Deserialize<'de> for Price {
7108 #[allow(deprecated)]
7109 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7110 where
7111 D: serde::Deserializer<'de>,
7112 {
7113 const FIELDS: &[&str] = &[
7114 "product_key",
7115 "dimensions",
7116 "unit_type",
7117 "unit_count",
7118 "amount",
7119 "valid_from",
7120 "valid_until",
7121 ];
7122 #[allow(clippy::enum_variant_names)]
7123 enum GeneratedField {
7124 ProductKey,
7125 Dimensions,
7126 UnitType,
7127 UnitCount,
7128 Amount,
7129 ValidFrom,
7130 ValidUntil,
7131 __SkipField__,
7132 }
7133 impl<'de> serde::Deserialize<'de> for GeneratedField {
7134 fn deserialize<D>(
7135 deserializer: D,
7136 ) -> std::result::Result<GeneratedField, D::Error>
7137 where
7138 D: serde::Deserializer<'de>,
7139 {
7140 struct GeneratedVisitor;
7141 impl serde::de::Visitor<'_> for GeneratedVisitor {
7142 type Value = GeneratedField;
7143 fn expecting(
7144 &self,
7145 formatter: &mut std::fmt::Formatter<'_>,
7146 ) -> std::fmt::Result {
7147 write!(formatter, "expected one of: {:?}", & FIELDS)
7148 }
7149 #[allow(unused_variables)]
7150 fn visit_str<E>(
7151 self,
7152 value: &str,
7153 ) -> std::result::Result<GeneratedField, E>
7154 where
7155 E: serde::de::Error,
7156 {
7157 match value {
7158 "product_key" => Ok(GeneratedField::ProductKey),
7159 "dimensions" => Ok(GeneratedField::Dimensions),
7160 "unit_type" => Ok(GeneratedField::UnitType),
7161 "unit_count" => Ok(GeneratedField::UnitCount),
7162 "amount" => Ok(GeneratedField::Amount),
7163 "valid_from" => Ok(GeneratedField::ValidFrom),
7164 "valid_until" => Ok(GeneratedField::ValidUntil),
7165 _ => Ok(GeneratedField::__SkipField__),
7166 }
7167 }
7168 }
7169 deserializer.deserialize_identifier(GeneratedVisitor)
7170 }
7171 }
7172 struct GeneratedVisitor;
7173 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7174 type Value = Price;
7175 fn expecting(
7176 &self,
7177 formatter: &mut std::fmt::Formatter<'_>,
7178 ) -> std::fmt::Result {
7179 formatter.write_str("struct origincloud.billing.v1beta1.Price")
7180 }
7181 fn visit_map<V>(self, mut map_: V) -> std::result::Result<Price, V::Error>
7182 where
7183 V: serde::de::MapAccess<'de>,
7184 {
7185 let mut product_key__ = None;
7186 let mut dimensions__ = None;
7187 let mut unit_type__ = None;
7188 let mut unit_count__ = None;
7189 let mut amount__ = None;
7190 let mut valid_from__ = None;
7191 let mut valid_until__ = None;
7192 while let Some(k) = map_.next_key()? {
7193 match k {
7194 GeneratedField::ProductKey => {
7195 if product_key__.is_some() {
7196 return Err(
7197 serde::de::Error::duplicate_field("product_key"),
7198 );
7199 }
7200 product_key__ = Some(map_.next_value()?);
7201 }
7202 GeneratedField::Dimensions => {
7203 if dimensions__.is_some() {
7204 return Err(serde::de::Error::duplicate_field("dimensions"));
7205 }
7206 dimensions__ = Some(
7207 map_.next_value::<std::collections::BTreeMap<_, _>>()?,
7208 );
7209 }
7210 GeneratedField::UnitType => {
7211 if unit_type__.is_some() {
7212 return Err(serde::de::Error::duplicate_field("unit_type"));
7213 }
7214 unit_type__ = Some(map_.next_value()?);
7215 }
7216 GeneratedField::UnitCount => {
7217 if unit_count__.is_some() {
7218 return Err(serde::de::Error::duplicate_field("unit_count"));
7219 }
7220 unit_count__ = Some(
7221 map_
7222 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
7223 .0,
7224 );
7225 }
7226 GeneratedField::Amount => {
7227 if amount__.is_some() {
7228 return Err(serde::de::Error::duplicate_field("amount"));
7229 }
7230 amount__ = Some(map_.next_value()?);
7231 }
7232 GeneratedField::ValidFrom => {
7233 if valid_from__.is_some() {
7234 return Err(serde::de::Error::duplicate_field("valid_from"));
7235 }
7236 valid_from__ = map_.next_value()?;
7237 }
7238 GeneratedField::ValidUntil => {
7239 if valid_until__.is_some() {
7240 return Err(
7241 serde::de::Error::duplicate_field("valid_until"),
7242 );
7243 }
7244 valid_until__ = map_.next_value()?;
7245 }
7246 GeneratedField::__SkipField__ => {
7247 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7248 }
7249 }
7250 }
7251 Ok(Price {
7252 product_key: product_key__.unwrap_or_default(),
7253 dimensions: dimensions__.unwrap_or_default(),
7254 unit_type: unit_type__.unwrap_or_default(),
7255 unit_count: unit_count__.unwrap_or_default(),
7256 amount: amount__.unwrap_or_default(),
7257 valid_from: valid_from__,
7258 valid_until: valid_until__,
7259 })
7260 }
7261 }
7262 deserializer
7263 .deserialize_struct(
7264 "origincloud.billing.v1beta1.Price",
7265 FIELDS,
7266 GeneratedVisitor,
7267 )
7268 }
7269}
7270impl serde::Serialize for PriceFamily {
7271 #[allow(deprecated)]
7272 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7273 where
7274 S: serde::Serializer,
7275 {
7276 use serde::ser::SerializeStruct;
7277 let mut len = 0;
7278 if !self.family.is_empty() {
7279 len += 1;
7280 }
7281 if !self.prices.is_empty() {
7282 len += 1;
7283 }
7284 let mut struct_ser = serializer
7285 .serialize_struct("origincloud.billing.v1beta1.PriceFamily", len)?;
7286 if !self.family.is_empty() {
7287 struct_ser.serialize_field("family", &self.family)?;
7288 }
7289 if !self.prices.is_empty() {
7290 struct_ser.serialize_field("prices", &self.prices)?;
7291 }
7292 struct_ser.end()
7293 }
7294}
7295impl<'de> serde::Deserialize<'de> for PriceFamily {
7296 #[allow(deprecated)]
7297 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7298 where
7299 D: serde::Deserializer<'de>,
7300 {
7301 const FIELDS: &[&str] = &["family", "prices"];
7302 #[allow(clippy::enum_variant_names)]
7303 enum GeneratedField {
7304 Family,
7305 Prices,
7306 __SkipField__,
7307 }
7308 impl<'de> serde::Deserialize<'de> for GeneratedField {
7309 fn deserialize<D>(
7310 deserializer: D,
7311 ) -> std::result::Result<GeneratedField, D::Error>
7312 where
7313 D: serde::Deserializer<'de>,
7314 {
7315 struct GeneratedVisitor;
7316 impl serde::de::Visitor<'_> for GeneratedVisitor {
7317 type Value = GeneratedField;
7318 fn expecting(
7319 &self,
7320 formatter: &mut std::fmt::Formatter<'_>,
7321 ) -> std::fmt::Result {
7322 write!(formatter, "expected one of: {:?}", & FIELDS)
7323 }
7324 #[allow(unused_variables)]
7325 fn visit_str<E>(
7326 self,
7327 value: &str,
7328 ) -> std::result::Result<GeneratedField, E>
7329 where
7330 E: serde::de::Error,
7331 {
7332 match value {
7333 "family" => Ok(GeneratedField::Family),
7334 "prices" => Ok(GeneratedField::Prices),
7335 _ => Ok(GeneratedField::__SkipField__),
7336 }
7337 }
7338 }
7339 deserializer.deserialize_identifier(GeneratedVisitor)
7340 }
7341 }
7342 struct GeneratedVisitor;
7343 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7344 type Value = PriceFamily;
7345 fn expecting(
7346 &self,
7347 formatter: &mut std::fmt::Formatter<'_>,
7348 ) -> std::fmt::Result {
7349 formatter.write_str("struct origincloud.billing.v1beta1.PriceFamily")
7350 }
7351 fn visit_map<V>(
7352 self,
7353 mut map_: V,
7354 ) -> std::result::Result<PriceFamily, V::Error>
7355 where
7356 V: serde::de::MapAccess<'de>,
7357 {
7358 let mut family__ = None;
7359 let mut prices__ = None;
7360 while let Some(k) = map_.next_key()? {
7361 match k {
7362 GeneratedField::Family => {
7363 if family__.is_some() {
7364 return Err(serde::de::Error::duplicate_field("family"));
7365 }
7366 family__ = Some(map_.next_value()?);
7367 }
7368 GeneratedField::Prices => {
7369 if prices__.is_some() {
7370 return Err(serde::de::Error::duplicate_field("prices"));
7371 }
7372 prices__ = Some(map_.next_value()?);
7373 }
7374 GeneratedField::__SkipField__ => {
7375 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7376 }
7377 }
7378 }
7379 Ok(PriceFamily {
7380 family: family__.unwrap_or_default(),
7381 prices: prices__.unwrap_or_default(),
7382 })
7383 }
7384 }
7385 deserializer
7386 .deserialize_struct(
7387 "origincloud.billing.v1beta1.PriceFamily",
7388 FIELDS,
7389 GeneratedVisitor,
7390 )
7391 }
7392}
7393impl serde::Serialize for PriceList {
7394 #[allow(deprecated)]
7395 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7396 where
7397 S: serde::Serializer,
7398 {
7399 use serde::ser::SerializeStruct;
7400 let mut len = 0;
7401 if !self.currency.is_empty() {
7402 len += 1;
7403 }
7404 if self.amounts_exclude_vat {
7405 len += 1;
7406 }
7407 if self.last_changed.is_some() {
7408 len += 1;
7409 }
7410 if !self.families.is_empty() {
7411 len += 1;
7412 }
7413 let mut struct_ser = serializer
7414 .serialize_struct("origincloud.billing.v1beta1.PriceList", len)?;
7415 if !self.currency.is_empty() {
7416 struct_ser.serialize_field("currency", &self.currency)?;
7417 }
7418 if self.amounts_exclude_vat {
7419 struct_ser
7420 .serialize_field("amounts_exclude_vat", &self.amounts_exclude_vat)?;
7421 }
7422 if let Some(v) = self.last_changed.as_ref() {
7423 struct_ser.serialize_field("last_changed", v)?;
7424 }
7425 if !self.families.is_empty() {
7426 struct_ser.serialize_field("families", &self.families)?;
7427 }
7428 struct_ser.end()
7429 }
7430}
7431impl<'de> serde::Deserialize<'de> for PriceList {
7432 #[allow(deprecated)]
7433 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7434 where
7435 D: serde::Deserializer<'de>,
7436 {
7437 const FIELDS: &[&str] = &[
7438 "currency",
7439 "amounts_exclude_vat",
7440 "last_changed",
7441 "families",
7442 ];
7443 #[allow(clippy::enum_variant_names)]
7444 enum GeneratedField {
7445 Currency,
7446 AmountsExcludeVat,
7447 LastChanged,
7448 Families,
7449 __SkipField__,
7450 }
7451 impl<'de> serde::Deserialize<'de> for GeneratedField {
7452 fn deserialize<D>(
7453 deserializer: D,
7454 ) -> std::result::Result<GeneratedField, D::Error>
7455 where
7456 D: serde::Deserializer<'de>,
7457 {
7458 struct GeneratedVisitor;
7459 impl serde::de::Visitor<'_> for GeneratedVisitor {
7460 type Value = GeneratedField;
7461 fn expecting(
7462 &self,
7463 formatter: &mut std::fmt::Formatter<'_>,
7464 ) -> std::fmt::Result {
7465 write!(formatter, "expected one of: {:?}", & FIELDS)
7466 }
7467 #[allow(unused_variables)]
7468 fn visit_str<E>(
7469 self,
7470 value: &str,
7471 ) -> std::result::Result<GeneratedField, E>
7472 where
7473 E: serde::de::Error,
7474 {
7475 match value {
7476 "currency" => Ok(GeneratedField::Currency),
7477 "amounts_exclude_vat" => {
7478 Ok(GeneratedField::AmountsExcludeVat)
7479 }
7480 "last_changed" => Ok(GeneratedField::LastChanged),
7481 "families" => Ok(GeneratedField::Families),
7482 _ => Ok(GeneratedField::__SkipField__),
7483 }
7484 }
7485 }
7486 deserializer.deserialize_identifier(GeneratedVisitor)
7487 }
7488 }
7489 struct GeneratedVisitor;
7490 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7491 type Value = PriceList;
7492 fn expecting(
7493 &self,
7494 formatter: &mut std::fmt::Formatter<'_>,
7495 ) -> std::fmt::Result {
7496 formatter.write_str("struct origincloud.billing.v1beta1.PriceList")
7497 }
7498 fn visit_map<V>(
7499 self,
7500 mut map_: V,
7501 ) -> std::result::Result<PriceList, V::Error>
7502 where
7503 V: serde::de::MapAccess<'de>,
7504 {
7505 let mut currency__ = None;
7506 let mut amounts_exclude_vat__ = None;
7507 let mut last_changed__ = None;
7508 let mut families__ = None;
7509 while let Some(k) = map_.next_key()? {
7510 match k {
7511 GeneratedField::Currency => {
7512 if currency__.is_some() {
7513 return Err(serde::de::Error::duplicate_field("currency"));
7514 }
7515 currency__ = Some(map_.next_value()?);
7516 }
7517 GeneratedField::AmountsExcludeVat => {
7518 if amounts_exclude_vat__.is_some() {
7519 return Err(
7520 serde::de::Error::duplicate_field("amounts_exclude_vat"),
7521 );
7522 }
7523 amounts_exclude_vat__ = Some(map_.next_value()?);
7524 }
7525 GeneratedField::LastChanged => {
7526 if last_changed__.is_some() {
7527 return Err(
7528 serde::de::Error::duplicate_field("last_changed"),
7529 );
7530 }
7531 last_changed__ = map_.next_value()?;
7532 }
7533 GeneratedField::Families => {
7534 if families__.is_some() {
7535 return Err(serde::de::Error::duplicate_field("families"));
7536 }
7537 families__ = Some(map_.next_value()?);
7538 }
7539 GeneratedField::__SkipField__ => {
7540 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7541 }
7542 }
7543 }
7544 Ok(PriceList {
7545 currency: currency__.unwrap_or_default(),
7546 amounts_exclude_vat: amounts_exclude_vat__.unwrap_or_default(),
7547 last_changed: last_changed__,
7548 families: families__.unwrap_or_default(),
7549 })
7550 }
7551 }
7552 deserializer
7553 .deserialize_struct(
7554 "origincloud.billing.v1beta1.PriceList",
7555 FIELDS,
7556 GeneratedVisitor,
7557 )
7558 }
7559}
7560impl serde::Serialize for ProductCost {
7561 #[allow(deprecated)]
7562 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7563 where
7564 S: serde::Serializer,
7565 {
7566 use serde::ser::SerializeStruct;
7567 let mut len = 0;
7568 if !self.product_key.is_empty() {
7569 len += 1;
7570 }
7571 if !self.total.is_empty() {
7572 len += 1;
7573 }
7574 if !self.buckets.is_empty() {
7575 len += 1;
7576 }
7577 let mut struct_ser = serializer
7578 .serialize_struct("origincloud.billing.v1beta1.ProductCost", len)?;
7579 if !self.product_key.is_empty() {
7580 struct_ser.serialize_field("productKey", &self.product_key)?;
7581 }
7582 if !self.total.is_empty() {
7583 struct_ser.serialize_field("total", &self.total)?;
7584 }
7585 if !self.buckets.is_empty() {
7586 struct_ser.serialize_field("buckets", &self.buckets)?;
7587 }
7588 struct_ser.end()
7589 }
7590}
7591impl<'de> serde::Deserialize<'de> for ProductCost {
7592 #[allow(deprecated)]
7593 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7594 where
7595 D: serde::Deserializer<'de>,
7596 {
7597 const FIELDS: &[&str] = &["product_key", "productKey", "total", "buckets"];
7598 #[allow(clippy::enum_variant_names)]
7599 enum GeneratedField {
7600 ProductKey,
7601 Total,
7602 Buckets,
7603 __SkipField__,
7604 }
7605 impl<'de> serde::Deserialize<'de> for GeneratedField {
7606 fn deserialize<D>(
7607 deserializer: D,
7608 ) -> std::result::Result<GeneratedField, D::Error>
7609 where
7610 D: serde::Deserializer<'de>,
7611 {
7612 struct GeneratedVisitor;
7613 impl serde::de::Visitor<'_> for GeneratedVisitor {
7614 type Value = GeneratedField;
7615 fn expecting(
7616 &self,
7617 formatter: &mut std::fmt::Formatter<'_>,
7618 ) -> std::fmt::Result {
7619 write!(formatter, "expected one of: {:?}", & FIELDS)
7620 }
7621 #[allow(unused_variables)]
7622 fn visit_str<E>(
7623 self,
7624 value: &str,
7625 ) -> std::result::Result<GeneratedField, E>
7626 where
7627 E: serde::de::Error,
7628 {
7629 match value {
7630 "productKey" | "product_key" => {
7631 Ok(GeneratedField::ProductKey)
7632 }
7633 "total" => Ok(GeneratedField::Total),
7634 "buckets" => Ok(GeneratedField::Buckets),
7635 _ => Ok(GeneratedField::__SkipField__),
7636 }
7637 }
7638 }
7639 deserializer.deserialize_identifier(GeneratedVisitor)
7640 }
7641 }
7642 struct GeneratedVisitor;
7643 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7644 type Value = ProductCost;
7645 fn expecting(
7646 &self,
7647 formatter: &mut std::fmt::Formatter<'_>,
7648 ) -> std::fmt::Result {
7649 formatter.write_str("struct origincloud.billing.v1beta1.ProductCost")
7650 }
7651 fn visit_map<V>(
7652 self,
7653 mut map_: V,
7654 ) -> std::result::Result<ProductCost, V::Error>
7655 where
7656 V: serde::de::MapAccess<'de>,
7657 {
7658 let mut product_key__ = None;
7659 let mut total__ = None;
7660 let mut buckets__ = None;
7661 while let Some(k) = map_.next_key()? {
7662 match k {
7663 GeneratedField::ProductKey => {
7664 if product_key__.is_some() {
7665 return Err(serde::de::Error::duplicate_field("productKey"));
7666 }
7667 product_key__ = Some(map_.next_value()?);
7668 }
7669 GeneratedField::Total => {
7670 if total__.is_some() {
7671 return Err(serde::de::Error::duplicate_field("total"));
7672 }
7673 total__ = Some(map_.next_value()?);
7674 }
7675 GeneratedField::Buckets => {
7676 if buckets__.is_some() {
7677 return Err(serde::de::Error::duplicate_field("buckets"));
7678 }
7679 buckets__ = Some(map_.next_value()?);
7680 }
7681 GeneratedField::__SkipField__ => {
7682 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7683 }
7684 }
7685 }
7686 Ok(ProductCost {
7687 product_key: product_key__.unwrap_or_default(),
7688 total: total__.unwrap_or_default(),
7689 buckets: buckets__.unwrap_or_default(),
7690 })
7691 }
7692 }
7693 deserializer
7694 .deserialize_struct(
7695 "origincloud.billing.v1beta1.ProductCost",
7696 FIELDS,
7697 GeneratedVisitor,
7698 )
7699 }
7700}
7701impl serde::Serialize for ProjectBillingInfo {
7702 #[allow(deprecated)]
7703 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7704 where
7705 S: serde::Serializer,
7706 {
7707 use serde::ser::SerializeStruct;
7708 let mut len = 0;
7709 if !self.name.is_empty() {
7710 len += 1;
7711 }
7712 if !self.billing_account.is_empty() {
7713 len += 1;
7714 }
7715 let mut struct_ser = serializer
7716 .serialize_struct("origincloud.billing.v1beta1.ProjectBillingInfo", len)?;
7717 if !self.name.is_empty() {
7718 struct_ser.serialize_field("name", &self.name)?;
7719 }
7720 if !self.billing_account.is_empty() {
7721 struct_ser.serialize_field("billingAccount", &self.billing_account)?;
7722 }
7723 struct_ser.end()
7724 }
7725}
7726impl<'de> serde::Deserialize<'de> for ProjectBillingInfo {
7727 #[allow(deprecated)]
7728 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7729 where
7730 D: serde::Deserializer<'de>,
7731 {
7732 const FIELDS: &[&str] = &["name", "billing_account", "billingAccount"];
7733 #[allow(clippy::enum_variant_names)]
7734 enum GeneratedField {
7735 Name,
7736 BillingAccount,
7737 __SkipField__,
7738 }
7739 impl<'de> serde::Deserialize<'de> for GeneratedField {
7740 fn deserialize<D>(
7741 deserializer: D,
7742 ) -> std::result::Result<GeneratedField, D::Error>
7743 where
7744 D: serde::Deserializer<'de>,
7745 {
7746 struct GeneratedVisitor;
7747 impl serde::de::Visitor<'_> for GeneratedVisitor {
7748 type Value = GeneratedField;
7749 fn expecting(
7750 &self,
7751 formatter: &mut std::fmt::Formatter<'_>,
7752 ) -> std::fmt::Result {
7753 write!(formatter, "expected one of: {:?}", & FIELDS)
7754 }
7755 #[allow(unused_variables)]
7756 fn visit_str<E>(
7757 self,
7758 value: &str,
7759 ) -> std::result::Result<GeneratedField, E>
7760 where
7761 E: serde::de::Error,
7762 {
7763 match value {
7764 "name" => Ok(GeneratedField::Name),
7765 "billingAccount" | "billing_account" => {
7766 Ok(GeneratedField::BillingAccount)
7767 }
7768 _ => Ok(GeneratedField::__SkipField__),
7769 }
7770 }
7771 }
7772 deserializer.deserialize_identifier(GeneratedVisitor)
7773 }
7774 }
7775 struct GeneratedVisitor;
7776 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7777 type Value = ProjectBillingInfo;
7778 fn expecting(
7779 &self,
7780 formatter: &mut std::fmt::Formatter<'_>,
7781 ) -> std::fmt::Result {
7782 formatter
7783 .write_str("struct origincloud.billing.v1beta1.ProjectBillingInfo")
7784 }
7785 fn visit_map<V>(
7786 self,
7787 mut map_: V,
7788 ) -> std::result::Result<ProjectBillingInfo, V::Error>
7789 where
7790 V: serde::de::MapAccess<'de>,
7791 {
7792 let mut name__ = None;
7793 let mut billing_account__ = None;
7794 while let Some(k) = map_.next_key()? {
7795 match k {
7796 GeneratedField::Name => {
7797 if name__.is_some() {
7798 return Err(serde::de::Error::duplicate_field("name"));
7799 }
7800 name__ = Some(map_.next_value()?);
7801 }
7802 GeneratedField::BillingAccount => {
7803 if billing_account__.is_some() {
7804 return Err(
7805 serde::de::Error::duplicate_field("billingAccount"),
7806 );
7807 }
7808 billing_account__ = Some(map_.next_value()?);
7809 }
7810 GeneratedField::__SkipField__ => {
7811 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7812 }
7813 }
7814 }
7815 Ok(ProjectBillingInfo {
7816 name: name__.unwrap_or_default(),
7817 billing_account: billing_account__.unwrap_or_default(),
7818 })
7819 }
7820 }
7821 deserializer
7822 .deserialize_struct(
7823 "origincloud.billing.v1beta1.ProjectBillingInfo",
7824 FIELDS,
7825 GeneratedVisitor,
7826 )
7827 }
7828}
7829impl serde::Serialize for ProjectCost {
7830 #[allow(deprecated)]
7831 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7832 where
7833 S: serde::Serializer,
7834 {
7835 use serde::ser::SerializeStruct;
7836 let mut len = 0;
7837 if !self.project.is_empty() {
7838 len += 1;
7839 }
7840 if !self.total.is_empty() {
7841 len += 1;
7842 }
7843 if !self.buckets.is_empty() {
7844 len += 1;
7845 }
7846 let mut struct_ser = serializer
7847 .serialize_struct("origincloud.billing.v1beta1.ProjectCost", len)?;
7848 if !self.project.is_empty() {
7849 struct_ser.serialize_field("project", &self.project)?;
7850 }
7851 if !self.total.is_empty() {
7852 struct_ser.serialize_field("total", &self.total)?;
7853 }
7854 if !self.buckets.is_empty() {
7855 struct_ser.serialize_field("buckets", &self.buckets)?;
7856 }
7857 struct_ser.end()
7858 }
7859}
7860impl<'de> serde::Deserialize<'de> for ProjectCost {
7861 #[allow(deprecated)]
7862 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
7863 where
7864 D: serde::Deserializer<'de>,
7865 {
7866 const FIELDS: &[&str] = &["project", "total", "buckets"];
7867 #[allow(clippy::enum_variant_names)]
7868 enum GeneratedField {
7869 Project,
7870 Total,
7871 Buckets,
7872 __SkipField__,
7873 }
7874 impl<'de> serde::Deserialize<'de> for GeneratedField {
7875 fn deserialize<D>(
7876 deserializer: D,
7877 ) -> std::result::Result<GeneratedField, D::Error>
7878 where
7879 D: serde::Deserializer<'de>,
7880 {
7881 struct GeneratedVisitor;
7882 impl serde::de::Visitor<'_> for GeneratedVisitor {
7883 type Value = GeneratedField;
7884 fn expecting(
7885 &self,
7886 formatter: &mut std::fmt::Formatter<'_>,
7887 ) -> std::fmt::Result {
7888 write!(formatter, "expected one of: {:?}", & FIELDS)
7889 }
7890 #[allow(unused_variables)]
7891 fn visit_str<E>(
7892 self,
7893 value: &str,
7894 ) -> std::result::Result<GeneratedField, E>
7895 where
7896 E: serde::de::Error,
7897 {
7898 match value {
7899 "project" => Ok(GeneratedField::Project),
7900 "total" => Ok(GeneratedField::Total),
7901 "buckets" => Ok(GeneratedField::Buckets),
7902 _ => Ok(GeneratedField::__SkipField__),
7903 }
7904 }
7905 }
7906 deserializer.deserialize_identifier(GeneratedVisitor)
7907 }
7908 }
7909 struct GeneratedVisitor;
7910 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
7911 type Value = ProjectCost;
7912 fn expecting(
7913 &self,
7914 formatter: &mut std::fmt::Formatter<'_>,
7915 ) -> std::fmt::Result {
7916 formatter.write_str("struct origincloud.billing.v1beta1.ProjectCost")
7917 }
7918 fn visit_map<V>(
7919 self,
7920 mut map_: V,
7921 ) -> std::result::Result<ProjectCost, V::Error>
7922 where
7923 V: serde::de::MapAccess<'de>,
7924 {
7925 let mut project__ = None;
7926 let mut total__ = None;
7927 let mut buckets__ = None;
7928 while let Some(k) = map_.next_key()? {
7929 match k {
7930 GeneratedField::Project => {
7931 if project__.is_some() {
7932 return Err(serde::de::Error::duplicate_field("project"));
7933 }
7934 project__ = Some(map_.next_value()?);
7935 }
7936 GeneratedField::Total => {
7937 if total__.is_some() {
7938 return Err(serde::de::Error::duplicate_field("total"));
7939 }
7940 total__ = Some(map_.next_value()?);
7941 }
7942 GeneratedField::Buckets => {
7943 if buckets__.is_some() {
7944 return Err(serde::de::Error::duplicate_field("buckets"));
7945 }
7946 buckets__ = Some(map_.next_value()?);
7947 }
7948 GeneratedField::__SkipField__ => {
7949 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
7950 }
7951 }
7952 }
7953 Ok(ProjectCost {
7954 project: project__.unwrap_or_default(),
7955 total: total__.unwrap_or_default(),
7956 buckets: buckets__.unwrap_or_default(),
7957 })
7958 }
7959 }
7960 deserializer
7961 .deserialize_struct(
7962 "origincloud.billing.v1beta1.ProjectCost",
7963 FIELDS,
7964 GeneratedVisitor,
7965 )
7966 }
7967}
7968impl serde::Serialize for QueryBillingAccountCostRequest {
7969 #[allow(deprecated)]
7970 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
7971 where
7972 S: serde::Serializer,
7973 {
7974 use serde::ser::SerializeStruct;
7975 let mut len = 0;
7976 if !self.billing_account.is_empty() {
7977 len += 1;
7978 }
7979 if self.start_time.is_some() {
7980 len += 1;
7981 }
7982 if self.end_time.is_some() {
7983 len += 1;
7984 }
7985 if self.granularity != 0 {
7986 len += 1;
7987 }
7988 let mut struct_ser = serializer
7989 .serialize_struct(
7990 "origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
7991 len,
7992 )?;
7993 if !self.billing_account.is_empty() {
7994 struct_ser.serialize_field("billingAccount", &self.billing_account)?;
7995 }
7996 if let Some(v) = self.start_time.as_ref() {
7997 struct_ser.serialize_field("startTime", v)?;
7998 }
7999 if let Some(v) = self.end_time.as_ref() {
8000 struct_ser.serialize_field("endTime", v)?;
8001 }
8002 if self.granularity != 0 {
8003 let v = Granularity::try_from(self.granularity)
8004 .map_err(|_| serde::ser::Error::custom(
8005 format!("Invalid variant {}", self.granularity),
8006 ))?;
8007 struct_ser.serialize_field("granularity", &v)?;
8008 }
8009 struct_ser.end()
8010 }
8011}
8012impl<'de> serde::Deserialize<'de> for QueryBillingAccountCostRequest {
8013 #[allow(deprecated)]
8014 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8015 where
8016 D: serde::Deserializer<'de>,
8017 {
8018 const FIELDS: &[&str] = &[
8019 "billing_account",
8020 "billingAccount",
8021 "start_time",
8022 "startTime",
8023 "end_time",
8024 "endTime",
8025 "granularity",
8026 ];
8027 #[allow(clippy::enum_variant_names)]
8028 enum GeneratedField {
8029 BillingAccount,
8030 StartTime,
8031 EndTime,
8032 Granularity,
8033 __SkipField__,
8034 }
8035 impl<'de> serde::Deserialize<'de> for GeneratedField {
8036 fn deserialize<D>(
8037 deserializer: D,
8038 ) -> std::result::Result<GeneratedField, D::Error>
8039 where
8040 D: serde::Deserializer<'de>,
8041 {
8042 struct GeneratedVisitor;
8043 impl serde::de::Visitor<'_> for GeneratedVisitor {
8044 type Value = GeneratedField;
8045 fn expecting(
8046 &self,
8047 formatter: &mut std::fmt::Formatter<'_>,
8048 ) -> std::fmt::Result {
8049 write!(formatter, "expected one of: {:?}", & FIELDS)
8050 }
8051 #[allow(unused_variables)]
8052 fn visit_str<E>(
8053 self,
8054 value: &str,
8055 ) -> std::result::Result<GeneratedField, E>
8056 where
8057 E: serde::de::Error,
8058 {
8059 match value {
8060 "billingAccount" | "billing_account" => {
8061 Ok(GeneratedField::BillingAccount)
8062 }
8063 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
8064 "endTime" | "end_time" => Ok(GeneratedField::EndTime),
8065 "granularity" => Ok(GeneratedField::Granularity),
8066 _ => Ok(GeneratedField::__SkipField__),
8067 }
8068 }
8069 }
8070 deserializer.deserialize_identifier(GeneratedVisitor)
8071 }
8072 }
8073 struct GeneratedVisitor;
8074 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8075 type Value = QueryBillingAccountCostRequest;
8076 fn expecting(
8077 &self,
8078 formatter: &mut std::fmt::Formatter<'_>,
8079 ) -> std::fmt::Result {
8080 formatter
8081 .write_str(
8082 "struct origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
8083 )
8084 }
8085 fn visit_map<V>(
8086 self,
8087 mut map_: V,
8088 ) -> std::result::Result<QueryBillingAccountCostRequest, V::Error>
8089 where
8090 V: serde::de::MapAccess<'de>,
8091 {
8092 let mut billing_account__ = None;
8093 let mut start_time__ = None;
8094 let mut end_time__ = None;
8095 let mut granularity__ = None;
8096 while let Some(k) = map_.next_key()? {
8097 match k {
8098 GeneratedField::BillingAccount => {
8099 if billing_account__.is_some() {
8100 return Err(
8101 serde::de::Error::duplicate_field("billingAccount"),
8102 );
8103 }
8104 billing_account__ = Some(map_.next_value()?);
8105 }
8106 GeneratedField::StartTime => {
8107 if start_time__.is_some() {
8108 return Err(serde::de::Error::duplicate_field("startTime"));
8109 }
8110 start_time__ = map_.next_value()?;
8111 }
8112 GeneratedField::EndTime => {
8113 if end_time__.is_some() {
8114 return Err(serde::de::Error::duplicate_field("endTime"));
8115 }
8116 end_time__ = map_.next_value()?;
8117 }
8118 GeneratedField::Granularity => {
8119 if granularity__.is_some() {
8120 return Err(
8121 serde::de::Error::duplicate_field("granularity"),
8122 );
8123 }
8124 granularity__ = Some(
8125 map_.next_value::<Granularity>()? as i32,
8126 );
8127 }
8128 GeneratedField::__SkipField__ => {
8129 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8130 }
8131 }
8132 }
8133 Ok(QueryBillingAccountCostRequest {
8134 billing_account: billing_account__.unwrap_or_default(),
8135 start_time: start_time__,
8136 end_time: end_time__,
8137 granularity: granularity__.unwrap_or_default(),
8138 })
8139 }
8140 }
8141 deserializer
8142 .deserialize_struct(
8143 "origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
8144 FIELDS,
8145 GeneratedVisitor,
8146 )
8147 }
8148}
8149impl serde::Serialize for QueryLegalRequirementsRequest {
8150 #[allow(deprecated)]
8151 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8152 where
8153 S: serde::Serializer,
8154 {
8155 use serde::ser::SerializeStruct;
8156 let mut len = 0;
8157 if !self.name.is_empty() {
8158 len += 1;
8159 }
8160 let mut struct_ser = serializer
8161 .serialize_struct(
8162 "origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
8163 len,
8164 )?;
8165 if !self.name.is_empty() {
8166 struct_ser.serialize_field("name", &self.name)?;
8167 }
8168 struct_ser.end()
8169 }
8170}
8171impl<'de> serde::Deserialize<'de> for QueryLegalRequirementsRequest {
8172 #[allow(deprecated)]
8173 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8174 where
8175 D: serde::Deserializer<'de>,
8176 {
8177 const FIELDS: &[&str] = &["name"];
8178 #[allow(clippy::enum_variant_names)]
8179 enum GeneratedField {
8180 Name,
8181 __SkipField__,
8182 }
8183 impl<'de> serde::Deserialize<'de> for GeneratedField {
8184 fn deserialize<D>(
8185 deserializer: D,
8186 ) -> std::result::Result<GeneratedField, D::Error>
8187 where
8188 D: serde::Deserializer<'de>,
8189 {
8190 struct GeneratedVisitor;
8191 impl serde::de::Visitor<'_> for GeneratedVisitor {
8192 type Value = GeneratedField;
8193 fn expecting(
8194 &self,
8195 formatter: &mut std::fmt::Formatter<'_>,
8196 ) -> std::fmt::Result {
8197 write!(formatter, "expected one of: {:?}", & FIELDS)
8198 }
8199 #[allow(unused_variables)]
8200 fn visit_str<E>(
8201 self,
8202 value: &str,
8203 ) -> std::result::Result<GeneratedField, E>
8204 where
8205 E: serde::de::Error,
8206 {
8207 match value {
8208 "name" => Ok(GeneratedField::Name),
8209 _ => Ok(GeneratedField::__SkipField__),
8210 }
8211 }
8212 }
8213 deserializer.deserialize_identifier(GeneratedVisitor)
8214 }
8215 }
8216 struct GeneratedVisitor;
8217 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8218 type Value = QueryLegalRequirementsRequest;
8219 fn expecting(
8220 &self,
8221 formatter: &mut std::fmt::Formatter<'_>,
8222 ) -> std::fmt::Result {
8223 formatter
8224 .write_str(
8225 "struct origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
8226 )
8227 }
8228 fn visit_map<V>(
8229 self,
8230 mut map_: V,
8231 ) -> std::result::Result<QueryLegalRequirementsRequest, V::Error>
8232 where
8233 V: serde::de::MapAccess<'de>,
8234 {
8235 let mut name__ = None;
8236 while let Some(k) = map_.next_key()? {
8237 match k {
8238 GeneratedField::Name => {
8239 if name__.is_some() {
8240 return Err(serde::de::Error::duplicate_field("name"));
8241 }
8242 name__ = Some(map_.next_value()?);
8243 }
8244 GeneratedField::__SkipField__ => {
8245 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8246 }
8247 }
8248 }
8249 Ok(QueryLegalRequirementsRequest {
8250 name: name__.unwrap_or_default(),
8251 })
8252 }
8253 }
8254 deserializer
8255 .deserialize_struct(
8256 "origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
8257 FIELDS,
8258 GeneratedVisitor,
8259 )
8260 }
8261}
8262impl serde::Serialize for QueryLegalRequirementsResponse {
8263 #[allow(deprecated)]
8264 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8265 where
8266 S: serde::Serializer,
8267 {
8268 use serde::ser::SerializeStruct;
8269 let mut len = 0;
8270 if !self.requirements.is_empty() {
8271 len += 1;
8272 }
8273 let mut struct_ser = serializer
8274 .serialize_struct(
8275 "origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
8276 len,
8277 )?;
8278 if !self.requirements.is_empty() {
8279 struct_ser.serialize_field("requirements", &self.requirements)?;
8280 }
8281 struct_ser.end()
8282 }
8283}
8284impl<'de> serde::Deserialize<'de> for QueryLegalRequirementsResponse {
8285 #[allow(deprecated)]
8286 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8287 where
8288 D: serde::Deserializer<'de>,
8289 {
8290 const FIELDS: &[&str] = &["requirements"];
8291 #[allow(clippy::enum_variant_names)]
8292 enum GeneratedField {
8293 Requirements,
8294 __SkipField__,
8295 }
8296 impl<'de> serde::Deserialize<'de> for GeneratedField {
8297 fn deserialize<D>(
8298 deserializer: D,
8299 ) -> std::result::Result<GeneratedField, D::Error>
8300 where
8301 D: serde::Deserializer<'de>,
8302 {
8303 struct GeneratedVisitor;
8304 impl serde::de::Visitor<'_> for GeneratedVisitor {
8305 type Value = GeneratedField;
8306 fn expecting(
8307 &self,
8308 formatter: &mut std::fmt::Formatter<'_>,
8309 ) -> std::fmt::Result {
8310 write!(formatter, "expected one of: {:?}", & FIELDS)
8311 }
8312 #[allow(unused_variables)]
8313 fn visit_str<E>(
8314 self,
8315 value: &str,
8316 ) -> std::result::Result<GeneratedField, E>
8317 where
8318 E: serde::de::Error,
8319 {
8320 match value {
8321 "requirements" => Ok(GeneratedField::Requirements),
8322 _ => Ok(GeneratedField::__SkipField__),
8323 }
8324 }
8325 }
8326 deserializer.deserialize_identifier(GeneratedVisitor)
8327 }
8328 }
8329 struct GeneratedVisitor;
8330 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8331 type Value = QueryLegalRequirementsResponse;
8332 fn expecting(
8333 &self,
8334 formatter: &mut std::fmt::Formatter<'_>,
8335 ) -> std::fmt::Result {
8336 formatter
8337 .write_str(
8338 "struct origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
8339 )
8340 }
8341 fn visit_map<V>(
8342 self,
8343 mut map_: V,
8344 ) -> std::result::Result<QueryLegalRequirementsResponse, V::Error>
8345 where
8346 V: serde::de::MapAccess<'de>,
8347 {
8348 let mut requirements__ = None;
8349 while let Some(k) = map_.next_key()? {
8350 match k {
8351 GeneratedField::Requirements => {
8352 if requirements__.is_some() {
8353 return Err(
8354 serde::de::Error::duplicate_field("requirements"),
8355 );
8356 }
8357 requirements__ = Some(map_.next_value()?);
8358 }
8359 GeneratedField::__SkipField__ => {
8360 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8361 }
8362 }
8363 }
8364 Ok(QueryLegalRequirementsResponse {
8365 requirements: requirements__.unwrap_or_default(),
8366 })
8367 }
8368 }
8369 deserializer
8370 .deserialize_struct(
8371 "origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
8372 FIELDS,
8373 GeneratedVisitor,
8374 )
8375 }
8376}
8377impl serde::Serialize for QueryOrganizationCostRequest {
8378 #[allow(deprecated)]
8379 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8380 where
8381 S: serde::Serializer,
8382 {
8383 use serde::ser::SerializeStruct;
8384 let mut len = 0;
8385 if !self.organization.is_empty() {
8386 len += 1;
8387 }
8388 if self.start_time.is_some() {
8389 len += 1;
8390 }
8391 if self.end_time.is_some() {
8392 len += 1;
8393 }
8394 if self.granularity != 0 {
8395 len += 1;
8396 }
8397 let mut struct_ser = serializer
8398 .serialize_struct(
8399 "origincloud.billing.v1beta1.QueryOrganizationCostRequest",
8400 len,
8401 )?;
8402 if !self.organization.is_empty() {
8403 struct_ser.serialize_field("organization", &self.organization)?;
8404 }
8405 if let Some(v) = self.start_time.as_ref() {
8406 struct_ser.serialize_field("startTime", v)?;
8407 }
8408 if let Some(v) = self.end_time.as_ref() {
8409 struct_ser.serialize_field("endTime", v)?;
8410 }
8411 if self.granularity != 0 {
8412 let v = Granularity::try_from(self.granularity)
8413 .map_err(|_| serde::ser::Error::custom(
8414 format!("Invalid variant {}", self.granularity),
8415 ))?;
8416 struct_ser.serialize_field("granularity", &v)?;
8417 }
8418 struct_ser.end()
8419 }
8420}
8421impl<'de> serde::Deserialize<'de> for QueryOrganizationCostRequest {
8422 #[allow(deprecated)]
8423 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8424 where
8425 D: serde::Deserializer<'de>,
8426 {
8427 const FIELDS: &[&str] = &[
8428 "organization",
8429 "start_time",
8430 "startTime",
8431 "end_time",
8432 "endTime",
8433 "granularity",
8434 ];
8435 #[allow(clippy::enum_variant_names)]
8436 enum GeneratedField {
8437 Organization,
8438 StartTime,
8439 EndTime,
8440 Granularity,
8441 __SkipField__,
8442 }
8443 impl<'de> serde::Deserialize<'de> for GeneratedField {
8444 fn deserialize<D>(
8445 deserializer: D,
8446 ) -> std::result::Result<GeneratedField, D::Error>
8447 where
8448 D: serde::Deserializer<'de>,
8449 {
8450 struct GeneratedVisitor;
8451 impl serde::de::Visitor<'_> for GeneratedVisitor {
8452 type Value = GeneratedField;
8453 fn expecting(
8454 &self,
8455 formatter: &mut std::fmt::Formatter<'_>,
8456 ) -> std::fmt::Result {
8457 write!(formatter, "expected one of: {:?}", & FIELDS)
8458 }
8459 #[allow(unused_variables)]
8460 fn visit_str<E>(
8461 self,
8462 value: &str,
8463 ) -> std::result::Result<GeneratedField, E>
8464 where
8465 E: serde::de::Error,
8466 {
8467 match value {
8468 "organization" => Ok(GeneratedField::Organization),
8469 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
8470 "endTime" | "end_time" => Ok(GeneratedField::EndTime),
8471 "granularity" => Ok(GeneratedField::Granularity),
8472 _ => Ok(GeneratedField::__SkipField__),
8473 }
8474 }
8475 }
8476 deserializer.deserialize_identifier(GeneratedVisitor)
8477 }
8478 }
8479 struct GeneratedVisitor;
8480 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8481 type Value = QueryOrganizationCostRequest;
8482 fn expecting(
8483 &self,
8484 formatter: &mut std::fmt::Formatter<'_>,
8485 ) -> std::fmt::Result {
8486 formatter
8487 .write_str(
8488 "struct origincloud.billing.v1beta1.QueryOrganizationCostRequest",
8489 )
8490 }
8491 fn visit_map<V>(
8492 self,
8493 mut map_: V,
8494 ) -> std::result::Result<QueryOrganizationCostRequest, V::Error>
8495 where
8496 V: serde::de::MapAccess<'de>,
8497 {
8498 let mut organization__ = None;
8499 let mut start_time__ = None;
8500 let mut end_time__ = None;
8501 let mut granularity__ = None;
8502 while let Some(k) = map_.next_key()? {
8503 match k {
8504 GeneratedField::Organization => {
8505 if organization__.is_some() {
8506 return Err(
8507 serde::de::Error::duplicate_field("organization"),
8508 );
8509 }
8510 organization__ = Some(map_.next_value()?);
8511 }
8512 GeneratedField::StartTime => {
8513 if start_time__.is_some() {
8514 return Err(serde::de::Error::duplicate_field("startTime"));
8515 }
8516 start_time__ = map_.next_value()?;
8517 }
8518 GeneratedField::EndTime => {
8519 if end_time__.is_some() {
8520 return Err(serde::de::Error::duplicate_field("endTime"));
8521 }
8522 end_time__ = map_.next_value()?;
8523 }
8524 GeneratedField::Granularity => {
8525 if granularity__.is_some() {
8526 return Err(
8527 serde::de::Error::duplicate_field("granularity"),
8528 );
8529 }
8530 granularity__ = Some(
8531 map_.next_value::<Granularity>()? as i32,
8532 );
8533 }
8534 GeneratedField::__SkipField__ => {
8535 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8536 }
8537 }
8538 }
8539 Ok(QueryOrganizationCostRequest {
8540 organization: organization__.unwrap_or_default(),
8541 start_time: start_time__,
8542 end_time: end_time__,
8543 granularity: granularity__.unwrap_or_default(),
8544 })
8545 }
8546 }
8547 deserializer
8548 .deserialize_struct(
8549 "origincloud.billing.v1beta1.QueryOrganizationCostRequest",
8550 FIELDS,
8551 GeneratedVisitor,
8552 )
8553 }
8554}
8555impl serde::Serialize for QueryProjectCostRequest {
8556 #[allow(deprecated)]
8557 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8558 where
8559 S: serde::Serializer,
8560 {
8561 use serde::ser::SerializeStruct;
8562 let mut len = 0;
8563 if !self.project.is_empty() {
8564 len += 1;
8565 }
8566 if self.start_time.is_some() {
8567 len += 1;
8568 }
8569 if self.end_time.is_some() {
8570 len += 1;
8571 }
8572 if self.granularity != 0 {
8573 len += 1;
8574 }
8575 let mut struct_ser = serializer
8576 .serialize_struct(
8577 "origincloud.billing.v1beta1.QueryProjectCostRequest",
8578 len,
8579 )?;
8580 if !self.project.is_empty() {
8581 struct_ser.serialize_field("project", &self.project)?;
8582 }
8583 if let Some(v) = self.start_time.as_ref() {
8584 struct_ser.serialize_field("startTime", v)?;
8585 }
8586 if let Some(v) = self.end_time.as_ref() {
8587 struct_ser.serialize_field("endTime", v)?;
8588 }
8589 if self.granularity != 0 {
8590 let v = Granularity::try_from(self.granularity)
8591 .map_err(|_| serde::ser::Error::custom(
8592 format!("Invalid variant {}", self.granularity),
8593 ))?;
8594 struct_ser.serialize_field("granularity", &v)?;
8595 }
8596 struct_ser.end()
8597 }
8598}
8599impl<'de> serde::Deserialize<'de> for QueryProjectCostRequest {
8600 #[allow(deprecated)]
8601 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8602 where
8603 D: serde::Deserializer<'de>,
8604 {
8605 const FIELDS: &[&str] = &[
8606 "project",
8607 "start_time",
8608 "startTime",
8609 "end_time",
8610 "endTime",
8611 "granularity",
8612 ];
8613 #[allow(clippy::enum_variant_names)]
8614 enum GeneratedField {
8615 Project,
8616 StartTime,
8617 EndTime,
8618 Granularity,
8619 __SkipField__,
8620 }
8621 impl<'de> serde::Deserialize<'de> for GeneratedField {
8622 fn deserialize<D>(
8623 deserializer: D,
8624 ) -> std::result::Result<GeneratedField, D::Error>
8625 where
8626 D: serde::Deserializer<'de>,
8627 {
8628 struct GeneratedVisitor;
8629 impl serde::de::Visitor<'_> for GeneratedVisitor {
8630 type Value = GeneratedField;
8631 fn expecting(
8632 &self,
8633 formatter: &mut std::fmt::Formatter<'_>,
8634 ) -> std::fmt::Result {
8635 write!(formatter, "expected one of: {:?}", & FIELDS)
8636 }
8637 #[allow(unused_variables)]
8638 fn visit_str<E>(
8639 self,
8640 value: &str,
8641 ) -> std::result::Result<GeneratedField, E>
8642 where
8643 E: serde::de::Error,
8644 {
8645 match value {
8646 "project" => Ok(GeneratedField::Project),
8647 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
8648 "endTime" | "end_time" => Ok(GeneratedField::EndTime),
8649 "granularity" => Ok(GeneratedField::Granularity),
8650 _ => Ok(GeneratedField::__SkipField__),
8651 }
8652 }
8653 }
8654 deserializer.deserialize_identifier(GeneratedVisitor)
8655 }
8656 }
8657 struct GeneratedVisitor;
8658 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8659 type Value = QueryProjectCostRequest;
8660 fn expecting(
8661 &self,
8662 formatter: &mut std::fmt::Formatter<'_>,
8663 ) -> std::fmt::Result {
8664 formatter
8665 .write_str(
8666 "struct origincloud.billing.v1beta1.QueryProjectCostRequest",
8667 )
8668 }
8669 fn visit_map<V>(
8670 self,
8671 mut map_: V,
8672 ) -> std::result::Result<QueryProjectCostRequest, V::Error>
8673 where
8674 V: serde::de::MapAccess<'de>,
8675 {
8676 let mut project__ = None;
8677 let mut start_time__ = None;
8678 let mut end_time__ = None;
8679 let mut granularity__ = None;
8680 while let Some(k) = map_.next_key()? {
8681 match k {
8682 GeneratedField::Project => {
8683 if project__.is_some() {
8684 return Err(serde::de::Error::duplicate_field("project"));
8685 }
8686 project__ = Some(map_.next_value()?);
8687 }
8688 GeneratedField::StartTime => {
8689 if start_time__.is_some() {
8690 return Err(serde::de::Error::duplicate_field("startTime"));
8691 }
8692 start_time__ = map_.next_value()?;
8693 }
8694 GeneratedField::EndTime => {
8695 if end_time__.is_some() {
8696 return Err(serde::de::Error::duplicate_field("endTime"));
8697 }
8698 end_time__ = map_.next_value()?;
8699 }
8700 GeneratedField::Granularity => {
8701 if granularity__.is_some() {
8702 return Err(
8703 serde::de::Error::duplicate_field("granularity"),
8704 );
8705 }
8706 granularity__ = Some(
8707 map_.next_value::<Granularity>()? as i32,
8708 );
8709 }
8710 GeneratedField::__SkipField__ => {
8711 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8712 }
8713 }
8714 }
8715 Ok(QueryProjectCostRequest {
8716 project: project__.unwrap_or_default(),
8717 start_time: start_time__,
8718 end_time: end_time__,
8719 granularity: granularity__.unwrap_or_default(),
8720 })
8721 }
8722 }
8723 deserializer
8724 .deserialize_struct(
8725 "origincloud.billing.v1beta1.QueryProjectCostRequest",
8726 FIELDS,
8727 GeneratedVisitor,
8728 )
8729 }
8730}
8731impl serde::Serialize for QueryProjectUsageRequest {
8732 #[allow(deprecated)]
8733 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8734 where
8735 S: serde::Serializer,
8736 {
8737 use serde::ser::SerializeStruct;
8738 let mut len = 0;
8739 if !self.project.is_empty() {
8740 len += 1;
8741 }
8742 if self.start_time.is_some() {
8743 len += 1;
8744 }
8745 if self.end_time.is_some() {
8746 len += 1;
8747 }
8748 if self.page_size != 0 {
8749 len += 1;
8750 }
8751 if !self.page_token.is_empty() {
8752 len += 1;
8753 }
8754 let mut struct_ser = serializer
8755 .serialize_struct(
8756 "origincloud.billing.v1beta1.QueryProjectUsageRequest",
8757 len,
8758 )?;
8759 if !self.project.is_empty() {
8760 struct_ser.serialize_field("project", &self.project)?;
8761 }
8762 if let Some(v) = self.start_time.as_ref() {
8763 struct_ser.serialize_field("startTime", v)?;
8764 }
8765 if let Some(v) = self.end_time.as_ref() {
8766 struct_ser.serialize_field("endTime", v)?;
8767 }
8768 if self.page_size != 0 {
8769 struct_ser.serialize_field("pageSize", &self.page_size)?;
8770 }
8771 if !self.page_token.is_empty() {
8772 struct_ser.serialize_field("pageToken", &self.page_token)?;
8773 }
8774 struct_ser.end()
8775 }
8776}
8777impl<'de> serde::Deserialize<'de> for QueryProjectUsageRequest {
8778 #[allow(deprecated)]
8779 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8780 where
8781 D: serde::Deserializer<'de>,
8782 {
8783 const FIELDS: &[&str] = &[
8784 "project",
8785 "start_time",
8786 "startTime",
8787 "end_time",
8788 "endTime",
8789 "page_size",
8790 "pageSize",
8791 "page_token",
8792 "pageToken",
8793 ];
8794 #[allow(clippy::enum_variant_names)]
8795 enum GeneratedField {
8796 Project,
8797 StartTime,
8798 EndTime,
8799 PageSize,
8800 PageToken,
8801 __SkipField__,
8802 }
8803 impl<'de> serde::Deserialize<'de> for GeneratedField {
8804 fn deserialize<D>(
8805 deserializer: D,
8806 ) -> std::result::Result<GeneratedField, D::Error>
8807 where
8808 D: serde::Deserializer<'de>,
8809 {
8810 struct GeneratedVisitor;
8811 impl serde::de::Visitor<'_> for GeneratedVisitor {
8812 type Value = GeneratedField;
8813 fn expecting(
8814 &self,
8815 formatter: &mut std::fmt::Formatter<'_>,
8816 ) -> std::fmt::Result {
8817 write!(formatter, "expected one of: {:?}", & FIELDS)
8818 }
8819 #[allow(unused_variables)]
8820 fn visit_str<E>(
8821 self,
8822 value: &str,
8823 ) -> std::result::Result<GeneratedField, E>
8824 where
8825 E: serde::de::Error,
8826 {
8827 match value {
8828 "project" => Ok(GeneratedField::Project),
8829 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
8830 "endTime" | "end_time" => Ok(GeneratedField::EndTime),
8831 "pageSize" | "page_size" => Ok(GeneratedField::PageSize),
8832 "pageToken" | "page_token" => Ok(GeneratedField::PageToken),
8833 _ => Ok(GeneratedField::__SkipField__),
8834 }
8835 }
8836 }
8837 deserializer.deserialize_identifier(GeneratedVisitor)
8838 }
8839 }
8840 struct GeneratedVisitor;
8841 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
8842 type Value = QueryProjectUsageRequest;
8843 fn expecting(
8844 &self,
8845 formatter: &mut std::fmt::Formatter<'_>,
8846 ) -> std::fmt::Result {
8847 formatter
8848 .write_str(
8849 "struct origincloud.billing.v1beta1.QueryProjectUsageRequest",
8850 )
8851 }
8852 fn visit_map<V>(
8853 self,
8854 mut map_: V,
8855 ) -> std::result::Result<QueryProjectUsageRequest, V::Error>
8856 where
8857 V: serde::de::MapAccess<'de>,
8858 {
8859 let mut project__ = None;
8860 let mut start_time__ = None;
8861 let mut end_time__ = None;
8862 let mut page_size__ = None;
8863 let mut page_token__ = None;
8864 while let Some(k) = map_.next_key()? {
8865 match k {
8866 GeneratedField::Project => {
8867 if project__.is_some() {
8868 return Err(serde::de::Error::duplicate_field("project"));
8869 }
8870 project__ = Some(map_.next_value()?);
8871 }
8872 GeneratedField::StartTime => {
8873 if start_time__.is_some() {
8874 return Err(serde::de::Error::duplicate_field("startTime"));
8875 }
8876 start_time__ = map_.next_value()?;
8877 }
8878 GeneratedField::EndTime => {
8879 if end_time__.is_some() {
8880 return Err(serde::de::Error::duplicate_field("endTime"));
8881 }
8882 end_time__ = map_.next_value()?;
8883 }
8884 GeneratedField::PageSize => {
8885 if page_size__.is_some() {
8886 return Err(serde::de::Error::duplicate_field("pageSize"));
8887 }
8888 page_size__ = Some(
8889 map_
8890 .next_value::<::pbjson::private::NumberDeserialize<_>>()?
8891 .0,
8892 );
8893 }
8894 GeneratedField::PageToken => {
8895 if page_token__.is_some() {
8896 return Err(serde::de::Error::duplicate_field("pageToken"));
8897 }
8898 page_token__ = Some(map_.next_value()?);
8899 }
8900 GeneratedField::__SkipField__ => {
8901 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
8902 }
8903 }
8904 }
8905 Ok(QueryProjectUsageRequest {
8906 project: project__.unwrap_or_default(),
8907 start_time: start_time__,
8908 end_time: end_time__,
8909 page_size: page_size__.unwrap_or_default(),
8910 page_token: page_token__.unwrap_or_default(),
8911 })
8912 }
8913 }
8914 deserializer
8915 .deserialize_struct(
8916 "origincloud.billing.v1beta1.QueryProjectUsageRequest",
8917 FIELDS,
8918 GeneratedVisitor,
8919 )
8920 }
8921}
8922impl serde::Serialize for QueryProjectUsageResponse {
8923 #[allow(deprecated)]
8924 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
8925 where
8926 S: serde::Serializer,
8927 {
8928 use serde::ser::SerializeStruct;
8929 let mut len = 0;
8930 if !self.usage_records.is_empty() {
8931 len += 1;
8932 }
8933 if !self.next_page_token.is_empty() {
8934 len += 1;
8935 }
8936 let mut struct_ser = serializer
8937 .serialize_struct(
8938 "origincloud.billing.v1beta1.QueryProjectUsageResponse",
8939 len,
8940 )?;
8941 if !self.usage_records.is_empty() {
8942 struct_ser.serialize_field("usageRecords", &self.usage_records)?;
8943 }
8944 if !self.next_page_token.is_empty() {
8945 struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
8946 }
8947 struct_ser.end()
8948 }
8949}
8950impl<'de> serde::Deserialize<'de> for QueryProjectUsageResponse {
8951 #[allow(deprecated)]
8952 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
8953 where
8954 D: serde::Deserializer<'de>,
8955 {
8956 const FIELDS: &[&str] = &[
8957 "usage_records",
8958 "usageRecords",
8959 "next_page_token",
8960 "nextPageToken",
8961 ];
8962 #[allow(clippy::enum_variant_names)]
8963 enum GeneratedField {
8964 UsageRecords,
8965 NextPageToken,
8966 __SkipField__,
8967 }
8968 impl<'de> serde::Deserialize<'de> for GeneratedField {
8969 fn deserialize<D>(
8970 deserializer: D,
8971 ) -> std::result::Result<GeneratedField, D::Error>
8972 where
8973 D: serde::Deserializer<'de>,
8974 {
8975 struct GeneratedVisitor;
8976 impl serde::de::Visitor<'_> for GeneratedVisitor {
8977 type Value = GeneratedField;
8978 fn expecting(
8979 &self,
8980 formatter: &mut std::fmt::Formatter<'_>,
8981 ) -> std::fmt::Result {
8982 write!(formatter, "expected one of: {:?}", & FIELDS)
8983 }
8984 #[allow(unused_variables)]
8985 fn visit_str<E>(
8986 self,
8987 value: &str,
8988 ) -> std::result::Result<GeneratedField, E>
8989 where
8990 E: serde::de::Error,
8991 {
8992 match value {
8993 "usageRecords" | "usage_records" => {
8994 Ok(GeneratedField::UsageRecords)
8995 }
8996 "nextPageToken" | "next_page_token" => {
8997 Ok(GeneratedField::NextPageToken)
8998 }
8999 _ => Ok(GeneratedField::__SkipField__),
9000 }
9001 }
9002 }
9003 deserializer.deserialize_identifier(GeneratedVisitor)
9004 }
9005 }
9006 struct GeneratedVisitor;
9007 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9008 type Value = QueryProjectUsageResponse;
9009 fn expecting(
9010 &self,
9011 formatter: &mut std::fmt::Formatter<'_>,
9012 ) -> std::fmt::Result {
9013 formatter
9014 .write_str(
9015 "struct origincloud.billing.v1beta1.QueryProjectUsageResponse",
9016 )
9017 }
9018 fn visit_map<V>(
9019 self,
9020 mut map_: V,
9021 ) -> std::result::Result<QueryProjectUsageResponse, V::Error>
9022 where
9023 V: serde::de::MapAccess<'de>,
9024 {
9025 let mut usage_records__ = None;
9026 let mut next_page_token__ = None;
9027 while let Some(k) = map_.next_key()? {
9028 match k {
9029 GeneratedField::UsageRecords => {
9030 if usage_records__.is_some() {
9031 return Err(
9032 serde::de::Error::duplicate_field("usageRecords"),
9033 );
9034 }
9035 usage_records__ = Some(map_.next_value()?);
9036 }
9037 GeneratedField::NextPageToken => {
9038 if next_page_token__.is_some() {
9039 return Err(
9040 serde::de::Error::duplicate_field("nextPageToken"),
9041 );
9042 }
9043 next_page_token__ = Some(map_.next_value()?);
9044 }
9045 GeneratedField::__SkipField__ => {
9046 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9047 }
9048 }
9049 }
9050 Ok(QueryProjectUsageResponse {
9051 usage_records: usage_records__.unwrap_or_default(),
9052 next_page_token: next_page_token__.unwrap_or_default(),
9053 })
9054 }
9055 }
9056 deserializer
9057 .deserialize_struct(
9058 "origincloud.billing.v1beta1.QueryProjectUsageResponse",
9059 FIELDS,
9060 GeneratedVisitor,
9061 )
9062 }
9063}
9064impl serde::Serialize for ServiceCost {
9065 #[allow(deprecated)]
9066 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9067 where
9068 S: serde::Serializer,
9069 {
9070 use serde::ser::SerializeStruct;
9071 let mut len = 0;
9072 if !self.service.is_empty() {
9073 len += 1;
9074 }
9075 if !self.total.is_empty() {
9076 len += 1;
9077 }
9078 if !self.products.is_empty() {
9079 len += 1;
9080 }
9081 let mut struct_ser = serializer
9082 .serialize_struct("origincloud.billing.v1beta1.ServiceCost", len)?;
9083 if !self.service.is_empty() {
9084 struct_ser.serialize_field("service", &self.service)?;
9085 }
9086 if !self.total.is_empty() {
9087 struct_ser.serialize_field("total", &self.total)?;
9088 }
9089 if !self.products.is_empty() {
9090 struct_ser.serialize_field("products", &self.products)?;
9091 }
9092 struct_ser.end()
9093 }
9094}
9095impl<'de> serde::Deserialize<'de> for ServiceCost {
9096 #[allow(deprecated)]
9097 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9098 where
9099 D: serde::Deserializer<'de>,
9100 {
9101 const FIELDS: &[&str] = &["service", "total", "products"];
9102 #[allow(clippy::enum_variant_names)]
9103 enum GeneratedField {
9104 Service,
9105 Total,
9106 Products,
9107 __SkipField__,
9108 }
9109 impl<'de> serde::Deserialize<'de> for GeneratedField {
9110 fn deserialize<D>(
9111 deserializer: D,
9112 ) -> std::result::Result<GeneratedField, D::Error>
9113 where
9114 D: serde::Deserializer<'de>,
9115 {
9116 struct GeneratedVisitor;
9117 impl serde::de::Visitor<'_> for GeneratedVisitor {
9118 type Value = GeneratedField;
9119 fn expecting(
9120 &self,
9121 formatter: &mut std::fmt::Formatter<'_>,
9122 ) -> std::fmt::Result {
9123 write!(formatter, "expected one of: {:?}", & FIELDS)
9124 }
9125 #[allow(unused_variables)]
9126 fn visit_str<E>(
9127 self,
9128 value: &str,
9129 ) -> std::result::Result<GeneratedField, E>
9130 where
9131 E: serde::de::Error,
9132 {
9133 match value {
9134 "service" => Ok(GeneratedField::Service),
9135 "total" => Ok(GeneratedField::Total),
9136 "products" => Ok(GeneratedField::Products),
9137 _ => Ok(GeneratedField::__SkipField__),
9138 }
9139 }
9140 }
9141 deserializer.deserialize_identifier(GeneratedVisitor)
9142 }
9143 }
9144 struct GeneratedVisitor;
9145 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9146 type Value = ServiceCost;
9147 fn expecting(
9148 &self,
9149 formatter: &mut std::fmt::Formatter<'_>,
9150 ) -> std::fmt::Result {
9151 formatter.write_str("struct origincloud.billing.v1beta1.ServiceCost")
9152 }
9153 fn visit_map<V>(
9154 self,
9155 mut map_: V,
9156 ) -> std::result::Result<ServiceCost, V::Error>
9157 where
9158 V: serde::de::MapAccess<'de>,
9159 {
9160 let mut service__ = None;
9161 let mut total__ = None;
9162 let mut products__ = None;
9163 while let Some(k) = map_.next_key()? {
9164 match k {
9165 GeneratedField::Service => {
9166 if service__.is_some() {
9167 return Err(serde::de::Error::duplicate_field("service"));
9168 }
9169 service__ = Some(map_.next_value()?);
9170 }
9171 GeneratedField::Total => {
9172 if total__.is_some() {
9173 return Err(serde::de::Error::duplicate_field("total"));
9174 }
9175 total__ = Some(map_.next_value()?);
9176 }
9177 GeneratedField::Products => {
9178 if products__.is_some() {
9179 return Err(serde::de::Error::duplicate_field("products"));
9180 }
9181 products__ = Some(map_.next_value()?);
9182 }
9183 GeneratedField::__SkipField__ => {
9184 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9185 }
9186 }
9187 }
9188 Ok(ServiceCost {
9189 service: service__.unwrap_or_default(),
9190 total: total__.unwrap_or_default(),
9191 products: products__.unwrap_or_default(),
9192 })
9193 }
9194 }
9195 deserializer
9196 .deserialize_struct(
9197 "origincloud.billing.v1beta1.ServiceCost",
9198 FIELDS,
9199 GeneratedVisitor,
9200 )
9201 }
9202}
9203impl serde::Serialize for SpendLimit {
9204 #[allow(deprecated)]
9205 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9206 where
9207 S: serde::Serializer,
9208 {
9209 use serde::ser::SerializeStruct;
9210 let mut len = 0;
9211 if !self.name.is_empty() {
9212 len += 1;
9213 }
9214 if self.limit.is_some() {
9215 len += 1;
9216 }
9217 if !self.alert_thresholds_percent.is_empty() {
9218 len += 1;
9219 }
9220 if !self.notification_emails.is_empty() {
9221 len += 1;
9222 }
9223 if self.update_time.is_some() {
9224 len += 1;
9225 }
9226 let mut struct_ser = serializer
9227 .serialize_struct("origincloud.billing.v1beta1.SpendLimit", len)?;
9228 if !self.name.is_empty() {
9229 struct_ser.serialize_field("name", &self.name)?;
9230 }
9231 if let Some(v) = self.limit.as_ref() {
9232 struct_ser.serialize_field("limit", v)?;
9233 }
9234 if !self.alert_thresholds_percent.is_empty() {
9235 struct_ser
9236 .serialize_field(
9237 "alertThresholdsPercent",
9238 &self.alert_thresholds_percent,
9239 )?;
9240 }
9241 if !self.notification_emails.is_empty() {
9242 struct_ser.serialize_field("notificationEmails", &self.notification_emails)?;
9243 }
9244 if let Some(v) = self.update_time.as_ref() {
9245 struct_ser.serialize_field("updateTime", v)?;
9246 }
9247 struct_ser.end()
9248 }
9249}
9250impl<'de> serde::Deserialize<'de> for SpendLimit {
9251 #[allow(deprecated)]
9252 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9253 where
9254 D: serde::Deserializer<'de>,
9255 {
9256 const FIELDS: &[&str] = &[
9257 "name",
9258 "limit",
9259 "alert_thresholds_percent",
9260 "alertThresholdsPercent",
9261 "notification_emails",
9262 "notificationEmails",
9263 "update_time",
9264 "updateTime",
9265 ];
9266 #[allow(clippy::enum_variant_names)]
9267 enum GeneratedField {
9268 Name,
9269 Limit,
9270 AlertThresholdsPercent,
9271 NotificationEmails,
9272 UpdateTime,
9273 __SkipField__,
9274 }
9275 impl<'de> serde::Deserialize<'de> for GeneratedField {
9276 fn deserialize<D>(
9277 deserializer: D,
9278 ) -> std::result::Result<GeneratedField, D::Error>
9279 where
9280 D: serde::Deserializer<'de>,
9281 {
9282 struct GeneratedVisitor;
9283 impl serde::de::Visitor<'_> for GeneratedVisitor {
9284 type Value = GeneratedField;
9285 fn expecting(
9286 &self,
9287 formatter: &mut std::fmt::Formatter<'_>,
9288 ) -> std::fmt::Result {
9289 write!(formatter, "expected one of: {:?}", & FIELDS)
9290 }
9291 #[allow(unused_variables)]
9292 fn visit_str<E>(
9293 self,
9294 value: &str,
9295 ) -> std::result::Result<GeneratedField, E>
9296 where
9297 E: serde::de::Error,
9298 {
9299 match value {
9300 "name" => Ok(GeneratedField::Name),
9301 "limit" => Ok(GeneratedField::Limit),
9302 "alertThresholdsPercent" | "alert_thresholds_percent" => {
9303 Ok(GeneratedField::AlertThresholdsPercent)
9304 }
9305 "notificationEmails" | "notification_emails" => {
9306 Ok(GeneratedField::NotificationEmails)
9307 }
9308 "updateTime" | "update_time" => {
9309 Ok(GeneratedField::UpdateTime)
9310 }
9311 _ => Ok(GeneratedField::__SkipField__),
9312 }
9313 }
9314 }
9315 deserializer.deserialize_identifier(GeneratedVisitor)
9316 }
9317 }
9318 struct GeneratedVisitor;
9319 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9320 type Value = SpendLimit;
9321 fn expecting(
9322 &self,
9323 formatter: &mut std::fmt::Formatter<'_>,
9324 ) -> std::fmt::Result {
9325 formatter.write_str("struct origincloud.billing.v1beta1.SpendLimit")
9326 }
9327 fn visit_map<V>(
9328 self,
9329 mut map_: V,
9330 ) -> std::result::Result<SpendLimit, V::Error>
9331 where
9332 V: serde::de::MapAccess<'de>,
9333 {
9334 let mut name__ = None;
9335 let mut limit__ = None;
9336 let mut alert_thresholds_percent__ = None;
9337 let mut notification_emails__ = None;
9338 let mut update_time__ = None;
9339 while let Some(k) = map_.next_key()? {
9340 match k {
9341 GeneratedField::Name => {
9342 if name__.is_some() {
9343 return Err(serde::de::Error::duplicate_field("name"));
9344 }
9345 name__ = Some(map_.next_value()?);
9346 }
9347 GeneratedField::Limit => {
9348 if limit__.is_some() {
9349 return Err(serde::de::Error::duplicate_field("limit"));
9350 }
9351 limit__ = map_.next_value()?;
9352 }
9353 GeneratedField::AlertThresholdsPercent => {
9354 if alert_thresholds_percent__.is_some() {
9355 return Err(
9356 serde::de::Error::duplicate_field("alertThresholdsPercent"),
9357 );
9358 }
9359 alert_thresholds_percent__ = Some(
9360 map_
9361 .next_value::<
9362 Vec<::pbjson::private::NumberDeserialize<_>>,
9363 >()?
9364 .into_iter()
9365 .map(|x| x.0)
9366 .collect(),
9367 );
9368 }
9369 GeneratedField::NotificationEmails => {
9370 if notification_emails__.is_some() {
9371 return Err(
9372 serde::de::Error::duplicate_field("notificationEmails"),
9373 );
9374 }
9375 notification_emails__ = Some(map_.next_value()?);
9376 }
9377 GeneratedField::UpdateTime => {
9378 if update_time__.is_some() {
9379 return Err(serde::de::Error::duplicate_field("updateTime"));
9380 }
9381 update_time__ = map_.next_value()?;
9382 }
9383 GeneratedField::__SkipField__ => {
9384 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9385 }
9386 }
9387 }
9388 Ok(SpendLimit {
9389 name: name__.unwrap_or_default(),
9390 limit: limit__,
9391 alert_thresholds_percent: alert_thresholds_percent__
9392 .unwrap_or_default(),
9393 notification_emails: notification_emails__.unwrap_or_default(),
9394 update_time: update_time__,
9395 })
9396 }
9397 }
9398 deserializer
9399 .deserialize_struct(
9400 "origincloud.billing.v1beta1.SpendLimit",
9401 FIELDS,
9402 GeneratedVisitor,
9403 )
9404 }
9405}
9406impl serde::Serialize for StartPaymentMethodSetupRequest {
9407 #[allow(deprecated)]
9408 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9409 where
9410 S: serde::Serializer,
9411 {
9412 use serde::ser::SerializeStruct;
9413 let mut len = 0;
9414 if !self.name.is_empty() {
9415 len += 1;
9416 }
9417 let mut struct_ser = serializer
9418 .serialize_struct(
9419 "origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
9420 len,
9421 )?;
9422 if !self.name.is_empty() {
9423 struct_ser.serialize_field("name", &self.name)?;
9424 }
9425 struct_ser.end()
9426 }
9427}
9428impl<'de> serde::Deserialize<'de> for StartPaymentMethodSetupRequest {
9429 #[allow(deprecated)]
9430 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9431 where
9432 D: serde::Deserializer<'de>,
9433 {
9434 const FIELDS: &[&str] = &["name"];
9435 #[allow(clippy::enum_variant_names)]
9436 enum GeneratedField {
9437 Name,
9438 __SkipField__,
9439 }
9440 impl<'de> serde::Deserialize<'de> for GeneratedField {
9441 fn deserialize<D>(
9442 deserializer: D,
9443 ) -> std::result::Result<GeneratedField, D::Error>
9444 where
9445 D: serde::Deserializer<'de>,
9446 {
9447 struct GeneratedVisitor;
9448 impl serde::de::Visitor<'_> for GeneratedVisitor {
9449 type Value = GeneratedField;
9450 fn expecting(
9451 &self,
9452 formatter: &mut std::fmt::Formatter<'_>,
9453 ) -> std::fmt::Result {
9454 write!(formatter, "expected one of: {:?}", & FIELDS)
9455 }
9456 #[allow(unused_variables)]
9457 fn visit_str<E>(
9458 self,
9459 value: &str,
9460 ) -> std::result::Result<GeneratedField, E>
9461 where
9462 E: serde::de::Error,
9463 {
9464 match value {
9465 "name" => Ok(GeneratedField::Name),
9466 _ => Ok(GeneratedField::__SkipField__),
9467 }
9468 }
9469 }
9470 deserializer.deserialize_identifier(GeneratedVisitor)
9471 }
9472 }
9473 struct GeneratedVisitor;
9474 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9475 type Value = StartPaymentMethodSetupRequest;
9476 fn expecting(
9477 &self,
9478 formatter: &mut std::fmt::Formatter<'_>,
9479 ) -> std::fmt::Result {
9480 formatter
9481 .write_str(
9482 "struct origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
9483 )
9484 }
9485 fn visit_map<V>(
9486 self,
9487 mut map_: V,
9488 ) -> std::result::Result<StartPaymentMethodSetupRequest, V::Error>
9489 where
9490 V: serde::de::MapAccess<'de>,
9491 {
9492 let mut name__ = None;
9493 while let Some(k) = map_.next_key()? {
9494 match k {
9495 GeneratedField::Name => {
9496 if name__.is_some() {
9497 return Err(serde::de::Error::duplicate_field("name"));
9498 }
9499 name__ = Some(map_.next_value()?);
9500 }
9501 GeneratedField::__SkipField__ => {
9502 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9503 }
9504 }
9505 }
9506 Ok(StartPaymentMethodSetupRequest {
9507 name: name__.unwrap_or_default(),
9508 })
9509 }
9510 }
9511 deserializer
9512 .deserialize_struct(
9513 "origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
9514 FIELDS,
9515 GeneratedVisitor,
9516 )
9517 }
9518}
9519impl serde::Serialize for StartPaymentMethodSetupResponse {
9520 #[allow(deprecated)]
9521 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9522 where
9523 S: serde::Serializer,
9524 {
9525 use serde::ser::SerializeStruct;
9526 let mut len = 0;
9527 if !self.redirect_uri.is_empty() {
9528 len += 1;
9529 }
9530 let mut struct_ser = serializer
9531 .serialize_struct(
9532 "origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
9533 len,
9534 )?;
9535 if !self.redirect_uri.is_empty() {
9536 struct_ser.serialize_field("redirectUri", &self.redirect_uri)?;
9537 }
9538 struct_ser.end()
9539 }
9540}
9541impl<'de> serde::Deserialize<'de> for StartPaymentMethodSetupResponse {
9542 #[allow(deprecated)]
9543 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9544 where
9545 D: serde::Deserializer<'de>,
9546 {
9547 const FIELDS: &[&str] = &["redirect_uri", "redirectUri"];
9548 #[allow(clippy::enum_variant_names)]
9549 enum GeneratedField {
9550 RedirectUri,
9551 __SkipField__,
9552 }
9553 impl<'de> serde::Deserialize<'de> for GeneratedField {
9554 fn deserialize<D>(
9555 deserializer: D,
9556 ) -> std::result::Result<GeneratedField, D::Error>
9557 where
9558 D: serde::Deserializer<'de>,
9559 {
9560 struct GeneratedVisitor;
9561 impl serde::de::Visitor<'_> for GeneratedVisitor {
9562 type Value = GeneratedField;
9563 fn expecting(
9564 &self,
9565 formatter: &mut std::fmt::Formatter<'_>,
9566 ) -> std::fmt::Result {
9567 write!(formatter, "expected one of: {:?}", & FIELDS)
9568 }
9569 #[allow(unused_variables)]
9570 fn visit_str<E>(
9571 self,
9572 value: &str,
9573 ) -> std::result::Result<GeneratedField, E>
9574 where
9575 E: serde::de::Error,
9576 {
9577 match value {
9578 "redirectUri" | "redirect_uri" => {
9579 Ok(GeneratedField::RedirectUri)
9580 }
9581 _ => Ok(GeneratedField::__SkipField__),
9582 }
9583 }
9584 }
9585 deserializer.deserialize_identifier(GeneratedVisitor)
9586 }
9587 }
9588 struct GeneratedVisitor;
9589 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9590 type Value = StartPaymentMethodSetupResponse;
9591 fn expecting(
9592 &self,
9593 formatter: &mut std::fmt::Formatter<'_>,
9594 ) -> std::fmt::Result {
9595 formatter
9596 .write_str(
9597 "struct origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
9598 )
9599 }
9600 fn visit_map<V>(
9601 self,
9602 mut map_: V,
9603 ) -> std::result::Result<StartPaymentMethodSetupResponse, V::Error>
9604 where
9605 V: serde::de::MapAccess<'de>,
9606 {
9607 let mut redirect_uri__ = None;
9608 while let Some(k) = map_.next_key()? {
9609 match k {
9610 GeneratedField::RedirectUri => {
9611 if redirect_uri__.is_some() {
9612 return Err(
9613 serde::de::Error::duplicate_field("redirectUri"),
9614 );
9615 }
9616 redirect_uri__ = Some(map_.next_value()?);
9617 }
9618 GeneratedField::__SkipField__ => {
9619 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9620 }
9621 }
9622 }
9623 Ok(StartPaymentMethodSetupResponse {
9624 redirect_uri: redirect_uri__.unwrap_or_default(),
9625 })
9626 }
9627 }
9628 deserializer
9629 .deserialize_struct(
9630 "origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
9631 FIELDS,
9632 GeneratedVisitor,
9633 )
9634 }
9635}
9636impl serde::Serialize for UpdateBillingAccountRequest {
9637 #[allow(deprecated)]
9638 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9639 where
9640 S: serde::Serializer,
9641 {
9642 use serde::ser::SerializeStruct;
9643 let mut len = 0;
9644 if self.billing_account.is_some() {
9645 len += 1;
9646 }
9647 if self.update_mask.is_some() {
9648 len += 1;
9649 }
9650 let mut struct_ser = serializer
9651 .serialize_struct(
9652 "origincloud.billing.v1beta1.UpdateBillingAccountRequest",
9653 len,
9654 )?;
9655 if let Some(v) = self.billing_account.as_ref() {
9656 struct_ser.serialize_field("billingAccount", v)?;
9657 }
9658 if let Some(v) = self.update_mask.as_ref() {
9659 struct_ser.serialize_field("updateMask", v)?;
9660 }
9661 struct_ser.end()
9662 }
9663}
9664impl<'de> serde::Deserialize<'de> for UpdateBillingAccountRequest {
9665 #[allow(deprecated)]
9666 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9667 where
9668 D: serde::Deserializer<'de>,
9669 {
9670 const FIELDS: &[&str] = &[
9671 "billing_account",
9672 "billingAccount",
9673 "update_mask",
9674 "updateMask",
9675 ];
9676 #[allow(clippy::enum_variant_names)]
9677 enum GeneratedField {
9678 BillingAccount,
9679 UpdateMask,
9680 __SkipField__,
9681 }
9682 impl<'de> serde::Deserialize<'de> for GeneratedField {
9683 fn deserialize<D>(
9684 deserializer: D,
9685 ) -> std::result::Result<GeneratedField, D::Error>
9686 where
9687 D: serde::Deserializer<'de>,
9688 {
9689 struct GeneratedVisitor;
9690 impl serde::de::Visitor<'_> for GeneratedVisitor {
9691 type Value = GeneratedField;
9692 fn expecting(
9693 &self,
9694 formatter: &mut std::fmt::Formatter<'_>,
9695 ) -> std::fmt::Result {
9696 write!(formatter, "expected one of: {:?}", & FIELDS)
9697 }
9698 #[allow(unused_variables)]
9699 fn visit_str<E>(
9700 self,
9701 value: &str,
9702 ) -> std::result::Result<GeneratedField, E>
9703 where
9704 E: serde::de::Error,
9705 {
9706 match value {
9707 "billingAccount" | "billing_account" => {
9708 Ok(GeneratedField::BillingAccount)
9709 }
9710 "updateMask" | "update_mask" => {
9711 Ok(GeneratedField::UpdateMask)
9712 }
9713 _ => Ok(GeneratedField::__SkipField__),
9714 }
9715 }
9716 }
9717 deserializer.deserialize_identifier(GeneratedVisitor)
9718 }
9719 }
9720 struct GeneratedVisitor;
9721 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9722 type Value = UpdateBillingAccountRequest;
9723 fn expecting(
9724 &self,
9725 formatter: &mut std::fmt::Formatter<'_>,
9726 ) -> std::fmt::Result {
9727 formatter
9728 .write_str(
9729 "struct origincloud.billing.v1beta1.UpdateBillingAccountRequest",
9730 )
9731 }
9732 fn visit_map<V>(
9733 self,
9734 mut map_: V,
9735 ) -> std::result::Result<UpdateBillingAccountRequest, V::Error>
9736 where
9737 V: serde::de::MapAccess<'de>,
9738 {
9739 let mut billing_account__ = None;
9740 let mut update_mask__ = None;
9741 while let Some(k) = map_.next_key()? {
9742 match k {
9743 GeneratedField::BillingAccount => {
9744 if billing_account__.is_some() {
9745 return Err(
9746 serde::de::Error::duplicate_field("billingAccount"),
9747 );
9748 }
9749 billing_account__ = map_.next_value()?;
9750 }
9751 GeneratedField::UpdateMask => {
9752 if update_mask__.is_some() {
9753 return Err(serde::de::Error::duplicate_field("updateMask"));
9754 }
9755 update_mask__ = map_.next_value()?;
9756 }
9757 GeneratedField::__SkipField__ => {
9758 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9759 }
9760 }
9761 }
9762 Ok(UpdateBillingAccountRequest {
9763 billing_account: billing_account__,
9764 update_mask: update_mask__,
9765 })
9766 }
9767 }
9768 deserializer
9769 .deserialize_struct(
9770 "origincloud.billing.v1beta1.UpdateBillingAccountRequest",
9771 FIELDS,
9772 GeneratedVisitor,
9773 )
9774 }
9775}
9776impl serde::Serialize for UpdateProjectBillingInfoRequest {
9777 #[allow(deprecated)]
9778 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9779 where
9780 S: serde::Serializer,
9781 {
9782 use serde::ser::SerializeStruct;
9783 let mut len = 0;
9784 if self.project_billing_info.is_some() {
9785 len += 1;
9786 }
9787 if self.update_mask.is_some() {
9788 len += 1;
9789 }
9790 let mut struct_ser = serializer
9791 .serialize_struct(
9792 "origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
9793 len,
9794 )?;
9795 if let Some(v) = self.project_billing_info.as_ref() {
9796 struct_ser.serialize_field("projectBillingInfo", v)?;
9797 }
9798 if let Some(v) = self.update_mask.as_ref() {
9799 struct_ser.serialize_field("updateMask", v)?;
9800 }
9801 struct_ser.end()
9802 }
9803}
9804impl<'de> serde::Deserialize<'de> for UpdateProjectBillingInfoRequest {
9805 #[allow(deprecated)]
9806 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9807 where
9808 D: serde::Deserializer<'de>,
9809 {
9810 const FIELDS: &[&str] = &[
9811 "project_billing_info",
9812 "projectBillingInfo",
9813 "update_mask",
9814 "updateMask",
9815 ];
9816 #[allow(clippy::enum_variant_names)]
9817 enum GeneratedField {
9818 ProjectBillingInfo,
9819 UpdateMask,
9820 __SkipField__,
9821 }
9822 impl<'de> serde::Deserialize<'de> for GeneratedField {
9823 fn deserialize<D>(
9824 deserializer: D,
9825 ) -> std::result::Result<GeneratedField, D::Error>
9826 where
9827 D: serde::Deserializer<'de>,
9828 {
9829 struct GeneratedVisitor;
9830 impl serde::de::Visitor<'_> for GeneratedVisitor {
9831 type Value = GeneratedField;
9832 fn expecting(
9833 &self,
9834 formatter: &mut std::fmt::Formatter<'_>,
9835 ) -> std::fmt::Result {
9836 write!(formatter, "expected one of: {:?}", & FIELDS)
9837 }
9838 #[allow(unused_variables)]
9839 fn visit_str<E>(
9840 self,
9841 value: &str,
9842 ) -> std::result::Result<GeneratedField, E>
9843 where
9844 E: serde::de::Error,
9845 {
9846 match value {
9847 "projectBillingInfo" | "project_billing_info" => {
9848 Ok(GeneratedField::ProjectBillingInfo)
9849 }
9850 "updateMask" | "update_mask" => {
9851 Ok(GeneratedField::UpdateMask)
9852 }
9853 _ => Ok(GeneratedField::__SkipField__),
9854 }
9855 }
9856 }
9857 deserializer.deserialize_identifier(GeneratedVisitor)
9858 }
9859 }
9860 struct GeneratedVisitor;
9861 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
9862 type Value = UpdateProjectBillingInfoRequest;
9863 fn expecting(
9864 &self,
9865 formatter: &mut std::fmt::Formatter<'_>,
9866 ) -> std::fmt::Result {
9867 formatter
9868 .write_str(
9869 "struct origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
9870 )
9871 }
9872 fn visit_map<V>(
9873 self,
9874 mut map_: V,
9875 ) -> std::result::Result<UpdateProjectBillingInfoRequest, V::Error>
9876 where
9877 V: serde::de::MapAccess<'de>,
9878 {
9879 let mut project_billing_info__ = None;
9880 let mut update_mask__ = None;
9881 while let Some(k) = map_.next_key()? {
9882 match k {
9883 GeneratedField::ProjectBillingInfo => {
9884 if project_billing_info__.is_some() {
9885 return Err(
9886 serde::de::Error::duplicate_field("projectBillingInfo"),
9887 );
9888 }
9889 project_billing_info__ = map_.next_value()?;
9890 }
9891 GeneratedField::UpdateMask => {
9892 if update_mask__.is_some() {
9893 return Err(serde::de::Error::duplicate_field("updateMask"));
9894 }
9895 update_mask__ = map_.next_value()?;
9896 }
9897 GeneratedField::__SkipField__ => {
9898 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
9899 }
9900 }
9901 }
9902 Ok(UpdateProjectBillingInfoRequest {
9903 project_billing_info: project_billing_info__,
9904 update_mask: update_mask__,
9905 })
9906 }
9907 }
9908 deserializer
9909 .deserialize_struct(
9910 "origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
9911 FIELDS,
9912 GeneratedVisitor,
9913 )
9914 }
9915}
9916impl serde::Serialize for UpdateSpendLimitRequest {
9917 #[allow(deprecated)]
9918 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
9919 where
9920 S: serde::Serializer,
9921 {
9922 use serde::ser::SerializeStruct;
9923 let mut len = 0;
9924 if self.spend_limit.is_some() {
9925 len += 1;
9926 }
9927 if self.update_mask.is_some() {
9928 len += 1;
9929 }
9930 let mut struct_ser = serializer
9931 .serialize_struct(
9932 "origincloud.billing.v1beta1.UpdateSpendLimitRequest",
9933 len,
9934 )?;
9935 if let Some(v) = self.spend_limit.as_ref() {
9936 struct_ser.serialize_field("spendLimit", v)?;
9937 }
9938 if let Some(v) = self.update_mask.as_ref() {
9939 struct_ser.serialize_field("updateMask", v)?;
9940 }
9941 struct_ser.end()
9942 }
9943}
9944impl<'de> serde::Deserialize<'de> for UpdateSpendLimitRequest {
9945 #[allow(deprecated)]
9946 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
9947 where
9948 D: serde::Deserializer<'de>,
9949 {
9950 const FIELDS: &[&str] = &[
9951 "spend_limit",
9952 "spendLimit",
9953 "update_mask",
9954 "updateMask",
9955 ];
9956 #[allow(clippy::enum_variant_names)]
9957 enum GeneratedField {
9958 SpendLimit,
9959 UpdateMask,
9960 __SkipField__,
9961 }
9962 impl<'de> serde::Deserialize<'de> for GeneratedField {
9963 fn deserialize<D>(
9964 deserializer: D,
9965 ) -> std::result::Result<GeneratedField, D::Error>
9966 where
9967 D: serde::Deserializer<'de>,
9968 {
9969 struct GeneratedVisitor;
9970 impl serde::de::Visitor<'_> for GeneratedVisitor {
9971 type Value = GeneratedField;
9972 fn expecting(
9973 &self,
9974 formatter: &mut std::fmt::Formatter<'_>,
9975 ) -> std::fmt::Result {
9976 write!(formatter, "expected one of: {:?}", & FIELDS)
9977 }
9978 #[allow(unused_variables)]
9979 fn visit_str<E>(
9980 self,
9981 value: &str,
9982 ) -> std::result::Result<GeneratedField, E>
9983 where
9984 E: serde::de::Error,
9985 {
9986 match value {
9987 "spendLimit" | "spend_limit" => {
9988 Ok(GeneratedField::SpendLimit)
9989 }
9990 "updateMask" | "update_mask" => {
9991 Ok(GeneratedField::UpdateMask)
9992 }
9993 _ => Ok(GeneratedField::__SkipField__),
9994 }
9995 }
9996 }
9997 deserializer.deserialize_identifier(GeneratedVisitor)
9998 }
9999 }
10000 struct GeneratedVisitor;
10001 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
10002 type Value = UpdateSpendLimitRequest;
10003 fn expecting(
10004 &self,
10005 formatter: &mut std::fmt::Formatter<'_>,
10006 ) -> std::fmt::Result {
10007 formatter
10008 .write_str(
10009 "struct origincloud.billing.v1beta1.UpdateSpendLimitRequest",
10010 )
10011 }
10012 fn visit_map<V>(
10013 self,
10014 mut map_: V,
10015 ) -> std::result::Result<UpdateSpendLimitRequest, V::Error>
10016 where
10017 V: serde::de::MapAccess<'de>,
10018 {
10019 let mut spend_limit__ = None;
10020 let mut update_mask__ = None;
10021 while let Some(k) = map_.next_key()? {
10022 match k {
10023 GeneratedField::SpendLimit => {
10024 if spend_limit__.is_some() {
10025 return Err(serde::de::Error::duplicate_field("spendLimit"));
10026 }
10027 spend_limit__ = map_.next_value()?;
10028 }
10029 GeneratedField::UpdateMask => {
10030 if update_mask__.is_some() {
10031 return Err(serde::de::Error::duplicate_field("updateMask"));
10032 }
10033 update_mask__ = map_.next_value()?;
10034 }
10035 GeneratedField::__SkipField__ => {
10036 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
10037 }
10038 }
10039 }
10040 Ok(UpdateSpendLimitRequest {
10041 spend_limit: spend_limit__,
10042 update_mask: update_mask__,
10043 })
10044 }
10045 }
10046 deserializer
10047 .deserialize_struct(
10048 "origincloud.billing.v1beta1.UpdateSpendLimitRequest",
10049 FIELDS,
10050 GeneratedVisitor,
10051 )
10052 }
10053}
10054impl serde::Serialize for UsageRecord {
10055 #[allow(deprecated)]
10056 fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
10057 where
10058 S: serde::Serializer,
10059 {
10060 use serde::ser::SerializeStruct;
10061 let mut len = 0;
10062 if !self.resource_kind.is_empty() {
10063 len += 1;
10064 }
10065 if !self.resource_id.is_empty() {
10066 len += 1;
10067 }
10068 if !self.metric.is_empty() {
10069 len += 1;
10070 }
10071 if !self.product_key.is_empty() {
10072 len += 1;
10073 }
10074 if !self.quantity.is_empty() {
10075 len += 1;
10076 }
10077 if self.start_time.is_some() {
10078 len += 1;
10079 }
10080 if self.end_time.is_some() {
10081 len += 1;
10082 }
10083 if !self.billing_account.is_empty() {
10084 len += 1;
10085 }
10086 let mut struct_ser = serializer
10087 .serialize_struct("origincloud.billing.v1beta1.UsageRecord", len)?;
10088 if !self.resource_kind.is_empty() {
10089 struct_ser.serialize_field("resourceKind", &self.resource_kind)?;
10090 }
10091 if !self.resource_id.is_empty() {
10092 struct_ser.serialize_field("resourceId", &self.resource_id)?;
10093 }
10094 if !self.metric.is_empty() {
10095 struct_ser.serialize_field("metric", &self.metric)?;
10096 }
10097 if !self.product_key.is_empty() {
10098 struct_ser.serialize_field("productKey", &self.product_key)?;
10099 }
10100 if !self.quantity.is_empty() {
10101 struct_ser.serialize_field("quantity", &self.quantity)?;
10102 }
10103 if let Some(v) = self.start_time.as_ref() {
10104 struct_ser.serialize_field("startTime", v)?;
10105 }
10106 if let Some(v) = self.end_time.as_ref() {
10107 struct_ser.serialize_field("endTime", v)?;
10108 }
10109 if !self.billing_account.is_empty() {
10110 struct_ser.serialize_field("billingAccount", &self.billing_account)?;
10111 }
10112 struct_ser.end()
10113 }
10114}
10115impl<'de> serde::Deserialize<'de> for UsageRecord {
10116 #[allow(deprecated)]
10117 fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
10118 where
10119 D: serde::Deserializer<'de>,
10120 {
10121 const FIELDS: &[&str] = &[
10122 "resource_kind",
10123 "resourceKind",
10124 "resource_id",
10125 "resourceId",
10126 "metric",
10127 "product_key",
10128 "productKey",
10129 "quantity",
10130 "start_time",
10131 "startTime",
10132 "end_time",
10133 "endTime",
10134 "billing_account",
10135 "billingAccount",
10136 ];
10137 #[allow(clippy::enum_variant_names)]
10138 enum GeneratedField {
10139 ResourceKind,
10140 ResourceId,
10141 Metric,
10142 ProductKey,
10143 Quantity,
10144 StartTime,
10145 EndTime,
10146 BillingAccount,
10147 __SkipField__,
10148 }
10149 impl<'de> serde::Deserialize<'de> for GeneratedField {
10150 fn deserialize<D>(
10151 deserializer: D,
10152 ) -> std::result::Result<GeneratedField, D::Error>
10153 where
10154 D: serde::Deserializer<'de>,
10155 {
10156 struct GeneratedVisitor;
10157 impl serde::de::Visitor<'_> for GeneratedVisitor {
10158 type Value = GeneratedField;
10159 fn expecting(
10160 &self,
10161 formatter: &mut std::fmt::Formatter<'_>,
10162 ) -> std::fmt::Result {
10163 write!(formatter, "expected one of: {:?}", & FIELDS)
10164 }
10165 #[allow(unused_variables)]
10166 fn visit_str<E>(
10167 self,
10168 value: &str,
10169 ) -> std::result::Result<GeneratedField, E>
10170 where
10171 E: serde::de::Error,
10172 {
10173 match value {
10174 "resourceKind" | "resource_kind" => {
10175 Ok(GeneratedField::ResourceKind)
10176 }
10177 "resourceId" | "resource_id" => {
10178 Ok(GeneratedField::ResourceId)
10179 }
10180 "metric" => Ok(GeneratedField::Metric),
10181 "productKey" | "product_key" => {
10182 Ok(GeneratedField::ProductKey)
10183 }
10184 "quantity" => Ok(GeneratedField::Quantity),
10185 "startTime" | "start_time" => Ok(GeneratedField::StartTime),
10186 "endTime" | "end_time" => Ok(GeneratedField::EndTime),
10187 "billingAccount" | "billing_account" => {
10188 Ok(GeneratedField::BillingAccount)
10189 }
10190 _ => Ok(GeneratedField::__SkipField__),
10191 }
10192 }
10193 }
10194 deserializer.deserialize_identifier(GeneratedVisitor)
10195 }
10196 }
10197 struct GeneratedVisitor;
10198 impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
10199 type Value = UsageRecord;
10200 fn expecting(
10201 &self,
10202 formatter: &mut std::fmt::Formatter<'_>,
10203 ) -> std::fmt::Result {
10204 formatter.write_str("struct origincloud.billing.v1beta1.UsageRecord")
10205 }
10206 fn visit_map<V>(
10207 self,
10208 mut map_: V,
10209 ) -> std::result::Result<UsageRecord, V::Error>
10210 where
10211 V: serde::de::MapAccess<'de>,
10212 {
10213 let mut resource_kind__ = None;
10214 let mut resource_id__ = None;
10215 let mut metric__ = None;
10216 let mut product_key__ = None;
10217 let mut quantity__ = None;
10218 let mut start_time__ = None;
10219 let mut end_time__ = None;
10220 let mut billing_account__ = None;
10221 while let Some(k) = map_.next_key()? {
10222 match k {
10223 GeneratedField::ResourceKind => {
10224 if resource_kind__.is_some() {
10225 return Err(
10226 serde::de::Error::duplicate_field("resourceKind"),
10227 );
10228 }
10229 resource_kind__ = Some(map_.next_value()?);
10230 }
10231 GeneratedField::ResourceId => {
10232 if resource_id__.is_some() {
10233 return Err(serde::de::Error::duplicate_field("resourceId"));
10234 }
10235 resource_id__ = Some(map_.next_value()?);
10236 }
10237 GeneratedField::Metric => {
10238 if metric__.is_some() {
10239 return Err(serde::de::Error::duplicate_field("metric"));
10240 }
10241 metric__ = Some(map_.next_value()?);
10242 }
10243 GeneratedField::ProductKey => {
10244 if product_key__.is_some() {
10245 return Err(serde::de::Error::duplicate_field("productKey"));
10246 }
10247 product_key__ = Some(map_.next_value()?);
10248 }
10249 GeneratedField::Quantity => {
10250 if quantity__.is_some() {
10251 return Err(serde::de::Error::duplicate_field("quantity"));
10252 }
10253 quantity__ = Some(map_.next_value()?);
10254 }
10255 GeneratedField::StartTime => {
10256 if start_time__.is_some() {
10257 return Err(serde::de::Error::duplicate_field("startTime"));
10258 }
10259 start_time__ = map_.next_value()?;
10260 }
10261 GeneratedField::EndTime => {
10262 if end_time__.is_some() {
10263 return Err(serde::de::Error::duplicate_field("endTime"));
10264 }
10265 end_time__ = map_.next_value()?;
10266 }
10267 GeneratedField::BillingAccount => {
10268 if billing_account__.is_some() {
10269 return Err(
10270 serde::de::Error::duplicate_field("billingAccount"),
10271 );
10272 }
10273 billing_account__ = Some(map_.next_value()?);
10274 }
10275 GeneratedField::__SkipField__ => {
10276 let _ = map_.next_value::<serde::de::IgnoredAny>()?;
10277 }
10278 }
10279 }
10280 Ok(UsageRecord {
10281 resource_kind: resource_kind__.unwrap_or_default(),
10282 resource_id: resource_id__.unwrap_or_default(),
10283 metric: metric__.unwrap_or_default(),
10284 product_key: product_key__.unwrap_or_default(),
10285 quantity: quantity__.unwrap_or_default(),
10286 start_time: start_time__,
10287 end_time: end_time__,
10288 billing_account: billing_account__.unwrap_or_default(),
10289 })
10290 }
10291 }
10292 deserializer
10293 .deserialize_struct(
10294 "origincloud.billing.v1beta1.UsageRecord",
10295 FIELDS,
10296 GeneratedVisitor,
10297 )
10298 }
10299}
10300#[derive(Clone, Debug)]
10304pub struct BillingAccountClient {
10305 service: ::origincloud_core::Service,
10306}
10307impl BillingAccountClient {
10308 pub fn new(client: &::origincloud_core::Client) -> Self {
10310 Self {
10311 service: client.service("billing", false),
10312 }
10313 }
10314 pub fn service(&self) -> &::origincloud_core::Service {
10316 &self.service
10317 }
10318 pub async fn get_billing_account(
10321 &self,
10322 request: GetBillingAccountRequest,
10323 ) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
10324 let p0 = ::origincloud_core::path_value(
10325 "name",
10326 &request.name,
10327 "organizations/*/billingAccounts/*",
10328 )?;
10329 let query = ::origincloud_core::query(&request, &["name"])?;
10330 let call = ::origincloud_core::Request::new(
10331 ::origincloud_core::Method::GET,
10332 format!("/v1beta1/{p0}"),
10333 )
10334 .with_query(query)
10335 .idempotent();
10336 self.service.call(call).await
10337 }
10338 pub async fn list_billing_accounts(
10341 &self,
10342 request: ListBillingAccountsRequest,
10343 ) -> ::core::result::Result<ListBillingAccountsResponse, ::origincloud_core::Error> {
10344 let p0 = ::origincloud_core::path_value(
10345 "parent",
10346 &request.parent,
10347 "organizations/*",
10348 )?;
10349 let query = ::origincloud_core::query(&request, &["parent"])?;
10350 let call = ::origincloud_core::Request::new(
10351 ::origincloud_core::Method::GET,
10352 format!("/v1beta1/{p0}/billingAccounts"),
10353 )
10354 .with_query(query)
10355 .idempotent();
10356 self.service.call(call).await
10357 }
10358 pub fn all_billing_accounts(
10360 &self,
10361 request: ListBillingAccountsRequest,
10362 ) -> ::origincloud_core::Pages<BillingAccount> {
10363 let client = self.clone();
10364 ::origincloud_core::Pages::new(
10365 request,
10366 move |request: ListBillingAccountsRequest| {
10367 let client = client.clone();
10368 async move {
10369 let page = client.list_billing_accounts(request).await?;
10370 Ok((page.billing_accounts, page.next_page_token))
10371 }
10372 },
10373 |request: &mut ListBillingAccountsRequest, token: ::std::string::String| {
10374 request.page_token = token;
10375 },
10376 )
10377 }
10378 pub async fn create_billing_account(
10386 &self,
10387 mut request: CreateBillingAccountRequest,
10388 ) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
10389 if request.request_id.is_empty() {
10390 request.request_id = ::origincloud_core::new_request_id();
10391 }
10392 let p0 = ::origincloud_core::path_value(
10393 "parent",
10394 &request.parent,
10395 "organizations/*",
10396 )?;
10397 let body = ::origincloud_core::json_body(
10398 request
10399 .billing_account
10400 .as_ref()
10401 .unwrap_or(&::core::default::Default::default()),
10402 )?;
10403 let query = ::origincloud_core::query(&request, &["parent", "billingAccount"])?;
10404 let call = ::origincloud_core::Request::new(
10405 ::origincloud_core::Method::POST,
10406 format!("/v1beta1/{p0}/billingAccounts"),
10407 )
10408 .with_body(body)
10409 .with_query(query)
10410 .idempotent();
10411 self.service.call(call).await
10412 }
10413 pub async fn update_billing_account(
10420 &self,
10421 request: UpdateBillingAccountRequest,
10422 ) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
10423 let p0 = ::origincloud_core::path_value(
10424 "billingAccount.name",
10425 request.billing_account.as_ref().map_or("", |m| m.name.as_str()),
10426 "organizations/*/billingAccounts/*",
10427 )?;
10428 let body = ::origincloud_core::json_body(
10429 request
10430 .billing_account
10431 .as_ref()
10432 .unwrap_or(&::core::default::Default::default()),
10433 )?;
10434 let query = ::origincloud_core::query(
10435 &request,
10436 &["billingAccount.name", "billingAccount"],
10437 )?;
10438 let call = ::origincloud_core::Request::new(
10439 ::origincloud_core::Method::PATCH,
10440 format!("/v1beta1/{p0}"),
10441 )
10442 .with_body(body)
10443 .with_query(query);
10444 self.service.call(call).await
10445 }
10446 pub async fn delete_billing_account(
10452 &self,
10453 request: DeleteBillingAccountRequest,
10454 ) -> ::core::result::Result<
10455 ::origincloud_core::protobuf::Empty,
10456 ::origincloud_core::Error,
10457 > {
10458 let p0 = ::origincloud_core::path_value(
10459 "name",
10460 &request.name,
10461 "organizations/*/billingAccounts/*",
10462 )?;
10463 let query = ::origincloud_core::query(&request, &["name"])?;
10464 let call = ::origincloud_core::Request::new(
10465 ::origincloud_core::Method::DELETE,
10466 format!("/v1beta1/{p0}"),
10467 )
10468 .with_query(query);
10469 self.service.call(call).await
10470 }
10471 pub async fn start_payment_method_setup(
10479 &self,
10480 request: StartPaymentMethodSetupRequest,
10481 ) -> ::core::result::Result<
10482 StartPaymentMethodSetupResponse,
10483 ::origincloud_core::Error,
10484 > {
10485 let p0 = ::origincloud_core::path_value(
10486 "name",
10487 &request.name,
10488 "organizations/*/billingAccounts/*",
10489 )?;
10490 let body = ::origincloud_core::json_body(&request)?;
10491 let call = ::origincloud_core::Request::new(
10492 ::origincloud_core::Method::POST,
10493 format!("/v1beta1/{p0}:startPaymentMethodSetup"),
10494 )
10495 .with_body(body);
10496 self.service.call(call).await
10497 }
10498 pub async fn confirm_payment_method_setup(
10509 &self,
10510 request: ConfirmPaymentMethodSetupRequest,
10511 ) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
10512 let p0 = ::origincloud_core::path_value(
10513 "name",
10514 &request.name,
10515 "organizations/*/billingAccounts/*",
10516 )?;
10517 let body = ::origincloud_core::json_body(&request)?;
10518 let call = ::origincloud_core::Request::new(
10519 ::origincloud_core::Method::POST,
10520 format!("/v1beta1/{p0}:confirmPaymentMethodSetup"),
10521 )
10522 .with_body(body);
10523 self.service.call(call).await
10524 }
10525 pub async fn get_project_billing_info(
10528 &self,
10529 request: GetProjectBillingInfoRequest,
10530 ) -> ::core::result::Result<ProjectBillingInfo, ::origincloud_core::Error> {
10531 let p0 = ::origincloud_core::path_value(
10532 "name",
10533 &request.name,
10534 "projects/*/billingInfo",
10535 )?;
10536 let query = ::origincloud_core::query(&request, &["name"])?;
10537 let call = ::origincloud_core::Request::new(
10538 ::origincloud_core::Method::GET,
10539 format!("/v1beta1/{p0}"),
10540 )
10541 .with_query(query)
10542 .idempotent();
10543 self.service.call(call).await
10544 }
10545 pub async fn update_project_billing_info(
10551 &self,
10552 request: UpdateProjectBillingInfoRequest,
10553 ) -> ::core::result::Result<ProjectBillingInfo, ::origincloud_core::Error> {
10554 let p0 = ::origincloud_core::path_value(
10555 "projectBillingInfo.name",
10556 request.project_billing_info.as_ref().map_or("", |m| m.name.as_str()),
10557 "projects/*/billingInfo",
10558 )?;
10559 let body = ::origincloud_core::json_body(
10560 request
10561 .project_billing_info
10562 .as_ref()
10563 .unwrap_or(&::core::default::Default::default()),
10564 )?;
10565 let query = ::origincloud_core::query(
10566 &request,
10567 &["projectBillingInfo.name", "projectBillingInfo"],
10568 )?;
10569 let call = ::origincloud_core::Request::new(
10570 ::origincloud_core::Method::PATCH,
10571 format!("/v1beta1/{p0}"),
10572 )
10573 .with_body(body)
10574 .with_query(query);
10575 self.service.call(call).await
10576 }
10577 pub async fn list_project_billing_info(
10580 &self,
10581 request: ListProjectBillingInfoRequest,
10582 ) -> ::core::result::Result<
10583 ListProjectBillingInfoResponse,
10584 ::origincloud_core::Error,
10585 > {
10586 let p0 = ::origincloud_core::path_value(
10587 "name",
10588 &request.name,
10589 "organizations/*/billingAccounts/*",
10590 )?;
10591 let query = ::origincloud_core::query(&request, &["name"])?;
10592 let call = ::origincloud_core::Request::new(
10593 ::origincloud_core::Method::GET,
10594 format!("/v1beta1/{p0}/projects"),
10595 )
10596 .with_query(query)
10597 .idempotent();
10598 self.service.call(call).await
10599 }
10600 pub fn all_project_billing_infos(
10602 &self,
10603 request: ListProjectBillingInfoRequest,
10604 ) -> ::origincloud_core::Pages<ProjectBillingInfo> {
10605 let client = self.clone();
10606 ::origincloud_core::Pages::new(
10607 request,
10608 move |request: ListProjectBillingInfoRequest| {
10609 let client = client.clone();
10610 async move {
10611 let page = client.list_project_billing_info(request).await?;
10612 Ok((page.project_billing_infos, page.next_page_token))
10613 }
10614 },
10615 |request: &mut ListProjectBillingInfoRequest, token: ::std::string::String| {
10616 request.page_token = token;
10617 },
10618 )
10619 }
10620 pub async fn get_billing_country(
10622 &self,
10623 request: GetBillingCountryRequest,
10624 ) -> ::core::result::Result<BillingCountry, ::origincloud_core::Error> {
10625 let p0 = ::origincloud_core::path_value(
10626 "name",
10627 &request.name,
10628 "billingCountries/*",
10629 )?;
10630 let query = ::origincloud_core::query(&request, &["name"])?;
10631 let call = ::origincloud_core::Request::new(
10632 ::origincloud_core::Method::GET,
10633 format!("/v1beta1/{p0}"),
10634 )
10635 .with_query(query)
10636 .idempotent();
10637 self.service.call(call).await
10638 }
10639 pub async fn list_billing_countries(
10642 &self,
10643 request: ListBillingCountriesRequest,
10644 ) -> ::core::result::Result<
10645 ListBillingCountriesResponse,
10646 ::origincloud_core::Error,
10647 > {
10648 let query = ::origincloud_core::query(&request, &[])?;
10649 let call = ::origincloud_core::Request::new(
10650 ::origincloud_core::Method::GET,
10651 ::std::string::String::from("/v1beta1/billingCountries"),
10652 )
10653 .with_query(query)
10654 .idempotent();
10655 self.service.call(call).await
10656 }
10657 pub fn all_billing_countries(
10659 &self,
10660 request: ListBillingCountriesRequest,
10661 ) -> ::origincloud_core::Pages<BillingCountry> {
10662 let client = self.clone();
10663 ::origincloud_core::Pages::new(
10664 request,
10665 move |request: ListBillingCountriesRequest| {
10666 let client = client.clone();
10667 async move {
10668 let page = client.list_billing_countries(request).await?;
10669 Ok((page.billing_countries, page.next_page_token))
10670 }
10671 },
10672 |request: &mut ListBillingCountriesRequest, token: ::std::string::String| {
10673 request.page_token = token;
10674 },
10675 )
10676 }
10677}
10678#[derive(Clone, Debug)]
10688pub struct CostClient {
10689 service: ::origincloud_core::Service,
10690}
10691impl CostClient {
10692 pub fn new(client: &::origincloud_core::Client) -> Self {
10694 Self {
10695 service: client.service("billing", false),
10696 }
10697 }
10698 pub fn service(&self) -> &::origincloud_core::Service {
10700 &self.service
10701 }
10702 pub async fn query_project_cost(
10705 &self,
10706 request: QueryProjectCostRequest,
10707 ) -> ::core::result::Result<CostReport, ::origincloud_core::Error> {
10708 let p0 = ::origincloud_core::path_value(
10709 "project",
10710 &request.project,
10711 "projects/*",
10712 )?;
10713 let query = ::origincloud_core::query(&request, &["project"])?;
10714 let call = ::origincloud_core::Request::new(
10715 ::origincloud_core::Method::GET,
10716 format!("/v1beta1/{p0}:queryCost"),
10717 )
10718 .with_query(query)
10719 .idempotent();
10720 self.service.call(call).await
10721 }
10722 pub async fn query_organization_cost(
10727 &self,
10728 request: QueryOrganizationCostRequest,
10729 ) -> ::core::result::Result<OrganizationCostReport, ::origincloud_core::Error> {
10730 let p0 = ::origincloud_core::path_value(
10731 "organization",
10732 &request.organization,
10733 "organizations/*",
10734 )?;
10735 let query = ::origincloud_core::query(&request, &["organization"])?;
10736 let call = ::origincloud_core::Request::new(
10737 ::origincloud_core::Method::GET,
10738 format!("/v1beta1/{p0}:queryCost"),
10739 )
10740 .with_query(query)
10741 .idempotent();
10742 self.service.call(call).await
10743 }
10744 pub async fn query_billing_account_cost(
10750 &self,
10751 request: QueryBillingAccountCostRequest,
10752 ) -> ::core::result::Result<CostReport, ::origincloud_core::Error> {
10753 let p0 = ::origincloud_core::path_value(
10754 "billingAccount",
10755 &request.billing_account,
10756 "organizations/*/billingAccounts/*",
10757 )?;
10758 let query = ::origincloud_core::query(&request, &["billingAccount"])?;
10759 let call = ::origincloud_core::Request::new(
10760 ::origincloud_core::Method::GET,
10761 format!("/v1beta1/{p0}:queryCost"),
10762 )
10763 .with_query(query)
10764 .idempotent();
10765 self.service.call(call).await
10766 }
10767 pub async fn query_project_usage(
10771 &self,
10772 request: QueryProjectUsageRequest,
10773 ) -> ::core::result::Result<QueryProjectUsageResponse, ::origincloud_core::Error> {
10774 let p0 = ::origincloud_core::path_value(
10775 "project",
10776 &request.project,
10777 "projects/*",
10778 )?;
10779 let query = ::origincloud_core::query(&request, &["project"])?;
10780 let call = ::origincloud_core::Request::new(
10781 ::origincloud_core::Method::GET,
10782 format!("/v1beta1/{p0}:queryUsage"),
10783 )
10784 .with_query(query)
10785 .idempotent();
10786 self.service.call(call).await
10787 }
10788 pub fn all_usage_records(
10790 &self,
10791 request: QueryProjectUsageRequest,
10792 ) -> ::origincloud_core::Pages<UsageRecord> {
10793 let client = self.clone();
10794 ::origincloud_core::Pages::new(
10795 request,
10796 move |request: QueryProjectUsageRequest| {
10797 let client = client.clone();
10798 async move {
10799 let page = client.query_project_usage(request).await?;
10800 Ok((page.usage_records, page.next_page_token))
10801 }
10802 },
10803 |request: &mut QueryProjectUsageRequest, token: ::std::string::String| {
10804 request.page_token = token;
10805 },
10806 )
10807 }
10808}
10809#[derive(Clone, Debug)]
10817pub struct LegalAcceptanceClient {
10818 service: ::origincloud_core::Service,
10819}
10820impl LegalAcceptanceClient {
10821 pub fn new(client: &::origincloud_core::Client) -> Self {
10823 Self {
10824 service: client.service("billing", false),
10825 }
10826 }
10827 pub fn service(&self) -> &::origincloud_core::Service {
10829 &self.service
10830 }
10831 pub async fn list_legal_acceptances(
10834 &self,
10835 request: ListLegalAcceptancesRequest,
10836 ) -> ::core::result::Result<
10837 ListLegalAcceptancesResponse,
10838 ::origincloud_core::Error,
10839 > {
10840 let p0 = ::origincloud_core::path_value(
10841 "parent",
10842 &request.parent,
10843 "organizations/*/billingAccounts/*",
10844 )?;
10845 let query = ::origincloud_core::query(&request, &["parent"])?;
10846 let call = ::origincloud_core::Request::new(
10847 ::origincloud_core::Method::GET,
10848 format!("/v1beta1/{p0}/legalAcceptances"),
10849 )
10850 .with_query(query)
10851 .idempotent();
10852 self.service.call(call).await
10853 }
10854 pub fn all_legal_acceptances(
10856 &self,
10857 request: ListLegalAcceptancesRequest,
10858 ) -> ::origincloud_core::Pages<LegalAcceptance> {
10859 let client = self.clone();
10860 ::origincloud_core::Pages::new(
10861 request,
10862 move |request: ListLegalAcceptancesRequest| {
10863 let client = client.clone();
10864 async move {
10865 let page = client.list_legal_acceptances(request).await?;
10866 Ok((page.legal_acceptances, page.next_page_token))
10867 }
10868 },
10869 |request: &mut ListLegalAcceptancesRequest, token: ::std::string::String| {
10870 request.page_token = token;
10871 },
10872 )
10873 }
10874 pub async fn get_legal_acceptance(
10877 &self,
10878 request: GetLegalAcceptanceRequest,
10879 ) -> ::core::result::Result<LegalAcceptance, ::origincloud_core::Error> {
10880 let p0 = ::origincloud_core::path_value(
10881 "name",
10882 &request.name,
10883 "organizations/*/billingAccounts/*/legalAcceptances/*",
10884 )?;
10885 let query = ::origincloud_core::query(&request, &["name"])?;
10886 let call = ::origincloud_core::Request::new(
10887 ::origincloud_core::Method::GET,
10888 format!("/v1beta1/{p0}"),
10889 )
10890 .with_query(query)
10891 .idempotent();
10892 self.service.call(call).await
10893 }
10894 pub async fn accept_legal_documents(
10901 &self,
10902 request: AcceptLegalDocumentsRequest,
10903 ) -> ::core::result::Result<
10904 ListLegalAcceptancesResponse,
10905 ::origincloud_core::Error,
10906 > {
10907 let p0 = ::origincloud_core::path_value(
10908 "name",
10909 &request.name,
10910 "organizations/*/billingAccounts/*",
10911 )?;
10912 let body = ::origincloud_core::json_body(&request)?;
10913 let call = ::origincloud_core::Request::new(
10914 ::origincloud_core::Method::POST,
10915 format!("/v1beta1/{p0}:acceptLegalDocuments"),
10916 )
10917 .with_body(body)
10918 .idempotent();
10919 self.service.call(call).await
10920 }
10921 pub async fn query_legal_requirements(
10927 &self,
10928 request: QueryLegalRequirementsRequest,
10929 ) -> ::core::result::Result<
10930 QueryLegalRequirementsResponse,
10931 ::origincloud_core::Error,
10932 > {
10933 let p0 = ::origincloud_core::path_value(
10934 "name",
10935 &request.name,
10936 "organizations/*/billingAccounts/*",
10937 )?;
10938 let query = ::origincloud_core::query(&request, &["name"])?;
10939 let call = ::origincloud_core::Request::new(
10940 ::origincloud_core::Method::GET,
10941 format!("/v1beta1/{p0}:queryLegalRequirements"),
10942 )
10943 .with_query(query)
10944 .idempotent();
10945 self.service.call(call).await
10946 }
10947}
10948#[derive(Clone, Debug)]
10958pub struct LegalDocumentClient {
10959 service: ::origincloud_core::Service,
10960}
10961impl LegalDocumentClient {
10962 pub fn new(client: &::origincloud_core::Client) -> Self {
10964 Self {
10965 service: client.service("billing", false),
10966 }
10967 }
10968 pub fn service(&self) -> &::origincloud_core::Service {
10970 &self.service
10971 }
10972 pub async fn list_legal_documents(
10977 &self,
10978 request: ListLegalDocumentsRequest,
10979 ) -> ::core::result::Result<ListLegalDocumentsResponse, ::origincloud_core::Error> {
10980 let query = ::origincloud_core::query(&request, &[])?;
10981 let call = ::origincloud_core::Request::new(
10982 ::origincloud_core::Method::GET,
10983 ::std::string::String::from("/v1beta1/legalDocuments"),
10984 )
10985 .with_query(query)
10986 .idempotent()
10987 .unauthenticated();
10988 self.service.call(call).await
10989 }
10990 pub fn all_legal_documents(
10992 &self,
10993 request: ListLegalDocumentsRequest,
10994 ) -> ::origincloud_core::Pages<LegalDocument> {
10995 let client = self.clone();
10996 ::origincloud_core::Pages::new(
10997 request,
10998 move |request: ListLegalDocumentsRequest| {
10999 let client = client.clone();
11000 async move {
11001 let page = client.list_legal_documents(request).await?;
11002 Ok((page.legal_documents, page.next_page_token))
11003 }
11004 },
11005 |request: &mut ListLegalDocumentsRequest, token: ::std::string::String| {
11006 request.page_token = token;
11007 },
11008 )
11009 }
11010 pub async fn get_legal_document(
11014 &self,
11015 request: GetLegalDocumentRequest,
11016 ) -> ::core::result::Result<LegalDocument, ::origincloud_core::Error> {
11017 let p0 = ::origincloud_core::path_value(
11018 "name",
11019 &request.name,
11020 "legalDocuments/*",
11021 )?;
11022 let query = ::origincloud_core::query(&request, &["name"])?;
11023 let call = ::origincloud_core::Request::new(
11024 ::origincloud_core::Method::GET,
11025 format!("/v1beta1/{p0}"),
11026 )
11027 .with_query(query)
11028 .idempotent()
11029 .unauthenticated();
11030 self.service.call(call).await
11031 }
11032 pub async fn list_legal_document_versions(
11034 &self,
11035 request: ListLegalDocumentVersionsRequest,
11036 ) -> ::core::result::Result<
11037 ListLegalDocumentVersionsResponse,
11038 ::origincloud_core::Error,
11039 > {
11040 let p0 = ::origincloud_core::path_value(
11041 "parent",
11042 &request.parent,
11043 "legalDocuments/*",
11044 )?;
11045 let query = ::origincloud_core::query(&request, &["parent"])?;
11046 let call = ::origincloud_core::Request::new(
11047 ::origincloud_core::Method::GET,
11048 format!("/v1beta1/{p0}/versions"),
11049 )
11050 .with_query(query)
11051 .idempotent()
11052 .unauthenticated();
11053 self.service.call(call).await
11054 }
11055 pub fn all_legal_document_versions(
11057 &self,
11058 request: ListLegalDocumentVersionsRequest,
11059 ) -> ::origincloud_core::Pages<LegalDocumentVersion> {
11060 let client = self.clone();
11061 ::origincloud_core::Pages::new(
11062 request,
11063 move |request: ListLegalDocumentVersionsRequest| {
11064 let client = client.clone();
11065 async move {
11066 let page = client.list_legal_document_versions(request).await?;
11067 Ok((page.legal_document_versions, page.next_page_token))
11068 }
11069 },
11070 |
11071 request: &mut ListLegalDocumentVersionsRequest,
11072 token: ::std::string::String|
11073 request.page_token = token,
11074 )
11075 }
11076 pub async fn get_legal_document_version(
11078 &self,
11079 request: GetLegalDocumentVersionRequest,
11080 ) -> ::core::result::Result<LegalDocumentVersion, ::origincloud_core::Error> {
11081 let p0 = ::origincloud_core::path_value(
11082 "name",
11083 &request.name,
11084 "legalDocuments/*/versions/*",
11085 )?;
11086 let query = ::origincloud_core::query(&request, &["name"])?;
11087 let call = ::origincloud_core::Request::new(
11088 ::origincloud_core::Method::GET,
11089 format!("/v1beta1/{p0}"),
11090 )
11091 .with_query(query)
11092 .idempotent()
11093 .unauthenticated();
11094 self.service.call(call).await
11095 }
11096 pub async fn download_legal_document_version(
11102 &self,
11103 request: DownloadLegalDocumentVersionRequest,
11104 ) -> ::core::result::Result<
11105 ::origincloud_core::HttpBody,
11106 ::origincloud_core::Error,
11107 > {
11108 let p0 = ::origincloud_core::path_value(
11109 "name",
11110 &request.name,
11111 "legalDocuments/*/versions/*",
11112 )?;
11113 let query = ::origincloud_core::query(&request, &["name"])?;
11114 let call = ::origincloud_core::Request::new(
11115 ::origincloud_core::Method::GET,
11116 format!("/v1beta1/{p0}:download"),
11117 )
11118 .with_query(query)
11119 .idempotent()
11120 .unauthenticated();
11121 self.service.call_http_body(call).await
11122 }
11123}
11124#[derive(Clone, Debug)]
11133pub struct PriceListClient {
11134 service: ::origincloud_core::Service,
11135}
11136impl PriceListClient {
11137 pub fn new(client: &::origincloud_core::Client) -> Self {
11139 Self {
11140 service: client.service("billing", false),
11141 }
11142 }
11143 pub fn service(&self) -> &::origincloud_core::Service {
11145 &self.service
11146 }
11147 pub async fn get_price_list(
11151 &self,
11152 request: GetPriceListRequest,
11153 ) -> ::core::result::Result<PriceList, ::origincloud_core::Error> {
11154 let query = ::origincloud_core::query(&request, &[])?;
11155 let call = ::origincloud_core::Request::new(
11156 ::origincloud_core::Method::GET,
11157 ::std::string::String::from("/v1/pricing"),
11158 )
11159 .with_query(query)
11160 .idempotent();
11161 self.service.call(call).await
11162 }
11163}
11164#[derive(Clone, Debug)]
11173pub struct SpendLimitClient {
11174 service: ::origincloud_core::Service,
11175}
11176impl SpendLimitClient {
11177 pub fn new(client: &::origincloud_core::Client) -> Self {
11179 Self {
11180 service: client.service("billing", false),
11181 }
11182 }
11183 pub fn service(&self) -> &::origincloud_core::Service {
11185 &self.service
11186 }
11187 pub async fn get_spend_limit(
11190 &self,
11191 request: GetSpendLimitRequest,
11192 ) -> ::core::result::Result<SpendLimit, ::origincloud_core::Error> {
11193 let p0 = ::origincloud_core::path_value(
11194 "name",
11195 &request.name,
11196 "organizations/*/billingAccounts/*/spendLimit",
11197 )?;
11198 let query = ::origincloud_core::query(&request, &["name"])?;
11199 let call = ::origincloud_core::Request::new(
11200 ::origincloud_core::Method::GET,
11201 format!("/v1beta1/{p0}"),
11202 )
11203 .with_query(query)
11204 .idempotent();
11205 self.service.call(call).await
11206 }
11207 pub async fn update_spend_limit(
11212 &self,
11213 request: UpdateSpendLimitRequest,
11214 ) -> ::core::result::Result<SpendLimit, ::origincloud_core::Error> {
11215 let p0 = ::origincloud_core::path_value(
11216 "spendLimit.name",
11217 request.spend_limit.as_ref().map_or("", |m| m.name.as_str()),
11218 "organizations/*/billingAccounts/*/spendLimit",
11219 )?;
11220 let body = ::origincloud_core::json_body(
11221 request.spend_limit.as_ref().unwrap_or(&::core::default::Default::default()),
11222 )?;
11223 let query = ::origincloud_core::query(
11224 &request,
11225 &["spendLimit.name", "spendLimit"],
11226 )?;
11227 let call = ::origincloud_core::Request::new(
11228 ::origincloud_core::Method::PATCH,
11229 format!("/v1beta1/{p0}"),
11230 )
11231 .with_body(body)
11232 .with_query(query);
11233 self.service.call(call).await
11234 }
11235}