#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LegalDocument {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub acceptance_required: bool,
#[prost(string, tag = "4")]
pub current_version: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub latest_version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LegalDocumentVersion {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub effective_date: ::core::option::Option<::origincloud_core::types::Date>,
#[prost(enumeration = "legal_document_version::ChangeClass", tag = "4")]
pub change_class: i32,
#[prost(string, tag = "5")]
pub change_summary: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub sha256: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub markdown: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub html: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub uri: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub pdf_uri: ::prost::alloc::string::String,
}
pub mod legal_document_version {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum ChangeClass {
Unspecified = 0,
Material = 1,
Notice = 2,
Editorial = 3,
}
impl ChangeClass {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CHANGE_CLASS_UNSPECIFIED",
Self::Material => "MATERIAL",
Self::Notice => "NOTICE",
Self::Editorial => "EDITORIAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CHANGE_CLASS_UNSPECIFIED" => Some(Self::Unspecified),
"MATERIAL" => Some(Self::Material),
"NOTICE" => Some(Self::Notice),
"EDITORIAL" => Some(Self::Editorial),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LegalDocumentVersionToAccept {
#[prost(string, tag = "1")]
pub legal_document_version: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub sha256: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListLegalDocumentsRequest {
#[prost(int32, tag = "1")]
pub page_size: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListLegalDocumentsResponse {
#[prost(message, repeated, tag = "1")]
pub legal_documents: ::prost::alloc::vec::Vec<LegalDocument>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLegalDocumentRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListLegalDocumentVersionsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListLegalDocumentVersionsResponse {
#[prost(message, repeated, tag = "1")]
pub legal_document_versions: ::prost::alloc::vec::Vec<LegalDocumentVersion>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLegalDocumentVersionRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DownloadLegalDocumentVersionRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BillingAccount {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub urn: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub default_account: bool,
#[prost(message, optional, tag = "5")]
pub billing_address: ::core::option::Option<BillingAddress>,
#[prost(string, tag = "6")]
pub invoice_email: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub vat_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub contact_person: ::prost::alloc::string::String,
#[prost(message, optional, tag = "9")]
pub payment_method: ::core::option::Option<PaymentMethod>,
#[prost(message, optional, tag = "10")]
pub create_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(string, tag = "11")]
pub creator: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BillingAddress {
#[prost(string, tag = "1")]
pub street: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub city: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub postal_code: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub region_code: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PaymentMethod {
#[prost(enumeration = "payment_method::State", tag = "1")]
pub state: i32,
#[prost(string, tag = "2")]
pub card_brand: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub card_last4: ::prost::alloc::string::String,
}
pub mod payment_method {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum State {
Unspecified = 0,
Missing = 1,
Verified = 2,
NotRequired = 3,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Missing => "MISSING",
Self::Verified => "VERIFIED",
Self::NotRequired => "NOT_REQUIRED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATE_UNSPECIFIED" => Some(Self::Unspecified),
"MISSING" => Some(Self::Missing),
"VERIFIED" => Some(Self::Verified),
"NOT_REQUIRED" => Some(Self::NotRequired),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ProjectBillingInfo {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub billing_account: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BillingCountry {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub region_code: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub vat_id_required: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBillingAccountRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListBillingAccountsRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBillingAccountsResponse {
#[prost(message, repeated, tag = "1")]
pub billing_accounts: ::prost::alloc::vec::Vec<BillingAccount>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateBillingAccountRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub billing_account: ::core::option::Option<BillingAccount>,
#[prost(string, tag = "3")]
pub request_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub accepted_legal_documents: ::prost::alloc::vec::Vec<LegalDocumentVersionToAccept>,
#[prost(bool, tag = "5")]
pub acts_as_business: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateBillingAccountRequest {
#[prost(message, optional, tag = "1")]
pub billing_account: ::core::option::Option<BillingAccount>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteBillingAccountRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartPaymentMethodSetupRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartPaymentMethodSetupResponse {
#[prost(string, tag = "1")]
pub redirect_uri: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmPaymentMethodSetupRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetProjectBillingInfoRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateProjectBillingInfoRequest {
#[prost(message, optional, tag = "1")]
pub project_billing_info: ::core::option::Option<ProjectBillingInfo>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListProjectBillingInfoRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListProjectBillingInfoResponse {
#[prost(message, repeated, tag = "1")]
pub project_billing_infos: ::prost::alloc::vec::Vec<ProjectBillingInfo>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBillingCountryRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListBillingCountriesRequest {
#[prost(int32, tag = "1")]
pub page_size: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListBillingCountriesResponse {
#[prost(message, repeated, tag = "1")]
pub billing_countries: ::prost::alloc::vec::Vec<BillingCountry>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CostReport {
#[prost(string, tag = "1")]
pub total: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub services: ::prost::alloc::vec::Vec<ServiceCost>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServiceCost {
#[prost(string, tag = "1")]
pub service: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub total: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub products: ::prost::alloc::vec::Vec<ProductCost>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProductCost {
#[prost(string, tag = "1")]
pub product_key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub total: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub buckets: ::prost::alloc::vec::Vec<CostBucket>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CostBucket {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(string, tag = "2")]
pub amount: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrganizationCostReport {
#[prost(string, tag = "1")]
pub total: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub services: ::prost::alloc::vec::Vec<ServiceCost>,
#[prost(message, repeated, tag = "3")]
pub projects: ::prost::alloc::vec::Vec<ProjectCost>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProjectCost {
#[prost(string, tag = "1")]
pub project: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub total: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub buckets: ::prost::alloc::vec::Vec<CostBucket>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UsageRecord {
#[prost(string, tag = "1")]
pub resource_kind: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub resource_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metric: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub product_key: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub quantity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "7")]
pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(string, tag = "8")]
pub billing_account: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryProjectCostRequest {
#[prost(string, tag = "1")]
pub project: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(enumeration = "Granularity", tag = "4")]
pub granularity: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryOrganizationCostRequest {
#[prost(string, tag = "1")]
pub organization: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(enumeration = "Granularity", tag = "4")]
pub granularity: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryBillingAccountCostRequest {
#[prost(string, tag = "1")]
pub billing_account: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(enumeration = "Granularity", tag = "4")]
pub granularity: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryProjectUsageRequest {
#[prost(string, tag = "1")]
pub project: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub start_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(int32, tag = "4")]
pub page_size: i32,
#[prost(string, tag = "5")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProjectUsageResponse {
#[prost(message, repeated, tag = "1")]
pub usage_records: ::prost::alloc::vec::Vec<UsageRecord>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Granularity {
Unspecified = 0,
Hourly = 1,
Daily = 2,
}
impl Granularity {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "GRANULARITY_UNSPECIFIED",
Self::Hourly => "HOURLY",
Self::Daily => "DAILY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"GRANULARITY_UNSPECIFIED" => Some(Self::Unspecified),
"HOURLY" => Some(Self::Hourly),
"DAILY" => Some(Self::Daily),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LegalAcceptance {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub legal_document_version: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub sha256: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub accepter: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub accept_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(enumeration = "legal_acceptance::Method", tag = "6")]
pub method: i32,
#[prost(bool, tag = "7")]
pub acts_as_business: bool,
#[prost(string, tag = "8")]
pub organization_display_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "9")]
pub billing_address: ::core::option::Option<BillingAddress>,
#[prost(string, tag = "10")]
pub vat_id: ::prost::alloc::string::String,
}
pub mod legal_acceptance {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Method {
Unspecified = 0,
Signup = 1,
Change = 2,
Migration = 3,
}
impl Method {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "METHOD_UNSPECIFIED",
Self::Signup => "SIGNUP",
Self::Change => "CHANGE",
Self::Migration => "MIGRATION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"METHOD_UNSPECIFIED" => Some(Self::Unspecified),
"SIGNUP" => Some(Self::Signup),
"CHANGE" => Some(Self::Change),
"MIGRATION" => Some(Self::Migration),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LegalRequirement {
#[prost(string, tag = "1")]
pub legal_document_version: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub display_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub effective_date: ::core::option::Option<::origincloud_core::types::Date>,
#[prost(string, tag = "4")]
pub change_summary: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub sha256: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub blocking: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListLegalAcceptancesRequest {
#[prost(string, tag = "1")]
pub parent: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub page_size: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListLegalAcceptancesResponse {
#[prost(message, repeated, tag = "1")]
pub legal_acceptances: ::prost::alloc::vec::Vec<LegalAcceptance>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLegalAcceptanceRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptLegalDocumentsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub versions: ::prost::alloc::vec::Vec<LegalDocumentVersionToAccept>,
#[prost(bool, tag = "3")]
pub acts_as_business: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryLegalRequirementsRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryLegalRequirementsResponse {
#[prost(message, repeated, tag = "1")]
pub requirements: ::prost::alloc::vec::Vec<LegalRequirement>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriceList {
#[prost(string, tag = "1")]
pub currency: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub amounts_exclude_vat: bool,
#[prost(message, optional, tag = "3")]
pub last_changed: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, repeated, tag = "4")]
pub families: ::prost::alloc::vec::Vec<PriceFamily>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PriceFamily {
#[prost(string, tag = "1")]
pub family: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub prices: ::prost::alloc::vec::Vec<Price>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Price {
#[prost(string, tag = "1")]
pub product_key: ::prost::alloc::string::String,
#[prost(btree_map = "string, string", tag = "2")]
pub dimensions: ::prost::alloc::collections::BTreeMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "3")]
pub unit_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub unit_count: u32,
#[prost(string, tag = "5")]
pub amount: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub valid_from: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
#[prost(message, optional, tag = "7")]
pub valid_until: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPriceListRequest {}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpendLimit {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub limit: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, repeated, packed = "false", tag = "3")]
pub alert_thresholds_percent: ::prost::alloc::vec::Vec<i32>,
#[prost(string, repeated, tag = "4")]
pub notification_emails: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "5")]
pub update_time: ::core::option::Option<::origincloud_core::protobuf::Timestamp>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSpendLimitRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateSpendLimitRequest {
#[prost(message, optional, tag = "1")]
pub spend_limit: ::core::option::Option<SpendLimit>,
#[prost(message, optional, tag = "2")]
pub update_mask: ::core::option::Option<::origincloud_core::protobuf::FieldMask>,
}
impl serde::Serialize for AcceptLegalDocumentsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.versions.is_empty() {
len += 1;
}
if self.acts_as_business {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.versions.is_empty() {
struct_ser.serialize_field("versions", &self.versions)?;
}
if self.acts_as_business {
struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for AcceptLegalDocumentsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"versions",
"acts_as_business",
"actsAsBusiness",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
Versions,
ActsAsBusiness,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"versions" => Ok(GeneratedField::Versions),
"actsAsBusiness" | "acts_as_business" => {
Ok(GeneratedField::ActsAsBusiness)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = AcceptLegalDocumentsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<AcceptLegalDocumentsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut versions__ = None;
let mut acts_as_business__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::Versions => {
if versions__.is_some() {
return Err(serde::de::Error::duplicate_field("versions"));
}
versions__ = Some(map_.next_value()?);
}
GeneratedField::ActsAsBusiness => {
if acts_as_business__.is_some() {
return Err(
serde::de::Error::duplicate_field("actsAsBusiness"),
);
}
acts_as_business__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(AcceptLegalDocumentsRequest {
name: name__.unwrap_or_default(),
versions: versions__.unwrap_or_default(),
acts_as_business: acts_as_business__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.AcceptLegalDocumentsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for BillingAccount {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.urn.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.default_account {
len += 1;
}
if self.billing_address.is_some() {
len += 1;
}
if !self.invoice_email.is_empty() {
len += 1;
}
if !self.vat_id.is_empty() {
len += 1;
}
if !self.contact_person.is_empty() {
len += 1;
}
if self.payment_method.is_some() {
len += 1;
}
if self.create_time.is_some() {
len += 1;
}
if !self.creator.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.BillingAccount", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.urn.is_empty() {
struct_ser.serialize_field("urn", &self.urn)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if self.default_account {
struct_ser.serialize_field("defaultAccount", &self.default_account)?;
}
if let Some(v) = self.billing_address.as_ref() {
struct_ser.serialize_field("billingAddress", v)?;
}
if !self.invoice_email.is_empty() {
struct_ser.serialize_field("invoiceEmail", &self.invoice_email)?;
}
if !self.vat_id.is_empty() {
struct_ser.serialize_field("vatId", &self.vat_id)?;
}
if !self.contact_person.is_empty() {
struct_ser.serialize_field("contactPerson", &self.contact_person)?;
}
if let Some(v) = self.payment_method.as_ref() {
struct_ser.serialize_field("paymentMethod", v)?;
}
if let Some(v) = self.create_time.as_ref() {
struct_ser.serialize_field("createTime", v)?;
}
if !self.creator.is_empty() {
struct_ser.serialize_field("creator", &self.creator)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for BillingAccount {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"urn",
"display_name",
"displayName",
"default_account",
"defaultAccount",
"billing_address",
"billingAddress",
"invoice_email",
"invoiceEmail",
"vat_id",
"vatId",
"contact_person",
"contactPerson",
"payment_method",
"paymentMethod",
"create_time",
"createTime",
"creator",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
Urn,
DisplayName,
DefaultAccount,
BillingAddress,
InvoiceEmail,
VatId,
ContactPerson,
PaymentMethod,
CreateTime,
Creator,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"urn" => Ok(GeneratedField::Urn),
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"defaultAccount" | "default_account" => {
Ok(GeneratedField::DefaultAccount)
}
"billingAddress" | "billing_address" => {
Ok(GeneratedField::BillingAddress)
}
"invoiceEmail" | "invoice_email" => {
Ok(GeneratedField::InvoiceEmail)
}
"vatId" | "vat_id" => Ok(GeneratedField::VatId),
"contactPerson" | "contact_person" => {
Ok(GeneratedField::ContactPerson)
}
"paymentMethod" | "payment_method" => {
Ok(GeneratedField::PaymentMethod)
}
"createTime" | "create_time" => {
Ok(GeneratedField::CreateTime)
}
"creator" => Ok(GeneratedField::Creator),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = BillingAccount;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.BillingAccount")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<BillingAccount, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut urn__ = None;
let mut display_name__ = None;
let mut default_account__ = None;
let mut billing_address__ = None;
let mut invoice_email__ = None;
let mut vat_id__ = None;
let mut contact_person__ = None;
let mut payment_method__ = None;
let mut create_time__ = None;
let mut creator__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::Urn => {
if urn__.is_some() {
return Err(serde::de::Error::duplicate_field("urn"));
}
urn__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::DefaultAccount => {
if default_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("defaultAccount"),
);
}
default_account__ = Some(map_.next_value()?);
}
GeneratedField::BillingAddress => {
if billing_address__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAddress"),
);
}
billing_address__ = map_.next_value()?;
}
GeneratedField::InvoiceEmail => {
if invoice_email__.is_some() {
return Err(
serde::de::Error::duplicate_field("invoiceEmail"),
);
}
invoice_email__ = Some(map_.next_value()?);
}
GeneratedField::VatId => {
if vat_id__.is_some() {
return Err(serde::de::Error::duplicate_field("vatId"));
}
vat_id__ = Some(map_.next_value()?);
}
GeneratedField::ContactPerson => {
if contact_person__.is_some() {
return Err(
serde::de::Error::duplicate_field("contactPerson"),
);
}
contact_person__ = Some(map_.next_value()?);
}
GeneratedField::PaymentMethod => {
if payment_method__.is_some() {
return Err(
serde::de::Error::duplicate_field("paymentMethod"),
);
}
payment_method__ = map_.next_value()?;
}
GeneratedField::CreateTime => {
if create_time__.is_some() {
return Err(serde::de::Error::duplicate_field("createTime"));
}
create_time__ = map_.next_value()?;
}
GeneratedField::Creator => {
if creator__.is_some() {
return Err(serde::de::Error::duplicate_field("creator"));
}
creator__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(BillingAccount {
name: name__.unwrap_or_default(),
urn: urn__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
default_account: default_account__.unwrap_or_default(),
billing_address: billing_address__,
invoice_email: invoice_email__.unwrap_or_default(),
vat_id: vat_id__.unwrap_or_default(),
contact_person: contact_person__.unwrap_or_default(),
payment_method: payment_method__,
create_time: create_time__,
creator: creator__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.BillingAccount",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for BillingAddress {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.street.is_empty() {
len += 1;
}
if !self.city.is_empty() {
len += 1;
}
if !self.postal_code.is_empty() {
len += 1;
}
if !self.region_code.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.BillingAddress", len)?;
if !self.street.is_empty() {
struct_ser.serialize_field("street", &self.street)?;
}
if !self.city.is_empty() {
struct_ser.serialize_field("city", &self.city)?;
}
if !self.postal_code.is_empty() {
struct_ser.serialize_field("postalCode", &self.postal_code)?;
}
if !self.region_code.is_empty() {
struct_ser.serialize_field("regionCode", &self.region_code)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for BillingAddress {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"street",
"city",
"postal_code",
"postalCode",
"region_code",
"regionCode",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Street,
City,
PostalCode,
RegionCode,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"street" => Ok(GeneratedField::Street),
"city" => Ok(GeneratedField::City),
"postalCode" | "postal_code" => {
Ok(GeneratedField::PostalCode)
}
"regionCode" | "region_code" => {
Ok(GeneratedField::RegionCode)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = BillingAddress;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.BillingAddress")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<BillingAddress, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut street__ = None;
let mut city__ = None;
let mut postal_code__ = None;
let mut region_code__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Street => {
if street__.is_some() {
return Err(serde::de::Error::duplicate_field("street"));
}
street__ = Some(map_.next_value()?);
}
GeneratedField::City => {
if city__.is_some() {
return Err(serde::de::Error::duplicate_field("city"));
}
city__ = Some(map_.next_value()?);
}
GeneratedField::PostalCode => {
if postal_code__.is_some() {
return Err(serde::de::Error::duplicate_field("postalCode"));
}
postal_code__ = Some(map_.next_value()?);
}
GeneratedField::RegionCode => {
if region_code__.is_some() {
return Err(serde::de::Error::duplicate_field("regionCode"));
}
region_code__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(BillingAddress {
street: street__.unwrap_or_default(),
city: city__.unwrap_or_default(),
postal_code: postal_code__.unwrap_or_default(),
region_code: region_code__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.BillingAddress",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for BillingCountry {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.region_code.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.vat_id_required {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.BillingCountry", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.region_code.is_empty() {
struct_ser.serialize_field("regionCode", &self.region_code)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if self.vat_id_required {
struct_ser.serialize_field("vatIdRequired", &self.vat_id_required)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for BillingCountry {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"region_code",
"regionCode",
"display_name",
"displayName",
"vat_id_required",
"vatIdRequired",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
RegionCode,
DisplayName,
VatIdRequired,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"regionCode" | "region_code" => {
Ok(GeneratedField::RegionCode)
}
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"vatIdRequired" | "vat_id_required" => {
Ok(GeneratedField::VatIdRequired)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = BillingCountry;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.BillingCountry")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<BillingCountry, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut region_code__ = None;
let mut display_name__ = None;
let mut vat_id_required__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::RegionCode => {
if region_code__.is_some() {
return Err(serde::de::Error::duplicate_field("regionCode"));
}
region_code__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::VatIdRequired => {
if vat_id_required__.is_some() {
return Err(
serde::de::Error::duplicate_field("vatIdRequired"),
);
}
vat_id_required__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(BillingCountry {
name: name__.unwrap_or_default(),
region_code: region_code__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
vat_id_required: vat_id_required__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.BillingCountry",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ConfirmPaymentMethodSetupRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ConfirmPaymentMethodSetupRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ConfirmPaymentMethodSetupRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ConfirmPaymentMethodSetupRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ConfirmPaymentMethodSetupRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ConfirmPaymentMethodSetupRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for CostBucket {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.start_time.is_some() {
len += 1;
}
if !self.amount.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.CostBucket", len)?;
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if !self.amount.is_empty() {
struct_ser.serialize_field("amount", &self.amount)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for CostBucket {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["start_time", "startTime", "amount"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
StartTime,
Amount,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"amount" => Ok(GeneratedField::Amount),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = CostBucket;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.CostBucket")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<CostBucket, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut start_time__ = None;
let mut amount__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::Amount => {
if amount__.is_some() {
return Err(serde::de::Error::duplicate_field("amount"));
}
amount__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(CostBucket {
start_time: start_time__,
amount: amount__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.CostBucket",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for CostReport {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.total.is_empty() {
len += 1;
}
if !self.services.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.CostReport", len)?;
if !self.total.is_empty() {
struct_ser.serialize_field("total", &self.total)?;
}
if !self.services.is_empty() {
struct_ser.serialize_field("services", &self.services)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for CostReport {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["total", "services"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Total,
Services,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"total" => Ok(GeneratedField::Total),
"services" => Ok(GeneratedField::Services),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = CostReport;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.CostReport")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<CostReport, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut total__ = None;
let mut services__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Total => {
if total__.is_some() {
return Err(serde::de::Error::duplicate_field("total"));
}
total__ = Some(map_.next_value()?);
}
GeneratedField::Services => {
if services__.is_some() {
return Err(serde::de::Error::duplicate_field("services"));
}
services__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(CostReport {
total: total__.unwrap_or_default(),
services: services__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.CostReport",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for CreateBillingAccountRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.billing_account.is_some() {
len += 1;
}
if !self.request_id.is_empty() {
len += 1;
}
if !self.accepted_legal_documents.is_empty() {
len += 1;
}
if self.acts_as_business {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.CreateBillingAccountRequest",
len,
)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if let Some(v) = self.billing_account.as_ref() {
struct_ser.serialize_field("billingAccount", v)?;
}
if !self.request_id.is_empty() {
struct_ser.serialize_field("requestId", &self.request_id)?;
}
if !self.accepted_legal_documents.is_empty() {
struct_ser
.serialize_field(
"acceptedLegalDocuments",
&self.accepted_legal_documents,
)?;
}
if self.acts_as_business {
struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for CreateBillingAccountRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"billing_account",
"billingAccount",
"request_id",
"requestId",
"accepted_legal_documents",
"acceptedLegalDocuments",
"acts_as_business",
"actsAsBusiness",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
BillingAccount,
RequestId,
AcceptedLegalDocuments,
ActsAsBusiness,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"billingAccount" | "billing_account" => {
Ok(GeneratedField::BillingAccount)
}
"requestId" | "request_id" => Ok(GeneratedField::RequestId),
"acceptedLegalDocuments" | "accepted_legal_documents" => {
Ok(GeneratedField::AcceptedLegalDocuments)
}
"actsAsBusiness" | "acts_as_business" => {
Ok(GeneratedField::ActsAsBusiness)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = CreateBillingAccountRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.CreateBillingAccountRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<CreateBillingAccountRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut billing_account__ = None;
let mut request_id__ = None;
let mut accepted_legal_documents__ = None;
let mut acts_as_business__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::BillingAccount => {
if billing_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccount"),
);
}
billing_account__ = map_.next_value()?;
}
GeneratedField::RequestId => {
if request_id__.is_some() {
return Err(serde::de::Error::duplicate_field("requestId"));
}
request_id__ = Some(map_.next_value()?);
}
GeneratedField::AcceptedLegalDocuments => {
if accepted_legal_documents__.is_some() {
return Err(
serde::de::Error::duplicate_field("acceptedLegalDocuments"),
);
}
accepted_legal_documents__ = Some(map_.next_value()?);
}
GeneratedField::ActsAsBusiness => {
if acts_as_business__.is_some() {
return Err(
serde::de::Error::duplicate_field("actsAsBusiness"),
);
}
acts_as_business__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(CreateBillingAccountRequest {
parent: parent__.unwrap_or_default(),
billing_account: billing_account__,
request_id: request_id__.unwrap_or_default(),
accepted_legal_documents: accepted_legal_documents__
.unwrap_or_default(),
acts_as_business: acts_as_business__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.CreateBillingAccountRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for DeleteBillingAccountRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.DeleteBillingAccountRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for DeleteBillingAccountRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = DeleteBillingAccountRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.DeleteBillingAccountRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<DeleteBillingAccountRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(DeleteBillingAccountRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.DeleteBillingAccountRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for DownloadLegalDocumentVersionRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for DownloadLegalDocumentVersionRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = DownloadLegalDocumentVersionRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<DownloadLegalDocumentVersionRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(DownloadLegalDocumentVersionRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.DownloadLegalDocumentVersionRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetBillingAccountRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetBillingAccountRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetBillingAccountRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetBillingAccountRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetBillingAccountRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetBillingAccountRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetBillingAccountRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetBillingAccountRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetBillingCountryRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetBillingCountryRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetBillingCountryRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetBillingCountryRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetBillingCountryRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetBillingCountryRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetBillingCountryRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetBillingCountryRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetLegalAcceptanceRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetLegalAcceptanceRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetLegalAcceptanceRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetLegalAcceptanceRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetLegalAcceptanceRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetLegalAcceptanceRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetLegalDocumentRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetLegalDocumentRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetLegalDocumentRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetLegalDocumentRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetLegalDocumentRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetLegalDocumentRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetLegalDocumentRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetLegalDocumentRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetLegalDocumentVersionRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetLegalDocumentVersionRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetLegalDocumentVersionRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetLegalDocumentVersionRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetLegalDocumentVersionRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetLegalDocumentVersionRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetPriceListRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let len = 0;
let struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.GetPriceListRequest", len)?;
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetPriceListRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
Ok(GeneratedField::__SkipField__)
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetPriceListRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.billing.v1beta1.GetPriceListRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetPriceListRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
while map_.next_key::<GeneratedField>()?.is_some() {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
Ok(GetPriceListRequest {})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetPriceListRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetProjectBillingInfoRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetProjectBillingInfoRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetProjectBillingInfoRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetProjectBillingInfoRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetProjectBillingInfoRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetProjectBillingInfoRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for GetSpendLimitRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.GetSpendLimitRequest", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for GetSpendLimitRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = GetSpendLimitRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.billing.v1beta1.GetSpendLimitRequest")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<GetSpendLimitRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(GetSpendLimitRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.GetSpendLimitRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for Granularity {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "GRANULARITY_UNSPECIFIED",
Self::Hourly => "HOURLY",
Self::Daily => "DAILY",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for Granularity {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["GRANULARITY_UNSPECIFIED", "HOURLY", "DAILY"];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = Granularity;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(Granularity::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x.try_into().ok().or_else(|| Some(Granularity::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"GRANULARITY_UNSPECIFIED" => Ok(Granularity::Unspecified),
"HOURLY" => Ok(Granularity::Hourly),
"DAILY" => Ok(Granularity::Daily),
_ => Ok(Granularity::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for LegalAcceptance {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.legal_document_version.is_empty() {
len += 1;
}
if !self.sha256.is_empty() {
len += 1;
}
if !self.accepter.is_empty() {
len += 1;
}
if self.accept_time.is_some() {
len += 1;
}
if self.method != 0 {
len += 1;
}
if self.acts_as_business {
len += 1;
}
if !self.organization_display_name.is_empty() {
len += 1;
}
if self.billing_address.is_some() {
len += 1;
}
if !self.vat_id.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.LegalAcceptance", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.legal_document_version.is_empty() {
struct_ser
.serialize_field("legalDocumentVersion", &self.legal_document_version)?;
}
if !self.sha256.is_empty() {
struct_ser.serialize_field("sha256", &self.sha256)?;
}
if !self.accepter.is_empty() {
struct_ser.serialize_field("accepter", &self.accepter)?;
}
if let Some(v) = self.accept_time.as_ref() {
struct_ser.serialize_field("acceptTime", v)?;
}
if self.method != 0 {
let v = legal_acceptance::Method::try_from(self.method)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.method),
))?;
struct_ser.serialize_field("method", &v)?;
}
if self.acts_as_business {
struct_ser.serialize_field("actsAsBusiness", &self.acts_as_business)?;
}
if !self.organization_display_name.is_empty() {
struct_ser
.serialize_field(
"organizationDisplayName",
&self.organization_display_name,
)?;
}
if let Some(v) = self.billing_address.as_ref() {
struct_ser.serialize_field("billingAddress", v)?;
}
if !self.vat_id.is_empty() {
struct_ser.serialize_field("vatId", &self.vat_id)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for LegalAcceptance {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"legal_document_version",
"legalDocumentVersion",
"sha256",
"accepter",
"accept_time",
"acceptTime",
"method",
"acts_as_business",
"actsAsBusiness",
"organization_display_name",
"organizationDisplayName",
"billing_address",
"billingAddress",
"vat_id",
"vatId",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
LegalDocumentVersion,
Sha256,
Accepter,
AcceptTime,
Method,
ActsAsBusiness,
OrganizationDisplayName,
BillingAddress,
VatId,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"legalDocumentVersion" | "legal_document_version" => {
Ok(GeneratedField::LegalDocumentVersion)
}
"sha256" => Ok(GeneratedField::Sha256),
"accepter" => Ok(GeneratedField::Accepter),
"acceptTime" | "accept_time" => {
Ok(GeneratedField::AcceptTime)
}
"method" => Ok(GeneratedField::Method),
"actsAsBusiness" | "acts_as_business" => {
Ok(GeneratedField::ActsAsBusiness)
}
"organizationDisplayName" | "organization_display_name" => {
Ok(GeneratedField::OrganizationDisplayName)
}
"billingAddress" | "billing_address" => {
Ok(GeneratedField::BillingAddress)
}
"vatId" | "vat_id" => Ok(GeneratedField::VatId),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = LegalAcceptance;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.LegalAcceptance")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<LegalAcceptance, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut legal_document_version__ = None;
let mut sha256__ = None;
let mut accepter__ = None;
let mut accept_time__ = None;
let mut method__ = None;
let mut acts_as_business__ = None;
let mut organization_display_name__ = None;
let mut billing_address__ = None;
let mut vat_id__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::LegalDocumentVersion => {
if legal_document_version__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalDocumentVersion"),
);
}
legal_document_version__ = Some(map_.next_value()?);
}
GeneratedField::Sha256 => {
if sha256__.is_some() {
return Err(serde::de::Error::duplicate_field("sha256"));
}
sha256__ = Some(map_.next_value()?);
}
GeneratedField::Accepter => {
if accepter__.is_some() {
return Err(serde::de::Error::duplicate_field("accepter"));
}
accepter__ = Some(map_.next_value()?);
}
GeneratedField::AcceptTime => {
if accept_time__.is_some() {
return Err(serde::de::Error::duplicate_field("acceptTime"));
}
accept_time__ = map_.next_value()?;
}
GeneratedField::Method => {
if method__.is_some() {
return Err(serde::de::Error::duplicate_field("method"));
}
method__ = Some(
map_.next_value::<legal_acceptance::Method>()? as i32,
);
}
GeneratedField::ActsAsBusiness => {
if acts_as_business__.is_some() {
return Err(
serde::de::Error::duplicate_field("actsAsBusiness"),
);
}
acts_as_business__ = Some(map_.next_value()?);
}
GeneratedField::OrganizationDisplayName => {
if organization_display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("organizationDisplayName"),
);
}
organization_display_name__ = Some(map_.next_value()?);
}
GeneratedField::BillingAddress => {
if billing_address__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAddress"),
);
}
billing_address__ = map_.next_value()?;
}
GeneratedField::VatId => {
if vat_id__.is_some() {
return Err(serde::de::Error::duplicate_field("vatId"));
}
vat_id__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(LegalAcceptance {
name: name__.unwrap_or_default(),
legal_document_version: legal_document_version__.unwrap_or_default(),
sha256: sha256__.unwrap_or_default(),
accepter: accepter__.unwrap_or_default(),
accept_time: accept_time__,
method: method__.unwrap_or_default(),
acts_as_business: acts_as_business__.unwrap_or_default(),
organization_display_name: organization_display_name__
.unwrap_or_default(),
billing_address: billing_address__,
vat_id: vat_id__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.LegalAcceptance",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for legal_acceptance::Method {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "METHOD_UNSPECIFIED",
Self::Signup => "SIGNUP",
Self::Change => "CHANGE",
Self::Migration => "MIGRATION",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for legal_acceptance::Method {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["METHOD_UNSPECIFIED", "SIGNUP", "CHANGE", "MIGRATION"];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = legal_acceptance::Method;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(legal_acceptance::Method::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(legal_acceptance::Method::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"METHOD_UNSPECIFIED" => Ok(legal_acceptance::Method::Unspecified),
"SIGNUP" => Ok(legal_acceptance::Method::Signup),
"CHANGE" => Ok(legal_acceptance::Method::Change),
"MIGRATION" => Ok(legal_acceptance::Method::Migration),
_ => Ok(legal_acceptance::Method::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for LegalDocument {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.acceptance_required {
len += 1;
}
if !self.current_version.is_empty() {
len += 1;
}
if !self.latest_version.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.LegalDocument", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if self.acceptance_required {
struct_ser.serialize_field("acceptanceRequired", &self.acceptance_required)?;
}
if !self.current_version.is_empty() {
struct_ser.serialize_field("currentVersion", &self.current_version)?;
}
if !self.latest_version.is_empty() {
struct_ser.serialize_field("latestVersion", &self.latest_version)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for LegalDocument {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"display_name",
"displayName",
"acceptance_required",
"acceptanceRequired",
"current_version",
"currentVersion",
"latest_version",
"latestVersion",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
DisplayName,
AcceptanceRequired,
CurrentVersion,
LatestVersion,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"acceptanceRequired" | "acceptance_required" => {
Ok(GeneratedField::AcceptanceRequired)
}
"currentVersion" | "current_version" => {
Ok(GeneratedField::CurrentVersion)
}
"latestVersion" | "latest_version" => {
Ok(GeneratedField::LatestVersion)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = LegalDocument;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.LegalDocument")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<LegalDocument, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut display_name__ = None;
let mut acceptance_required__ = None;
let mut current_version__ = None;
let mut latest_version__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::AcceptanceRequired => {
if acceptance_required__.is_some() {
return Err(
serde::de::Error::duplicate_field("acceptanceRequired"),
);
}
acceptance_required__ = Some(map_.next_value()?);
}
GeneratedField::CurrentVersion => {
if current_version__.is_some() {
return Err(
serde::de::Error::duplicate_field("currentVersion"),
);
}
current_version__ = Some(map_.next_value()?);
}
GeneratedField::LatestVersion => {
if latest_version__.is_some() {
return Err(
serde::de::Error::duplicate_field("latestVersion"),
);
}
latest_version__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(LegalDocument {
name: name__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
acceptance_required: acceptance_required__.unwrap_or_default(),
current_version: current_version__.unwrap_or_default(),
latest_version: latest_version__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.LegalDocument",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for LegalDocumentVersion {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.effective_date.is_some() {
len += 1;
}
if self.change_class != 0 {
len += 1;
}
if !self.change_summary.is_empty() {
len += 1;
}
if !self.sha256.is_empty() {
len += 1;
}
if !self.markdown.is_empty() {
len += 1;
}
if !self.html.is_empty() {
len += 1;
}
if !self.uri.is_empty() {
len += 1;
}
if !self.pdf_uri.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.LegalDocumentVersion", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if let Some(v) = self.effective_date.as_ref() {
struct_ser.serialize_field("effectiveDate", v)?;
}
if self.change_class != 0 {
let v = legal_document_version::ChangeClass::try_from(self.change_class)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.change_class),
))?;
struct_ser.serialize_field("changeClass", &v)?;
}
if !self.change_summary.is_empty() {
struct_ser.serialize_field("changeSummary", &self.change_summary)?;
}
if !self.sha256.is_empty() {
struct_ser.serialize_field("sha256", &self.sha256)?;
}
if !self.markdown.is_empty() {
struct_ser.serialize_field("markdown", &self.markdown)?;
}
if !self.html.is_empty() {
struct_ser.serialize_field("html", &self.html)?;
}
if !self.uri.is_empty() {
struct_ser.serialize_field("uri", &self.uri)?;
}
if !self.pdf_uri.is_empty() {
struct_ser.serialize_field("pdfUri", &self.pdf_uri)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for LegalDocumentVersion {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"display_name",
"displayName",
"effective_date",
"effectiveDate",
"change_class",
"changeClass",
"change_summary",
"changeSummary",
"sha256",
"markdown",
"html",
"uri",
"pdf_uri",
"pdfUri",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
DisplayName,
EffectiveDate,
ChangeClass,
ChangeSummary,
Sha256,
Markdown,
Html,
Uri,
PdfUri,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"effectiveDate" | "effective_date" => {
Ok(GeneratedField::EffectiveDate)
}
"changeClass" | "change_class" => {
Ok(GeneratedField::ChangeClass)
}
"changeSummary" | "change_summary" => {
Ok(GeneratedField::ChangeSummary)
}
"sha256" => Ok(GeneratedField::Sha256),
"markdown" => Ok(GeneratedField::Markdown),
"html" => Ok(GeneratedField::Html),
"uri" => Ok(GeneratedField::Uri),
"pdfUri" | "pdf_uri" => Ok(GeneratedField::PdfUri),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = LegalDocumentVersion;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.billing.v1beta1.LegalDocumentVersion")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<LegalDocumentVersion, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut display_name__ = None;
let mut effective_date__ = None;
let mut change_class__ = None;
let mut change_summary__ = None;
let mut sha256__ = None;
let mut markdown__ = None;
let mut html__ = None;
let mut uri__ = None;
let mut pdf_uri__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::EffectiveDate => {
if effective_date__.is_some() {
return Err(
serde::de::Error::duplicate_field("effectiveDate"),
);
}
effective_date__ = map_.next_value()?;
}
GeneratedField::ChangeClass => {
if change_class__.is_some() {
return Err(
serde::de::Error::duplicate_field("changeClass"),
);
}
change_class__ = Some(
map_.next_value::<legal_document_version::ChangeClass>()?
as i32,
);
}
GeneratedField::ChangeSummary => {
if change_summary__.is_some() {
return Err(
serde::de::Error::duplicate_field("changeSummary"),
);
}
change_summary__ = Some(map_.next_value()?);
}
GeneratedField::Sha256 => {
if sha256__.is_some() {
return Err(serde::de::Error::duplicate_field("sha256"));
}
sha256__ = Some(map_.next_value()?);
}
GeneratedField::Markdown => {
if markdown__.is_some() {
return Err(serde::de::Error::duplicate_field("markdown"));
}
markdown__ = Some(map_.next_value()?);
}
GeneratedField::Html => {
if html__.is_some() {
return Err(serde::de::Error::duplicate_field("html"));
}
html__ = Some(map_.next_value()?);
}
GeneratedField::Uri => {
if uri__.is_some() {
return Err(serde::de::Error::duplicate_field("uri"));
}
uri__ = Some(map_.next_value()?);
}
GeneratedField::PdfUri => {
if pdf_uri__.is_some() {
return Err(serde::de::Error::duplicate_field("pdfUri"));
}
pdf_uri__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(LegalDocumentVersion {
name: name__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
effective_date: effective_date__,
change_class: change_class__.unwrap_or_default(),
change_summary: change_summary__.unwrap_or_default(),
sha256: sha256__.unwrap_or_default(),
markdown: markdown__.unwrap_or_default(),
html: html__.unwrap_or_default(),
uri: uri__.unwrap_or_default(),
pdf_uri: pdf_uri__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.LegalDocumentVersion",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for legal_document_version::ChangeClass {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "CHANGE_CLASS_UNSPECIFIED",
Self::Material => "MATERIAL",
Self::Notice => "NOTICE",
Self::Editorial => "EDITORIAL",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for legal_document_version::ChangeClass {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"CHANGE_CLASS_UNSPECIFIED",
"MATERIAL",
"NOTICE",
"EDITORIAL",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = legal_document_version::ChangeClass;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(
legal_document_version::ChangeClass::default(),
))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(
legal_document_version::ChangeClass::default(),
))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"CHANGE_CLASS_UNSPECIFIED" => {
Ok(legal_document_version::ChangeClass::Unspecified)
}
"MATERIAL" => Ok(legal_document_version::ChangeClass::Material),
"NOTICE" => Ok(legal_document_version::ChangeClass::Notice),
"EDITORIAL" => Ok(legal_document_version::ChangeClass::Editorial),
_ => Ok(legal_document_version::ChangeClass::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for LegalDocumentVersionToAccept {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.legal_document_version.is_empty() {
len += 1;
}
if !self.sha256.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
len,
)?;
if !self.legal_document_version.is_empty() {
struct_ser
.serialize_field("legalDocumentVersion", &self.legal_document_version)?;
}
if !self.sha256.is_empty() {
struct_ser.serialize_field("sha256", &self.sha256)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for LegalDocumentVersionToAccept {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"legal_document_version",
"legalDocumentVersion",
"sha256",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
LegalDocumentVersion,
Sha256,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"legalDocumentVersion" | "legal_document_version" => {
Ok(GeneratedField::LegalDocumentVersion)
}
"sha256" => Ok(GeneratedField::Sha256),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = LegalDocumentVersionToAccept;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<LegalDocumentVersionToAccept, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut legal_document_version__ = None;
let mut sha256__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::LegalDocumentVersion => {
if legal_document_version__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalDocumentVersion"),
);
}
legal_document_version__ = Some(map_.next_value()?);
}
GeneratedField::Sha256 => {
if sha256__.is_some() {
return Err(serde::de::Error::duplicate_field("sha256"));
}
sha256__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(LegalDocumentVersionToAccept {
legal_document_version: legal_document_version__.unwrap_or_default(),
sha256: sha256__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.LegalDocumentVersionToAccept",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for LegalRequirement {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.legal_document_version.is_empty() {
len += 1;
}
if !self.display_name.is_empty() {
len += 1;
}
if self.effective_date.is_some() {
len += 1;
}
if !self.change_summary.is_empty() {
len += 1;
}
if !self.sha256.is_empty() {
len += 1;
}
if self.blocking {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.LegalRequirement", len)?;
if !self.legal_document_version.is_empty() {
struct_ser
.serialize_field("legalDocumentVersion", &self.legal_document_version)?;
}
if !self.display_name.is_empty() {
struct_ser.serialize_field("displayName", &self.display_name)?;
}
if let Some(v) = self.effective_date.as_ref() {
struct_ser.serialize_field("effectiveDate", v)?;
}
if !self.change_summary.is_empty() {
struct_ser.serialize_field("changeSummary", &self.change_summary)?;
}
if !self.sha256.is_empty() {
struct_ser.serialize_field("sha256", &self.sha256)?;
}
if self.blocking {
struct_ser.serialize_field("blocking", &self.blocking)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for LegalRequirement {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"legal_document_version",
"legalDocumentVersion",
"display_name",
"displayName",
"effective_date",
"effectiveDate",
"change_summary",
"changeSummary",
"sha256",
"blocking",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
LegalDocumentVersion,
DisplayName,
EffectiveDate,
ChangeSummary,
Sha256,
Blocking,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"legalDocumentVersion" | "legal_document_version" => {
Ok(GeneratedField::LegalDocumentVersion)
}
"displayName" | "display_name" => {
Ok(GeneratedField::DisplayName)
}
"effectiveDate" | "effective_date" => {
Ok(GeneratedField::EffectiveDate)
}
"changeSummary" | "change_summary" => {
Ok(GeneratedField::ChangeSummary)
}
"sha256" => Ok(GeneratedField::Sha256),
"blocking" => Ok(GeneratedField::Blocking),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = LegalRequirement;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.billing.v1beta1.LegalRequirement")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<LegalRequirement, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut legal_document_version__ = None;
let mut display_name__ = None;
let mut effective_date__ = None;
let mut change_summary__ = None;
let mut sha256__ = None;
let mut blocking__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::LegalDocumentVersion => {
if legal_document_version__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalDocumentVersion"),
);
}
legal_document_version__ = Some(map_.next_value()?);
}
GeneratedField::DisplayName => {
if display_name__.is_some() {
return Err(
serde::de::Error::duplicate_field("displayName"),
);
}
display_name__ = Some(map_.next_value()?);
}
GeneratedField::EffectiveDate => {
if effective_date__.is_some() {
return Err(
serde::de::Error::duplicate_field("effectiveDate"),
);
}
effective_date__ = map_.next_value()?;
}
GeneratedField::ChangeSummary => {
if change_summary__.is_some() {
return Err(
serde::de::Error::duplicate_field("changeSummary"),
);
}
change_summary__ = Some(map_.next_value()?);
}
GeneratedField::Sha256 => {
if sha256__.is_some() {
return Err(serde::de::Error::duplicate_field("sha256"));
}
sha256__ = Some(map_.next_value()?);
}
GeneratedField::Blocking => {
if blocking__.is_some() {
return Err(serde::de::Error::duplicate_field("blocking"));
}
blocking__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(LegalRequirement {
legal_document_version: legal_document_version__.unwrap_or_default(),
display_name: display_name__.unwrap_or_default(),
effective_date: effective_date__,
change_summary: change_summary__.unwrap_or_default(),
sha256: sha256__.unwrap_or_default(),
blocking: blocking__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.LegalRequirement",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListBillingAccountsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListBillingAccountsRequest",
len,
)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListBillingAccountsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListBillingAccountsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListBillingAccountsRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListBillingAccountsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListBillingAccountsRequest {
parent: parent__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListBillingAccountsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListBillingAccountsResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.billing_accounts.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListBillingAccountsResponse",
len,
)?;
if !self.billing_accounts.is_empty() {
struct_ser.serialize_field("billingAccounts", &self.billing_accounts)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListBillingAccountsResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"billing_accounts",
"billingAccounts",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
BillingAccounts,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"billingAccounts" | "billing_accounts" => {
Ok(GeneratedField::BillingAccounts)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListBillingAccountsResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListBillingAccountsResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListBillingAccountsResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut billing_accounts__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::BillingAccounts => {
if billing_accounts__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccounts"),
);
}
billing_accounts__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListBillingAccountsResponse {
billing_accounts: billing_accounts__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListBillingAccountsResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListBillingCountriesRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListBillingCountriesRequest",
len,
)?;
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListBillingCountriesRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["page_size", "pageSize", "page_token", "pageToken"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListBillingCountriesRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListBillingCountriesRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListBillingCountriesRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListBillingCountriesRequest {
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListBillingCountriesRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListBillingCountriesResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.billing_countries.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListBillingCountriesResponse",
len,
)?;
if !self.billing_countries.is_empty() {
struct_ser.serialize_field("billingCountries", &self.billing_countries)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListBillingCountriesResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"billing_countries",
"billingCountries",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
BillingCountries,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"billingCountries" | "billing_countries" => {
Ok(GeneratedField::BillingCountries)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListBillingCountriesResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListBillingCountriesResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListBillingCountriesResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut billing_countries__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::BillingCountries => {
if billing_countries__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingCountries"),
);
}
billing_countries__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListBillingCountriesResponse {
billing_countries: billing_countries__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListBillingCountriesResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalAcceptancesRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
len,
)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalAcceptancesRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalAcceptancesRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalAcceptancesRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalAcceptancesRequest {
parent: parent__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalAcceptancesRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalAcceptancesResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.legal_acceptances.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
len,
)?;
if !self.legal_acceptances.is_empty() {
struct_ser.serialize_field("legalAcceptances", &self.legal_acceptances)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalAcceptancesResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"legal_acceptances",
"legalAcceptances",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
LegalAcceptances,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"legalAcceptances" | "legal_acceptances" => {
Ok(GeneratedField::LegalAcceptances)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalAcceptancesResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalAcceptancesResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut legal_acceptances__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::LegalAcceptances => {
if legal_acceptances__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalAcceptances"),
);
}
legal_acceptances__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalAcceptancesResponse {
legal_acceptances: legal_acceptances__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalAcceptancesResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalDocumentVersionsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.parent.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
len,
)?;
if !self.parent.is_empty() {
struct_ser.serialize_field("parent", &self.parent)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalDocumentVersionsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"parent",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Parent,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"parent" => Ok(GeneratedField::Parent),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalDocumentVersionsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalDocumentVersionsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut parent__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Parent => {
if parent__.is_some() {
return Err(serde::de::Error::duplicate_field("parent"));
}
parent__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalDocumentVersionsRequest {
parent: parent__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentVersionsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalDocumentVersionsResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.legal_document_versions.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
len,
)?;
if !self.legal_document_versions.is_empty() {
struct_ser
.serialize_field(
"legalDocumentVersions",
&self.legal_document_versions,
)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalDocumentVersionsResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"legal_document_versions",
"legalDocumentVersions",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
LegalDocumentVersions,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"legalDocumentVersions" | "legal_document_versions" => {
Ok(GeneratedField::LegalDocumentVersions)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalDocumentVersionsResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalDocumentVersionsResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut legal_document_versions__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::LegalDocumentVersions => {
if legal_document_versions__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalDocumentVersions"),
);
}
legal_document_versions__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalDocumentVersionsResponse {
legal_document_versions: legal_document_versions__
.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentVersionsResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalDocumentsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentsRequest",
len,
)?;
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalDocumentsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["page_size", "pageSize", "page_token", "pageToken"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalDocumentsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalDocumentsRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalDocumentsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalDocumentsRequest {
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListLegalDocumentsResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.legal_documents.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentsResponse",
len,
)?;
if !self.legal_documents.is_empty() {
struct_ser.serialize_field("legalDocuments", &self.legal_documents)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListLegalDocumentsResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"legal_documents",
"legalDocuments",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
LegalDocuments,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"legalDocuments" | "legal_documents" => {
Ok(GeneratedField::LegalDocuments)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListLegalDocumentsResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListLegalDocumentsResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListLegalDocumentsResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut legal_documents__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::LegalDocuments => {
if legal_documents__.is_some() {
return Err(
serde::de::Error::duplicate_field("legalDocuments"),
);
}
legal_documents__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListLegalDocumentsResponse {
legal_documents: legal_documents__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListLegalDocumentsResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListProjectBillingInfoRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListProjectBillingInfoRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListProjectBillingInfoRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListProjectBillingInfoRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListProjectBillingInfoRequest {
name: name__.unwrap_or_default(),
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListProjectBillingInfoRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ListProjectBillingInfoResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.project_billing_infos.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
len,
)?;
if !self.project_billing_infos.is_empty() {
struct_ser
.serialize_field("projectBillingInfos", &self.project_billing_infos)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ListProjectBillingInfoResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"project_billing_infos",
"projectBillingInfos",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
ProjectBillingInfos,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"projectBillingInfos" | "project_billing_infos" => {
Ok(GeneratedField::ProjectBillingInfos)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ListProjectBillingInfoResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ListProjectBillingInfoResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut project_billing_infos__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::ProjectBillingInfos => {
if project_billing_infos__.is_some() {
return Err(
serde::de::Error::duplicate_field("projectBillingInfos"),
);
}
project_billing_infos__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ListProjectBillingInfoResponse {
project_billing_infos: project_billing_infos__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ListProjectBillingInfoResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for OrganizationCostReport {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.total.is_empty() {
len += 1;
}
if !self.services.is_empty() {
len += 1;
}
if !self.projects.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.OrganizationCostReport",
len,
)?;
if !self.total.is_empty() {
struct_ser.serialize_field("total", &self.total)?;
}
if !self.services.is_empty() {
struct_ser.serialize_field("services", &self.services)?;
}
if !self.projects.is_empty() {
struct_ser.serialize_field("projects", &self.projects)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for OrganizationCostReport {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["total", "services", "projects"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Total,
Services,
Projects,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"total" => Ok(GeneratedField::Total),
"services" => Ok(GeneratedField::Services),
"projects" => Ok(GeneratedField::Projects),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = OrganizationCostReport;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.OrganizationCostReport",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<OrganizationCostReport, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut total__ = None;
let mut services__ = None;
let mut projects__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Total => {
if total__.is_some() {
return Err(serde::de::Error::duplicate_field("total"));
}
total__ = Some(map_.next_value()?);
}
GeneratedField::Services => {
if services__.is_some() {
return Err(serde::de::Error::duplicate_field("services"));
}
services__ = Some(map_.next_value()?);
}
GeneratedField::Projects => {
if projects__.is_some() {
return Err(serde::de::Error::duplicate_field("projects"));
}
projects__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(OrganizationCostReport {
total: total__.unwrap_or_default(),
services: services__.unwrap_or_default(),
projects: projects__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.OrganizationCostReport",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for PaymentMethod {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.state != 0 {
len += 1;
}
if !self.card_brand.is_empty() {
len += 1;
}
if !self.card_last4.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.PaymentMethod", len)?;
if self.state != 0 {
let v = payment_method::State::try_from(self.state)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.state),
))?;
struct_ser.serialize_field("state", &v)?;
}
if !self.card_brand.is_empty() {
struct_ser.serialize_field("cardBrand", &self.card_brand)?;
}
if !self.card_last4.is_empty() {
struct_ser.serialize_field("cardLast4", &self.card_last4)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for PaymentMethod {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"state",
"card_brand",
"cardBrand",
"card_last4",
"cardLast4",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
State,
CardBrand,
CardLast4,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"state" => Ok(GeneratedField::State),
"cardBrand" | "card_brand" => Ok(GeneratedField::CardBrand),
"cardLast4" | "card_last4" => Ok(GeneratedField::CardLast4),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = PaymentMethod;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.PaymentMethod")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<PaymentMethod, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut state__ = None;
let mut card_brand__ = None;
let mut card_last4__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::State => {
if state__.is_some() {
return Err(serde::de::Error::duplicate_field("state"));
}
state__ = Some(
map_.next_value::<payment_method::State>()? as i32,
);
}
GeneratedField::CardBrand => {
if card_brand__.is_some() {
return Err(serde::de::Error::duplicate_field("cardBrand"));
}
card_brand__ = Some(map_.next_value()?);
}
GeneratedField::CardLast4 => {
if card_last4__.is_some() {
return Err(serde::de::Error::duplicate_field("cardLast4"));
}
card_last4__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(PaymentMethod {
state: state__.unwrap_or_default(),
card_brand: card_brand__.unwrap_or_default(),
card_last4: card_last4__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.PaymentMethod",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for payment_method::State {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
let variant = match self {
Self::Unspecified => "STATE_UNSPECIFIED",
Self::Missing => "MISSING",
Self::Verified => "VERIFIED",
Self::NotRequired => "NOT_REQUIRED",
};
serializer.serialize_str(variant)
}
}
impl<'de> serde::Deserialize<'de> for payment_method::State {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"STATE_UNSPECIFIED",
"MISSING",
"VERIFIED",
"NOT_REQUIRED",
];
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = payment_method::State;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
fn visit_i64<E>(self, v: i64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(payment_method::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Signed(v),
&self,
)
})
}
fn visit_u64<E>(self, v: u64) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
i32::try_from(v)
.ok()
.and_then(|x| {
x
.try_into()
.ok()
.or_else(|| Some(payment_method::State::default()))
})
.ok_or_else(|| {
serde::de::Error::invalid_value(
serde::de::Unexpected::Unsigned(v),
&self,
)
})
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
match value {
"STATE_UNSPECIFIED" => Ok(payment_method::State::Unspecified),
"MISSING" => Ok(payment_method::State::Missing),
"VERIFIED" => Ok(payment_method::State::Verified),
"NOT_REQUIRED" => Ok(payment_method::State::NotRequired),
_ => Ok(payment_method::State::default()),
}
}
}
deserializer.deserialize_any(GeneratedVisitor)
}
}
impl serde::Serialize for Price {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.product_key.is_empty() {
len += 1;
}
if !self.dimensions.is_empty() {
len += 1;
}
if !self.unit_type.is_empty() {
len += 1;
}
if self.unit_count != 0 {
len += 1;
}
if !self.amount.is_empty() {
len += 1;
}
if self.valid_from.is_some() {
len += 1;
}
if self.valid_until.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.Price", len)?;
if !self.product_key.is_empty() {
struct_ser.serialize_field("product_key", &self.product_key)?;
}
if !self.dimensions.is_empty() {
struct_ser.serialize_field("dimensions", &self.dimensions)?;
}
if !self.unit_type.is_empty() {
struct_ser.serialize_field("unit_type", &self.unit_type)?;
}
if self.unit_count != 0 {
struct_ser.serialize_field("unit_count", &self.unit_count)?;
}
if !self.amount.is_empty() {
struct_ser.serialize_field("amount", &self.amount)?;
}
if let Some(v) = self.valid_from.as_ref() {
struct_ser.serialize_field("valid_from", v)?;
}
if let Some(v) = self.valid_until.as_ref() {
struct_ser.serialize_field("valid_until", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for Price {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"product_key",
"dimensions",
"unit_type",
"unit_count",
"amount",
"valid_from",
"valid_until",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
ProductKey,
Dimensions,
UnitType,
UnitCount,
Amount,
ValidFrom,
ValidUntil,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"product_key" => Ok(GeneratedField::ProductKey),
"dimensions" => Ok(GeneratedField::Dimensions),
"unit_type" => Ok(GeneratedField::UnitType),
"unit_count" => Ok(GeneratedField::UnitCount),
"amount" => Ok(GeneratedField::Amount),
"valid_from" => Ok(GeneratedField::ValidFrom),
"valid_until" => Ok(GeneratedField::ValidUntil),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = Price;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.Price")
}
fn visit_map<V>(self, mut map_: V) -> std::result::Result<Price, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut product_key__ = None;
let mut dimensions__ = None;
let mut unit_type__ = None;
let mut unit_count__ = None;
let mut amount__ = None;
let mut valid_from__ = None;
let mut valid_until__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::ProductKey => {
if product_key__.is_some() {
return Err(
serde::de::Error::duplicate_field("product_key"),
);
}
product_key__ = Some(map_.next_value()?);
}
GeneratedField::Dimensions => {
if dimensions__.is_some() {
return Err(serde::de::Error::duplicate_field("dimensions"));
}
dimensions__ = Some(
map_.next_value::<std::collections::BTreeMap<_, _>>()?,
);
}
GeneratedField::UnitType => {
if unit_type__.is_some() {
return Err(serde::de::Error::duplicate_field("unit_type"));
}
unit_type__ = Some(map_.next_value()?);
}
GeneratedField::UnitCount => {
if unit_count__.is_some() {
return Err(serde::de::Error::duplicate_field("unit_count"));
}
unit_count__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::Amount => {
if amount__.is_some() {
return Err(serde::de::Error::duplicate_field("amount"));
}
amount__ = Some(map_.next_value()?);
}
GeneratedField::ValidFrom => {
if valid_from__.is_some() {
return Err(serde::de::Error::duplicate_field("valid_from"));
}
valid_from__ = map_.next_value()?;
}
GeneratedField::ValidUntil => {
if valid_until__.is_some() {
return Err(
serde::de::Error::duplicate_field("valid_until"),
);
}
valid_until__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(Price {
product_key: product_key__.unwrap_or_default(),
dimensions: dimensions__.unwrap_or_default(),
unit_type: unit_type__.unwrap_or_default(),
unit_count: unit_count__.unwrap_or_default(),
amount: amount__.unwrap_or_default(),
valid_from: valid_from__,
valid_until: valid_until__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.Price",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for PriceFamily {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.family.is_empty() {
len += 1;
}
if !self.prices.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.PriceFamily", len)?;
if !self.family.is_empty() {
struct_ser.serialize_field("family", &self.family)?;
}
if !self.prices.is_empty() {
struct_ser.serialize_field("prices", &self.prices)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for PriceFamily {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["family", "prices"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Family,
Prices,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"family" => Ok(GeneratedField::Family),
"prices" => Ok(GeneratedField::Prices),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = PriceFamily;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.PriceFamily")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<PriceFamily, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut family__ = None;
let mut prices__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Family => {
if family__.is_some() {
return Err(serde::de::Error::duplicate_field("family"));
}
family__ = Some(map_.next_value()?);
}
GeneratedField::Prices => {
if prices__.is_some() {
return Err(serde::de::Error::duplicate_field("prices"));
}
prices__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(PriceFamily {
family: family__.unwrap_or_default(),
prices: prices__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.PriceFamily",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for PriceList {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.currency.is_empty() {
len += 1;
}
if self.amounts_exclude_vat {
len += 1;
}
if self.last_changed.is_some() {
len += 1;
}
if !self.families.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.PriceList", len)?;
if !self.currency.is_empty() {
struct_ser.serialize_field("currency", &self.currency)?;
}
if self.amounts_exclude_vat {
struct_ser
.serialize_field("amounts_exclude_vat", &self.amounts_exclude_vat)?;
}
if let Some(v) = self.last_changed.as_ref() {
struct_ser.serialize_field("last_changed", v)?;
}
if !self.families.is_empty() {
struct_ser.serialize_field("families", &self.families)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for PriceList {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"currency",
"amounts_exclude_vat",
"last_changed",
"families",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Currency,
AmountsExcludeVat,
LastChanged,
Families,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"currency" => Ok(GeneratedField::Currency),
"amounts_exclude_vat" => {
Ok(GeneratedField::AmountsExcludeVat)
}
"last_changed" => Ok(GeneratedField::LastChanged),
"families" => Ok(GeneratedField::Families),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = PriceList;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.PriceList")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<PriceList, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut currency__ = None;
let mut amounts_exclude_vat__ = None;
let mut last_changed__ = None;
let mut families__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Currency => {
if currency__.is_some() {
return Err(serde::de::Error::duplicate_field("currency"));
}
currency__ = Some(map_.next_value()?);
}
GeneratedField::AmountsExcludeVat => {
if amounts_exclude_vat__.is_some() {
return Err(
serde::de::Error::duplicate_field("amounts_exclude_vat"),
);
}
amounts_exclude_vat__ = Some(map_.next_value()?);
}
GeneratedField::LastChanged => {
if last_changed__.is_some() {
return Err(
serde::de::Error::duplicate_field("last_changed"),
);
}
last_changed__ = map_.next_value()?;
}
GeneratedField::Families => {
if families__.is_some() {
return Err(serde::de::Error::duplicate_field("families"));
}
families__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(PriceList {
currency: currency__.unwrap_or_default(),
amounts_exclude_vat: amounts_exclude_vat__.unwrap_or_default(),
last_changed: last_changed__,
families: families__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.PriceList",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ProductCost {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.product_key.is_empty() {
len += 1;
}
if !self.total.is_empty() {
len += 1;
}
if !self.buckets.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.ProductCost", len)?;
if !self.product_key.is_empty() {
struct_ser.serialize_field("productKey", &self.product_key)?;
}
if !self.total.is_empty() {
struct_ser.serialize_field("total", &self.total)?;
}
if !self.buckets.is_empty() {
struct_ser.serialize_field("buckets", &self.buckets)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ProductCost {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["product_key", "productKey", "total", "buckets"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
ProductKey,
Total,
Buckets,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"productKey" | "product_key" => {
Ok(GeneratedField::ProductKey)
}
"total" => Ok(GeneratedField::Total),
"buckets" => Ok(GeneratedField::Buckets),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ProductCost;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.ProductCost")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ProductCost, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut product_key__ = None;
let mut total__ = None;
let mut buckets__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::ProductKey => {
if product_key__.is_some() {
return Err(serde::de::Error::duplicate_field("productKey"));
}
product_key__ = Some(map_.next_value()?);
}
GeneratedField::Total => {
if total__.is_some() {
return Err(serde::de::Error::duplicate_field("total"));
}
total__ = Some(map_.next_value()?);
}
GeneratedField::Buckets => {
if buckets__.is_some() {
return Err(serde::de::Error::duplicate_field("buckets"));
}
buckets__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ProductCost {
product_key: product_key__.unwrap_or_default(),
total: total__.unwrap_or_default(),
buckets: buckets__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ProductCost",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ProjectBillingInfo {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if !self.billing_account.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.ProjectBillingInfo", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if !self.billing_account.is_empty() {
struct_ser.serialize_field("billingAccount", &self.billing_account)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ProjectBillingInfo {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name", "billing_account", "billingAccount"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
BillingAccount,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"billingAccount" | "billing_account" => {
Ok(GeneratedField::BillingAccount)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ProjectBillingInfo;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str("struct origincloud.billing.v1beta1.ProjectBillingInfo")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ProjectBillingInfo, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut billing_account__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::BillingAccount => {
if billing_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccount"),
);
}
billing_account__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ProjectBillingInfo {
name: name__.unwrap_or_default(),
billing_account: billing_account__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ProjectBillingInfo",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ProjectCost {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.project.is_empty() {
len += 1;
}
if !self.total.is_empty() {
len += 1;
}
if !self.buckets.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.ProjectCost", len)?;
if !self.project.is_empty() {
struct_ser.serialize_field("project", &self.project)?;
}
if !self.total.is_empty() {
struct_ser.serialize_field("total", &self.total)?;
}
if !self.buckets.is_empty() {
struct_ser.serialize_field("buckets", &self.buckets)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ProjectCost {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["project", "total", "buckets"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Project,
Total,
Buckets,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"project" => Ok(GeneratedField::Project),
"total" => Ok(GeneratedField::Total),
"buckets" => Ok(GeneratedField::Buckets),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ProjectCost;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.ProjectCost")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ProjectCost, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut project__ = None;
let mut total__ = None;
let mut buckets__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Project => {
if project__.is_some() {
return Err(serde::de::Error::duplicate_field("project"));
}
project__ = Some(map_.next_value()?);
}
GeneratedField::Total => {
if total__.is_some() {
return Err(serde::de::Error::duplicate_field("total"));
}
total__ = Some(map_.next_value()?);
}
GeneratedField::Buckets => {
if buckets__.is_some() {
return Err(serde::de::Error::duplicate_field("buckets"));
}
buckets__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ProjectCost {
project: project__.unwrap_or_default(),
total: total__.unwrap_or_default(),
buckets: buckets__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ProjectCost",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryBillingAccountCostRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.billing_account.is_empty() {
len += 1;
}
if self.start_time.is_some() {
len += 1;
}
if self.end_time.is_some() {
len += 1;
}
if self.granularity != 0 {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
len,
)?;
if !self.billing_account.is_empty() {
struct_ser.serialize_field("billingAccount", &self.billing_account)?;
}
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if let Some(v) = self.end_time.as_ref() {
struct_ser.serialize_field("endTime", v)?;
}
if self.granularity != 0 {
let v = Granularity::try_from(self.granularity)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.granularity),
))?;
struct_ser.serialize_field("granularity", &v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryBillingAccountCostRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"billing_account",
"billingAccount",
"start_time",
"startTime",
"end_time",
"endTime",
"granularity",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
BillingAccount,
StartTime,
EndTime,
Granularity,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"billingAccount" | "billing_account" => {
Ok(GeneratedField::BillingAccount)
}
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"endTime" | "end_time" => Ok(GeneratedField::EndTime),
"granularity" => Ok(GeneratedField::Granularity),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryBillingAccountCostRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryBillingAccountCostRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut billing_account__ = None;
let mut start_time__ = None;
let mut end_time__ = None;
let mut granularity__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::BillingAccount => {
if billing_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccount"),
);
}
billing_account__ = Some(map_.next_value()?);
}
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::EndTime => {
if end_time__.is_some() {
return Err(serde::de::Error::duplicate_field("endTime"));
}
end_time__ = map_.next_value()?;
}
GeneratedField::Granularity => {
if granularity__.is_some() {
return Err(
serde::de::Error::duplicate_field("granularity"),
);
}
granularity__ = Some(
map_.next_value::<Granularity>()? as i32,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryBillingAccountCostRequest {
billing_account: billing_account__.unwrap_or_default(),
start_time: start_time__,
end_time: end_time__,
granularity: granularity__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryBillingAccountCostRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryLegalRequirementsRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryLegalRequirementsRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryLegalRequirementsRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryLegalRequirementsRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryLegalRequirementsRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryLegalRequirementsRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryLegalRequirementsResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.requirements.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
len,
)?;
if !self.requirements.is_empty() {
struct_ser.serialize_field("requirements", &self.requirements)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryLegalRequirementsResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["requirements"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Requirements,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"requirements" => Ok(GeneratedField::Requirements),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryLegalRequirementsResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryLegalRequirementsResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut requirements__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Requirements => {
if requirements__.is_some() {
return Err(
serde::de::Error::duplicate_field("requirements"),
);
}
requirements__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryLegalRequirementsResponse {
requirements: requirements__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryLegalRequirementsResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryOrganizationCostRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.organization.is_empty() {
len += 1;
}
if self.start_time.is_some() {
len += 1;
}
if self.end_time.is_some() {
len += 1;
}
if self.granularity != 0 {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryOrganizationCostRequest",
len,
)?;
if !self.organization.is_empty() {
struct_ser.serialize_field("organization", &self.organization)?;
}
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if let Some(v) = self.end_time.as_ref() {
struct_ser.serialize_field("endTime", v)?;
}
if self.granularity != 0 {
let v = Granularity::try_from(self.granularity)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.granularity),
))?;
struct_ser.serialize_field("granularity", &v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryOrganizationCostRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"organization",
"start_time",
"startTime",
"end_time",
"endTime",
"granularity",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Organization,
StartTime,
EndTime,
Granularity,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"organization" => Ok(GeneratedField::Organization),
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"endTime" | "end_time" => Ok(GeneratedField::EndTime),
"granularity" => Ok(GeneratedField::Granularity),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryOrganizationCostRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryOrganizationCostRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryOrganizationCostRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut organization__ = None;
let mut start_time__ = None;
let mut end_time__ = None;
let mut granularity__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Organization => {
if organization__.is_some() {
return Err(
serde::de::Error::duplicate_field("organization"),
);
}
organization__ = Some(map_.next_value()?);
}
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::EndTime => {
if end_time__.is_some() {
return Err(serde::de::Error::duplicate_field("endTime"));
}
end_time__ = map_.next_value()?;
}
GeneratedField::Granularity => {
if granularity__.is_some() {
return Err(
serde::de::Error::duplicate_field("granularity"),
);
}
granularity__ = Some(
map_.next_value::<Granularity>()? as i32,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryOrganizationCostRequest {
organization: organization__.unwrap_or_default(),
start_time: start_time__,
end_time: end_time__,
granularity: granularity__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryOrganizationCostRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryProjectCostRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.project.is_empty() {
len += 1;
}
if self.start_time.is_some() {
len += 1;
}
if self.end_time.is_some() {
len += 1;
}
if self.granularity != 0 {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryProjectCostRequest",
len,
)?;
if !self.project.is_empty() {
struct_ser.serialize_field("project", &self.project)?;
}
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if let Some(v) = self.end_time.as_ref() {
struct_ser.serialize_field("endTime", v)?;
}
if self.granularity != 0 {
let v = Granularity::try_from(self.granularity)
.map_err(|_| serde::ser::Error::custom(
format!("Invalid variant {}", self.granularity),
))?;
struct_ser.serialize_field("granularity", &v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryProjectCostRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"project",
"start_time",
"startTime",
"end_time",
"endTime",
"granularity",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Project,
StartTime,
EndTime,
Granularity,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"project" => Ok(GeneratedField::Project),
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"endTime" | "end_time" => Ok(GeneratedField::EndTime),
"granularity" => Ok(GeneratedField::Granularity),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryProjectCostRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryProjectCostRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryProjectCostRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut project__ = None;
let mut start_time__ = None;
let mut end_time__ = None;
let mut granularity__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Project => {
if project__.is_some() {
return Err(serde::de::Error::duplicate_field("project"));
}
project__ = Some(map_.next_value()?);
}
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::EndTime => {
if end_time__.is_some() {
return Err(serde::de::Error::duplicate_field("endTime"));
}
end_time__ = map_.next_value()?;
}
GeneratedField::Granularity => {
if granularity__.is_some() {
return Err(
serde::de::Error::duplicate_field("granularity"),
);
}
granularity__ = Some(
map_.next_value::<Granularity>()? as i32,
);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryProjectCostRequest {
project: project__.unwrap_or_default(),
start_time: start_time__,
end_time: end_time__,
granularity: granularity__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryProjectCostRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryProjectUsageRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.project.is_empty() {
len += 1;
}
if self.start_time.is_some() {
len += 1;
}
if self.end_time.is_some() {
len += 1;
}
if self.page_size != 0 {
len += 1;
}
if !self.page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryProjectUsageRequest",
len,
)?;
if !self.project.is_empty() {
struct_ser.serialize_field("project", &self.project)?;
}
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if let Some(v) = self.end_time.as_ref() {
struct_ser.serialize_field("endTime", v)?;
}
if self.page_size != 0 {
struct_ser.serialize_field("pageSize", &self.page_size)?;
}
if !self.page_token.is_empty() {
struct_ser.serialize_field("pageToken", &self.page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryProjectUsageRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"project",
"start_time",
"startTime",
"end_time",
"endTime",
"page_size",
"pageSize",
"page_token",
"pageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Project,
StartTime,
EndTime,
PageSize,
PageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"project" => Ok(GeneratedField::Project),
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"endTime" | "end_time" => Ok(GeneratedField::EndTime),
"pageSize" | "page_size" => Ok(GeneratedField::PageSize),
"pageToken" | "page_token" => Ok(GeneratedField::PageToken),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryProjectUsageRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryProjectUsageRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryProjectUsageRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut project__ = None;
let mut start_time__ = None;
let mut end_time__ = None;
let mut page_size__ = None;
let mut page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Project => {
if project__.is_some() {
return Err(serde::de::Error::duplicate_field("project"));
}
project__ = Some(map_.next_value()?);
}
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::EndTime => {
if end_time__.is_some() {
return Err(serde::de::Error::duplicate_field("endTime"));
}
end_time__ = map_.next_value()?;
}
GeneratedField::PageSize => {
if page_size__.is_some() {
return Err(serde::de::Error::duplicate_field("pageSize"));
}
page_size__ = Some(
map_
.next_value::<::pbjson::private::NumberDeserialize<_>>()?
.0,
);
}
GeneratedField::PageToken => {
if page_token__.is_some() {
return Err(serde::de::Error::duplicate_field("pageToken"));
}
page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryProjectUsageRequest {
project: project__.unwrap_or_default(),
start_time: start_time__,
end_time: end_time__,
page_size: page_size__.unwrap_or_default(),
page_token: page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryProjectUsageRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for QueryProjectUsageResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.usage_records.is_empty() {
len += 1;
}
if !self.next_page_token.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.QueryProjectUsageResponse",
len,
)?;
if !self.usage_records.is_empty() {
struct_ser.serialize_field("usageRecords", &self.usage_records)?;
}
if !self.next_page_token.is_empty() {
struct_ser.serialize_field("nextPageToken", &self.next_page_token)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for QueryProjectUsageResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"usage_records",
"usageRecords",
"next_page_token",
"nextPageToken",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
UsageRecords,
NextPageToken,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"usageRecords" | "usage_records" => {
Ok(GeneratedField::UsageRecords)
}
"nextPageToken" | "next_page_token" => {
Ok(GeneratedField::NextPageToken)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = QueryProjectUsageResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.QueryProjectUsageResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<QueryProjectUsageResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut usage_records__ = None;
let mut next_page_token__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::UsageRecords => {
if usage_records__.is_some() {
return Err(
serde::de::Error::duplicate_field("usageRecords"),
);
}
usage_records__ = Some(map_.next_value()?);
}
GeneratedField::NextPageToken => {
if next_page_token__.is_some() {
return Err(
serde::de::Error::duplicate_field("nextPageToken"),
);
}
next_page_token__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(QueryProjectUsageResponse {
usage_records: usage_records__.unwrap_or_default(),
next_page_token: next_page_token__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.QueryProjectUsageResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for ServiceCost {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.service.is_empty() {
len += 1;
}
if !self.total.is_empty() {
len += 1;
}
if !self.products.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.ServiceCost", len)?;
if !self.service.is_empty() {
struct_ser.serialize_field("service", &self.service)?;
}
if !self.total.is_empty() {
struct_ser.serialize_field("total", &self.total)?;
}
if !self.products.is_empty() {
struct_ser.serialize_field("products", &self.products)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for ServiceCost {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["service", "total", "products"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Service,
Total,
Products,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"service" => Ok(GeneratedField::Service),
"total" => Ok(GeneratedField::Total),
"products" => Ok(GeneratedField::Products),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = ServiceCost;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.ServiceCost")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<ServiceCost, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut service__ = None;
let mut total__ = None;
let mut products__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Service => {
if service__.is_some() {
return Err(serde::de::Error::duplicate_field("service"));
}
service__ = Some(map_.next_value()?);
}
GeneratedField::Total => {
if total__.is_some() {
return Err(serde::de::Error::duplicate_field("total"));
}
total__ = Some(map_.next_value()?);
}
GeneratedField::Products => {
if products__.is_some() {
return Err(serde::de::Error::duplicate_field("products"));
}
products__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(ServiceCost {
service: service__.unwrap_or_default(),
total: total__.unwrap_or_default(),
products: products__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.ServiceCost",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for SpendLimit {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
if self.limit.is_some() {
len += 1;
}
if !self.alert_thresholds_percent.is_empty() {
len += 1;
}
if !self.notification_emails.is_empty() {
len += 1;
}
if self.update_time.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.SpendLimit", len)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
if let Some(v) = self.limit.as_ref() {
struct_ser.serialize_field("limit", v)?;
}
if !self.alert_thresholds_percent.is_empty() {
struct_ser
.serialize_field(
"alertThresholdsPercent",
&self.alert_thresholds_percent,
)?;
}
if !self.notification_emails.is_empty() {
struct_ser.serialize_field("notificationEmails", &self.notification_emails)?;
}
if let Some(v) = self.update_time.as_ref() {
struct_ser.serialize_field("updateTime", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for SpendLimit {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"name",
"limit",
"alert_thresholds_percent",
"alertThresholdsPercent",
"notification_emails",
"notificationEmails",
"update_time",
"updateTime",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
Limit,
AlertThresholdsPercent,
NotificationEmails,
UpdateTime,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
"limit" => Ok(GeneratedField::Limit),
"alertThresholdsPercent" | "alert_thresholds_percent" => {
Ok(GeneratedField::AlertThresholdsPercent)
}
"notificationEmails" | "notification_emails" => {
Ok(GeneratedField::NotificationEmails)
}
"updateTime" | "update_time" => {
Ok(GeneratedField::UpdateTime)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = SpendLimit;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.SpendLimit")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<SpendLimit, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
let mut limit__ = None;
let mut alert_thresholds_percent__ = None;
let mut notification_emails__ = None;
let mut update_time__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::Limit => {
if limit__.is_some() {
return Err(serde::de::Error::duplicate_field("limit"));
}
limit__ = map_.next_value()?;
}
GeneratedField::AlertThresholdsPercent => {
if alert_thresholds_percent__.is_some() {
return Err(
serde::de::Error::duplicate_field("alertThresholdsPercent"),
);
}
alert_thresholds_percent__ = Some(
map_
.next_value::<
Vec<::pbjson::private::NumberDeserialize<_>>,
>()?
.into_iter()
.map(|x| x.0)
.collect(),
);
}
GeneratedField::NotificationEmails => {
if notification_emails__.is_some() {
return Err(
serde::de::Error::duplicate_field("notificationEmails"),
);
}
notification_emails__ = Some(map_.next_value()?);
}
GeneratedField::UpdateTime => {
if update_time__.is_some() {
return Err(serde::de::Error::duplicate_field("updateTime"));
}
update_time__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(SpendLimit {
name: name__.unwrap_or_default(),
limit: limit__,
alert_thresholds_percent: alert_thresholds_percent__
.unwrap_or_default(),
notification_emails: notification_emails__.unwrap_or_default(),
update_time: update_time__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.SpendLimit",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for StartPaymentMethodSetupRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.name.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
len,
)?;
if !self.name.is_empty() {
struct_ser.serialize_field("name", &self.name)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for StartPaymentMethodSetupRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["name"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
Name,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"name" => Ok(GeneratedField::Name),
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = StartPaymentMethodSetupRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<StartPaymentMethodSetupRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut name__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::Name => {
if name__.is_some() {
return Err(serde::de::Error::duplicate_field("name"));
}
name__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(StartPaymentMethodSetupRequest {
name: name__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.StartPaymentMethodSetupRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for StartPaymentMethodSetupResponse {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.redirect_uri.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
len,
)?;
if !self.redirect_uri.is_empty() {
struct_ser.serialize_field("redirectUri", &self.redirect_uri)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for StartPaymentMethodSetupResponse {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &["redirect_uri", "redirectUri"];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
RedirectUri,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"redirectUri" | "redirect_uri" => {
Ok(GeneratedField::RedirectUri)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = StartPaymentMethodSetupResponse;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<StartPaymentMethodSetupResponse, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut redirect_uri__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::RedirectUri => {
if redirect_uri__.is_some() {
return Err(
serde::de::Error::duplicate_field("redirectUri"),
);
}
redirect_uri__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(StartPaymentMethodSetupResponse {
redirect_uri: redirect_uri__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.StartPaymentMethodSetupResponse",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UpdateBillingAccountRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.billing_account.is_some() {
len += 1;
}
if self.update_mask.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.UpdateBillingAccountRequest",
len,
)?;
if let Some(v) = self.billing_account.as_ref() {
struct_ser.serialize_field("billingAccount", v)?;
}
if let Some(v) = self.update_mask.as_ref() {
struct_ser.serialize_field("updateMask", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UpdateBillingAccountRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"billing_account",
"billingAccount",
"update_mask",
"updateMask",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
BillingAccount,
UpdateMask,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"billingAccount" | "billing_account" => {
Ok(GeneratedField::BillingAccount)
}
"updateMask" | "update_mask" => {
Ok(GeneratedField::UpdateMask)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UpdateBillingAccountRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.UpdateBillingAccountRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UpdateBillingAccountRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut billing_account__ = None;
let mut update_mask__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::BillingAccount => {
if billing_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccount"),
);
}
billing_account__ = map_.next_value()?;
}
GeneratedField::UpdateMask => {
if update_mask__.is_some() {
return Err(serde::de::Error::duplicate_field("updateMask"));
}
update_mask__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UpdateBillingAccountRequest {
billing_account: billing_account__,
update_mask: update_mask__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.UpdateBillingAccountRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UpdateProjectBillingInfoRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.project_billing_info.is_some() {
len += 1;
}
if self.update_mask.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
len,
)?;
if let Some(v) = self.project_billing_info.as_ref() {
struct_ser.serialize_field("projectBillingInfo", v)?;
}
if let Some(v) = self.update_mask.as_ref() {
struct_ser.serialize_field("updateMask", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UpdateProjectBillingInfoRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"project_billing_info",
"projectBillingInfo",
"update_mask",
"updateMask",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
ProjectBillingInfo,
UpdateMask,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"projectBillingInfo" | "project_billing_info" => {
Ok(GeneratedField::ProjectBillingInfo)
}
"updateMask" | "update_mask" => {
Ok(GeneratedField::UpdateMask)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UpdateProjectBillingInfoRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UpdateProjectBillingInfoRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut project_billing_info__ = None;
let mut update_mask__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::ProjectBillingInfo => {
if project_billing_info__.is_some() {
return Err(
serde::de::Error::duplicate_field("projectBillingInfo"),
);
}
project_billing_info__ = map_.next_value()?;
}
GeneratedField::UpdateMask => {
if update_mask__.is_some() {
return Err(serde::de::Error::duplicate_field("updateMask"));
}
update_mask__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UpdateProjectBillingInfoRequest {
project_billing_info: project_billing_info__,
update_mask: update_mask__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.UpdateProjectBillingInfoRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UpdateSpendLimitRequest {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if self.spend_limit.is_some() {
len += 1;
}
if self.update_mask.is_some() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct(
"origincloud.billing.v1beta1.UpdateSpendLimitRequest",
len,
)?;
if let Some(v) = self.spend_limit.as_ref() {
struct_ser.serialize_field("spendLimit", v)?;
}
if let Some(v) = self.update_mask.as_ref() {
struct_ser.serialize_field("updateMask", v)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UpdateSpendLimitRequest {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"spend_limit",
"spendLimit",
"update_mask",
"updateMask",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
SpendLimit,
UpdateMask,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"spendLimit" | "spend_limit" => {
Ok(GeneratedField::SpendLimit)
}
"updateMask" | "update_mask" => {
Ok(GeneratedField::UpdateMask)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UpdateSpendLimitRequest;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter
.write_str(
"struct origincloud.billing.v1beta1.UpdateSpendLimitRequest",
)
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UpdateSpendLimitRequest, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut spend_limit__ = None;
let mut update_mask__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::SpendLimit => {
if spend_limit__.is_some() {
return Err(serde::de::Error::duplicate_field("spendLimit"));
}
spend_limit__ = map_.next_value()?;
}
GeneratedField::UpdateMask => {
if update_mask__.is_some() {
return Err(serde::de::Error::duplicate_field("updateMask"));
}
update_mask__ = map_.next_value()?;
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UpdateSpendLimitRequest {
spend_limit: spend_limit__,
update_mask: update_mask__,
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.UpdateSpendLimitRequest",
FIELDS,
GeneratedVisitor,
)
}
}
impl serde::Serialize for UsageRecord {
#[allow(deprecated)]
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
use serde::ser::SerializeStruct;
let mut len = 0;
if !self.resource_kind.is_empty() {
len += 1;
}
if !self.resource_id.is_empty() {
len += 1;
}
if !self.metric.is_empty() {
len += 1;
}
if !self.product_key.is_empty() {
len += 1;
}
if !self.quantity.is_empty() {
len += 1;
}
if self.start_time.is_some() {
len += 1;
}
if self.end_time.is_some() {
len += 1;
}
if !self.billing_account.is_empty() {
len += 1;
}
let mut struct_ser = serializer
.serialize_struct("origincloud.billing.v1beta1.UsageRecord", len)?;
if !self.resource_kind.is_empty() {
struct_ser.serialize_field("resourceKind", &self.resource_kind)?;
}
if !self.resource_id.is_empty() {
struct_ser.serialize_field("resourceId", &self.resource_id)?;
}
if !self.metric.is_empty() {
struct_ser.serialize_field("metric", &self.metric)?;
}
if !self.product_key.is_empty() {
struct_ser.serialize_field("productKey", &self.product_key)?;
}
if !self.quantity.is_empty() {
struct_ser.serialize_field("quantity", &self.quantity)?;
}
if let Some(v) = self.start_time.as_ref() {
struct_ser.serialize_field("startTime", v)?;
}
if let Some(v) = self.end_time.as_ref() {
struct_ser.serialize_field("endTime", v)?;
}
if !self.billing_account.is_empty() {
struct_ser.serialize_field("billingAccount", &self.billing_account)?;
}
struct_ser.end()
}
}
impl<'de> serde::Deserialize<'de> for UsageRecord {
#[allow(deprecated)]
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
const FIELDS: &[&str] = &[
"resource_kind",
"resourceKind",
"resource_id",
"resourceId",
"metric",
"product_key",
"productKey",
"quantity",
"start_time",
"startTime",
"end_time",
"endTime",
"billing_account",
"billingAccount",
];
#[allow(clippy::enum_variant_names)]
enum GeneratedField {
ResourceKind,
ResourceId,
Metric,
ProductKey,
Quantity,
StartTime,
EndTime,
BillingAccount,
__SkipField__,
}
impl<'de> serde::Deserialize<'de> for GeneratedField {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<GeneratedField, D::Error>
where
D: serde::Deserializer<'de>,
{
struct GeneratedVisitor;
impl serde::de::Visitor<'_> for GeneratedVisitor {
type Value = GeneratedField;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
write!(formatter, "expected one of: {:?}", & FIELDS)
}
#[allow(unused_variables)]
fn visit_str<E>(
self,
value: &str,
) -> std::result::Result<GeneratedField, E>
where
E: serde::de::Error,
{
match value {
"resourceKind" | "resource_kind" => {
Ok(GeneratedField::ResourceKind)
}
"resourceId" | "resource_id" => {
Ok(GeneratedField::ResourceId)
}
"metric" => Ok(GeneratedField::Metric),
"productKey" | "product_key" => {
Ok(GeneratedField::ProductKey)
}
"quantity" => Ok(GeneratedField::Quantity),
"startTime" | "start_time" => Ok(GeneratedField::StartTime),
"endTime" | "end_time" => Ok(GeneratedField::EndTime),
"billingAccount" | "billing_account" => {
Ok(GeneratedField::BillingAccount)
}
_ => Ok(GeneratedField::__SkipField__),
}
}
}
deserializer.deserialize_identifier(GeneratedVisitor)
}
}
struct GeneratedVisitor;
impl<'de> serde::de::Visitor<'de> for GeneratedVisitor {
type Value = UsageRecord;
fn expecting(
&self,
formatter: &mut std::fmt::Formatter<'_>,
) -> std::fmt::Result {
formatter.write_str("struct origincloud.billing.v1beta1.UsageRecord")
}
fn visit_map<V>(
self,
mut map_: V,
) -> std::result::Result<UsageRecord, V::Error>
where
V: serde::de::MapAccess<'de>,
{
let mut resource_kind__ = None;
let mut resource_id__ = None;
let mut metric__ = None;
let mut product_key__ = None;
let mut quantity__ = None;
let mut start_time__ = None;
let mut end_time__ = None;
let mut billing_account__ = None;
while let Some(k) = map_.next_key()? {
match k {
GeneratedField::ResourceKind => {
if resource_kind__.is_some() {
return Err(
serde::de::Error::duplicate_field("resourceKind"),
);
}
resource_kind__ = Some(map_.next_value()?);
}
GeneratedField::ResourceId => {
if resource_id__.is_some() {
return Err(serde::de::Error::duplicate_field("resourceId"));
}
resource_id__ = Some(map_.next_value()?);
}
GeneratedField::Metric => {
if metric__.is_some() {
return Err(serde::de::Error::duplicate_field("metric"));
}
metric__ = Some(map_.next_value()?);
}
GeneratedField::ProductKey => {
if product_key__.is_some() {
return Err(serde::de::Error::duplicate_field("productKey"));
}
product_key__ = Some(map_.next_value()?);
}
GeneratedField::Quantity => {
if quantity__.is_some() {
return Err(serde::de::Error::duplicate_field("quantity"));
}
quantity__ = Some(map_.next_value()?);
}
GeneratedField::StartTime => {
if start_time__.is_some() {
return Err(serde::de::Error::duplicate_field("startTime"));
}
start_time__ = map_.next_value()?;
}
GeneratedField::EndTime => {
if end_time__.is_some() {
return Err(serde::de::Error::duplicate_field("endTime"));
}
end_time__ = map_.next_value()?;
}
GeneratedField::BillingAccount => {
if billing_account__.is_some() {
return Err(
serde::de::Error::duplicate_field("billingAccount"),
);
}
billing_account__ = Some(map_.next_value()?);
}
GeneratedField::__SkipField__ => {
let _ = map_.next_value::<serde::de::IgnoredAny>()?;
}
}
}
Ok(UsageRecord {
resource_kind: resource_kind__.unwrap_or_default(),
resource_id: resource_id__.unwrap_or_default(),
metric: metric__.unwrap_or_default(),
product_key: product_key__.unwrap_or_default(),
quantity: quantity__.unwrap_or_default(),
start_time: start_time__,
end_time: end_time__,
billing_account: billing_account__.unwrap_or_default(),
})
}
}
deserializer
.deserialize_struct(
"origincloud.billing.v1beta1.UsageRecord",
FIELDS,
GeneratedVisitor,
)
}
}
#[derive(Clone, Debug)]
pub struct BillingAccountClient {
service: ::origincloud_core::Service,
}
impl BillingAccountClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn get_billing_account(
&self,
mut request: GetBillingAccountRequest,
) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn list_billing_accounts(
&self,
mut request: ListBillingAccountsRequest,
) -> ::core::result::Result<ListBillingAccountsResponse, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name("parent", &request.parent, &["resourcemanager"])?;
let p0 = ::origincloud_core::path_value("parent", &n0, "organizations/*")?;
request.parent = n0;
let query = ::origincloud_core::query(&request, &["parent"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/billingAccounts"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_billing_accounts(
&self,
request: ListBillingAccountsRequest,
) -> ::origincloud_core::Pages<BillingAccount> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListBillingAccountsRequest| {
let client = client.clone();
async move {
let page = client.list_billing_accounts(request).await?;
Ok((page.billing_accounts, page.next_page_token))
}
},
|request: &mut ListBillingAccountsRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn create_billing_account(
&self,
mut request: CreateBillingAccountRequest,
) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
if request.request_id.is_empty() {
request.request_id = ::origincloud_core::new_request_id();
}
let n0 = self
.service
.relative_name("parent", &request.parent, &["resourcemanager"])?;
let p0 = ::origincloud_core::path_value("parent", &n0, "organizations/*")?;
request.parent = n0;
let body = ::origincloud_core::json_body(
request
.billing_account
.as_ref()
.unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(&request, &["parent", "billingAccount"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}/billingAccounts"),
)
.with_body(body)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn update_billing_account(
&self,
mut request: UpdateBillingAccountRequest,
) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name(
"billingAccount.name",
request.billing_account.as_ref().map_or("", |m| m.name.as_str()),
&["billing"],
)?;
let p0 = ::origincloud_core::path_value(
"billingAccount.name",
&n0,
"organizations/*/billingAccounts/*",
)?;
if let Some(m) = request.billing_account.as_mut() {
m.name = n0;
}
let body = ::origincloud_core::json_body(
request
.billing_account
.as_ref()
.unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(
&request,
&["billingAccount.name", "billingAccount"],
)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::PATCH,
format!("/v1beta1/{p0}"),
)
.with_body(body)
.with_query(query);
self.service.call(call).await
}
pub async fn delete_billing_account(
&self,
mut request: DeleteBillingAccountRequest,
) -> ::core::result::Result<
::origincloud_core::protobuf::Empty,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::DELETE,
format!("/v1beta1/{p0}"),
)
.with_query(query);
self.service.call(call).await
}
pub async fn start_payment_method_setup(
&self,
mut request: StartPaymentMethodSetupRequest,
) -> ::core::result::Result<
StartPaymentMethodSetupResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}:startPaymentMethodSetup"),
)
.with_body(body);
self.service.call(call).await
}
pub async fn confirm_payment_method_setup(
&self,
mut request: ConfirmPaymentMethodSetupRequest,
) -> ::core::result::Result<BillingAccount, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}:confirmPaymentMethodSetup"),
)
.with_body(body);
self.service.call(call).await
}
pub async fn get_project_billing_info(
&self,
mut request: GetProjectBillingInfoRequest,
) -> ::core::result::Result<ProjectBillingInfo, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value("name", &n0, "projects/*/billingInfo")?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn update_project_billing_info(
&self,
mut request: UpdateProjectBillingInfoRequest,
) -> ::core::result::Result<ProjectBillingInfo, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name(
"projectBillingInfo.name",
request.project_billing_info.as_ref().map_or("", |m| m.name.as_str()),
&["billing"],
)?;
let p0 = ::origincloud_core::path_value(
"projectBillingInfo.name",
&n0,
"projects/*/billingInfo",
)?;
if let Some(m) = request.project_billing_info.as_mut() {
m.name = n0;
}
let body = ::origincloud_core::json_body(
request
.project_billing_info
.as_ref()
.unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(
&request,
&["projectBillingInfo.name", "projectBillingInfo"],
)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::PATCH,
format!("/v1beta1/{p0}"),
)
.with_body(body)
.with_query(query);
self.service.call(call).await
}
pub async fn list_project_billing_info(
&self,
mut request: ListProjectBillingInfoRequest,
) -> ::core::result::Result<
ListProjectBillingInfoResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/projects"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_project_billing_infos(
&self,
request: ListProjectBillingInfoRequest,
) -> ::origincloud_core::Pages<ProjectBillingInfo> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListProjectBillingInfoRequest| {
let client = client.clone();
async move {
let page = client.list_project_billing_info(request).await?;
Ok((page.project_billing_infos, page.next_page_token))
}
},
|request: &mut ListProjectBillingInfoRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn get_billing_country(
&self,
mut request: GetBillingCountryRequest,
) -> ::core::result::Result<BillingCountry, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value("name", &n0, "billingCountries/*")?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn list_billing_countries(
&self,
request: ListBillingCountriesRequest,
) -> ::core::result::Result<
ListBillingCountriesResponse,
::origincloud_core::Error,
> {
let query = ::origincloud_core::query(&request, &[])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
::std::string::String::from("/v1beta1/billingCountries"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_billing_countries(
&self,
request: ListBillingCountriesRequest,
) -> ::origincloud_core::Pages<BillingCountry> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListBillingCountriesRequest| {
let client = client.clone();
async move {
let page = client.list_billing_countries(request).await?;
Ok((page.billing_countries, page.next_page_token))
}
},
|request: &mut ListBillingCountriesRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
}
#[derive(Clone, Debug)]
pub struct CostClient {
service: ::origincloud_core::Service,
}
impl CostClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn query_project_cost(
&self,
mut request: QueryProjectCostRequest,
) -> ::core::result::Result<CostReport, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name("project", &request.project, &["resourcemanager"])?;
let p0 = ::origincloud_core::path_value("project", &n0, "projects/*")?;
request.project = n0;
let query = ::origincloud_core::query(&request, &["project"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:queryCost"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn query_organization_cost(
&self,
mut request: QueryOrganizationCostRequest,
) -> ::core::result::Result<OrganizationCostReport, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name("organization", &request.organization, &["resourcemanager"])?;
let p0 = ::origincloud_core::path_value("organization", &n0, "organizations/*")?;
request.organization = n0;
let query = ::origincloud_core::query(&request, &["organization"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:queryCost"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn query_billing_account_cost(
&self,
mut request: QueryBillingAccountCostRequest,
) -> ::core::result::Result<CostReport, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name("billingAccount", &request.billing_account, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"billingAccount",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.billing_account = n0;
let query = ::origincloud_core::query(&request, &["billingAccount"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:queryCost"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn query_project_usage(
&self,
mut request: QueryProjectUsageRequest,
) -> ::core::result::Result<QueryProjectUsageResponse, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name("project", &request.project, &["resourcemanager"])?;
let p0 = ::origincloud_core::path_value("project", &n0, "projects/*")?;
request.project = n0;
let query = ::origincloud_core::query(&request, &["project"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:queryUsage"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_usage_records(
&self,
request: QueryProjectUsageRequest,
) -> ::origincloud_core::Pages<UsageRecord> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: QueryProjectUsageRequest| {
let client = client.clone();
async move {
let page = client.query_project_usage(request).await?;
Ok((page.usage_records, page.next_page_token))
}
},
|request: &mut QueryProjectUsageRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
}
#[derive(Clone, Debug)]
pub struct LegalAcceptanceClient {
service: ::origincloud_core::Service,
}
impl LegalAcceptanceClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn list_legal_acceptances(
&self,
mut request: ListLegalAcceptancesRequest,
) -> ::core::result::Result<
ListLegalAcceptancesResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("parent", &request.parent, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"parent",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.parent = n0;
let query = ::origincloud_core::query(&request, &["parent"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/legalAcceptances"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub fn all_legal_acceptances(
&self,
request: ListLegalAcceptancesRequest,
) -> ::origincloud_core::Pages<LegalAcceptance> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListLegalAcceptancesRequest| {
let client = client.clone();
async move {
let page = client.list_legal_acceptances(request).await?;
Ok((page.legal_acceptances, page.next_page_token))
}
},
|request: &mut ListLegalAcceptancesRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn get_legal_acceptance(
&self,
mut request: GetLegalAcceptanceRequest,
) -> ::core::result::Result<LegalAcceptance, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*/legalAcceptances/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn accept_legal_documents(
&self,
mut request: AcceptLegalDocumentsRequest,
) -> ::core::result::Result<
ListLegalAcceptancesResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let body = ::origincloud_core::json_body(&request)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::POST,
format!("/v1beta1/{p0}:acceptLegalDocuments"),
)
.with_body(body)
.idempotent();
self.service.call(call).await
}
pub async fn query_legal_requirements(
&self,
mut request: QueryLegalRequirementsRequest,
) -> ::core::result::Result<
QueryLegalRequirementsResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:queryLegalRequirements"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
}
#[derive(Clone, Debug)]
pub struct LegalDocumentClient {
service: ::origincloud_core::Service,
}
impl LegalDocumentClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn list_legal_documents(
&self,
request: ListLegalDocumentsRequest,
) -> ::core::result::Result<ListLegalDocumentsResponse, ::origincloud_core::Error> {
let query = ::origincloud_core::query(&request, &[])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
::std::string::String::from("/v1beta1/legalDocuments"),
)
.with_query(query)
.idempotent()
.unauthenticated();
self.service.call(call).await
}
pub fn all_legal_documents(
&self,
request: ListLegalDocumentsRequest,
) -> ::origincloud_core::Pages<LegalDocument> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListLegalDocumentsRequest| {
let client = client.clone();
async move {
let page = client.list_legal_documents(request).await?;
Ok((page.legal_documents, page.next_page_token))
}
},
|request: &mut ListLegalDocumentsRequest, token: ::std::string::String| {
request.page_token = token;
},
)
}
pub async fn get_legal_document(
&self,
mut request: GetLegalDocumentRequest,
) -> ::core::result::Result<LegalDocument, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value("name", &n0, "legalDocuments/*")?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent()
.unauthenticated();
self.service.call(call).await
}
pub async fn list_legal_document_versions(
&self,
mut request: ListLegalDocumentVersionsRequest,
) -> ::core::result::Result<
ListLegalDocumentVersionsResponse,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("parent", &request.parent, &["billing"])?;
let p0 = ::origincloud_core::path_value("parent", &n0, "legalDocuments/*")?;
request.parent = n0;
let query = ::origincloud_core::query(&request, &["parent"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}/versions"),
)
.with_query(query)
.idempotent()
.unauthenticated();
self.service.call(call).await
}
pub fn all_legal_document_versions(
&self,
request: ListLegalDocumentVersionsRequest,
) -> ::origincloud_core::Pages<LegalDocumentVersion> {
let client = self.clone();
::origincloud_core::Pages::new(
request,
move |request: ListLegalDocumentVersionsRequest| {
let client = client.clone();
async move {
let page = client.list_legal_document_versions(request).await?;
Ok((page.legal_document_versions, page.next_page_token))
}
},
|
request: &mut ListLegalDocumentVersionsRequest,
token: ::std::string::String|
request.page_token = token,
)
}
pub async fn get_legal_document_version(
&self,
mut request: GetLegalDocumentVersionRequest,
) -> ::core::result::Result<LegalDocumentVersion, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"legalDocuments/*/versions/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent()
.unauthenticated();
self.service.call(call).await
}
pub async fn download_legal_document_version(
&self,
mut request: DownloadLegalDocumentVersionRequest,
) -> ::core::result::Result<
::origincloud_core::HttpBody,
::origincloud_core::Error,
> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"legalDocuments/*/versions/*",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}:download"),
)
.with_query(query)
.idempotent()
.unauthenticated();
self.service.call_http_body(call).await
}
}
#[derive(Clone, Debug)]
pub struct PriceListClient {
service: ::origincloud_core::Service,
}
impl PriceListClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn get_price_list(
&self,
request: GetPriceListRequest,
) -> ::core::result::Result<PriceList, ::origincloud_core::Error> {
let query = ::origincloud_core::query(&request, &[])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
::std::string::String::from("/v1/pricing"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
}
#[derive(Clone, Debug)]
pub struct SpendLimitClient {
service: ::origincloud_core::Service,
}
impl SpendLimitClient {
pub fn new(client: &::origincloud_core::Client) -> Self {
Self {
service: client.service("billing", false),
}
}
pub fn service(&self) -> &::origincloud_core::Service {
&self.service
}
pub fn with_options(&self, options: ::origincloud_core::CallOptions) -> Self {
Self {
service: self.service.with_options(options),
}
}
pub async fn get_spend_limit(
&self,
mut request: GetSpendLimitRequest,
) -> ::core::result::Result<SpendLimit, ::origincloud_core::Error> {
let n0 = self.service.relative_name("name", &request.name, &["billing"])?;
let p0 = ::origincloud_core::path_value(
"name",
&n0,
"organizations/*/billingAccounts/*/spendLimit",
)?;
request.name = n0;
let query = ::origincloud_core::query(&request, &["name"])?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::GET,
format!("/v1beta1/{p0}"),
)
.with_query(query)
.idempotent();
self.service.call(call).await
}
pub async fn update_spend_limit(
&self,
mut request: UpdateSpendLimitRequest,
) -> ::core::result::Result<SpendLimit, ::origincloud_core::Error> {
let n0 = self
.service
.relative_name(
"spendLimit.name",
request.spend_limit.as_ref().map_or("", |m| m.name.as_str()),
&["billing"],
)?;
let p0 = ::origincloud_core::path_value(
"spendLimit.name",
&n0,
"organizations/*/billingAccounts/*/spendLimit",
)?;
if let Some(m) = request.spend_limit.as_mut() {
m.name = n0;
}
let body = ::origincloud_core::json_body(
request.spend_limit.as_ref().unwrap_or(&::core::default::Default::default()),
)?;
let query = ::origincloud_core::query(
&request,
&["spendLimit.name", "spendLimit"],
)?;
let call = ::origincloud_core::Request::new(
::origincloud_core::Method::PATCH,
format!("/v1beta1/{p0}"),
)
.with_body(body)
.with_query(query);
self.service.call(call).await
}
}