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