#[allow(unused_imports)]
use super::*;
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::CheckError {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__code,
__subject,
__detail,
__status,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for CheckError")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"code" => Ok(__FieldTag::__code),
"subject" => Ok(__FieldTag::__subject),
"detail" => Ok(__FieldTag::__detail),
"status" => Ok(__FieldTag::__status),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::CheckError;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct CheckError")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__code => {
if !fields.insert(__FieldTag::__code) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for code",
));
}
result.code = map
.next_value::<std::option::Option<crate::model::check_error::Code>>(
)?
.unwrap_or_default();
}
__FieldTag::__subject => {
if !fields.insert(__FieldTag::__subject) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for subject",
));
}
result.subject = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__detail => {
if !fields.insert(__FieldTag::__detail) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for detail",
));
}
result.detail = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__status => {
if !fields.insert(__FieldTag::__status) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for status",
));
}
result.status = map
.next_value::<std::option::Option<google_cloud_rpc::model::Status>>(
)?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Distribution {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__count,
__mean,
__minimum,
__maximum,
__sum_of_squared_deviation,
__bucket_counts,
__linear_buckets,
__exponential_buckets,
__explicit_buckets,
__exemplars,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for Distribution")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"count" => Ok(__FieldTag::__count),
"mean" => Ok(__FieldTag::__mean),
"minimum" => Ok(__FieldTag::__minimum),
"maximum" => Ok(__FieldTag::__maximum),
"sumOfSquaredDeviation" => Ok(__FieldTag::__sum_of_squared_deviation),
"sum_of_squared_deviation" => {
Ok(__FieldTag::__sum_of_squared_deviation)
}
"bucketCounts" => Ok(__FieldTag::__bucket_counts),
"bucket_counts" => Ok(__FieldTag::__bucket_counts),
"linearBuckets" => Ok(__FieldTag::__linear_buckets),
"linear_buckets" => Ok(__FieldTag::__linear_buckets),
"exponentialBuckets" => Ok(__FieldTag::__exponential_buckets),
"exponential_buckets" => Ok(__FieldTag::__exponential_buckets),
"explicitBuckets" => Ok(__FieldTag::__explicit_buckets),
"explicit_buckets" => Ok(__FieldTag::__explicit_buckets),
"exemplars" => Ok(__FieldTag::__exemplars),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::Distribution;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct Distribution")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__count => {
if !fields.insert(__FieldTag::__count) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for count",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.count = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__mean => {
if !fields.insert(__FieldTag::__mean) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for mean",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.mean = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__minimum => {
if !fields.insert(__FieldTag::__minimum) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for minimum",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.minimum = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__maximum => {
if !fields.insert(__FieldTag::__maximum) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for maximum",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.maximum = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__sum_of_squared_deviation => {
if !fields.insert(__FieldTag::__sum_of_squared_deviation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for sum_of_squared_deviation",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.sum_of_squared_deviation =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__bucket_counts => {
if !fields.insert(__FieldTag::__bucket_counts) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for bucket_counts",
));
}
struct __With(std::option::Option<std::vec::Vec<i64>>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::<
std::option::Option<std::vec::Vec<wkt::internal::I64>>,
>::deserialize(deserializer)
.map(__With)
}
}
result.bucket_counts =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__linear_buckets => {
if !fields.insert(__FieldTag::__linear_buckets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for linear_buckets",
));
}
if result.bucket_option.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `bucket_option`, a oneof with full ID .google.api.servicecontrol.v1.Distribution.linear_buckets, latest field was linearBuckets",
));
}
result.bucket_option = std::option::Option::Some(
crate::model::distribution::BucketOption::LinearBuckets(
map.next_value::<std::option::Option<
std::boxed::Box<crate::model::distribution::LinearBuckets>,
>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__exponential_buckets => {
if !fields.insert(__FieldTag::__exponential_buckets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for exponential_buckets",
));
}
if result.bucket_option.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `bucket_option`, a oneof with full ID .google.api.servicecontrol.v1.Distribution.exponential_buckets, latest field was exponentialBuckets",
));
}
result.bucket_option = std::option::Option::Some(
crate::model::distribution::BucketOption::ExponentialBuckets(
map.next_value::<std::option::Option<
std::boxed::Box<
crate::model::distribution::ExponentialBuckets,
>,
>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__explicit_buckets => {
if !fields.insert(__FieldTag::__explicit_buckets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for explicit_buckets",
));
}
if result.bucket_option.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `bucket_option`, a oneof with full ID .google.api.servicecontrol.v1.Distribution.explicit_buckets, latest field was explicitBuckets",
));
}
result.bucket_option = std::option::Option::Some(
crate::model::distribution::BucketOption::ExplicitBuckets(
map.next_value::<std::option::Option<
std::boxed::Box<
crate::model::distribution::ExplicitBuckets,
>,
>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__exemplars => {
if !fields.insert(__FieldTag::__exemplars) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for exemplars",
));
}
result.exemplars = map
.next_value::<std::option::Option<
std::vec::Vec<google_cloud_api::model::distribution::Exemplar>,
>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::distribution::LinearBuckets {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__num_finite_buckets,
__width,
__offset,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LinearBuckets")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"numFiniteBuckets" => Ok(__FieldTag::__num_finite_buckets),
"num_finite_buckets" => Ok(__FieldTag::__num_finite_buckets),
"width" => Ok(__FieldTag::__width),
"offset" => Ok(__FieldTag::__offset),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::distribution::LinearBuckets;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LinearBuckets")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__num_finite_buckets => {
if !fields.insert(__FieldTag::__num_finite_buckets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for num_finite_buckets",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.num_finite_buckets =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__width => {
if !fields.insert(__FieldTag::__width) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for width",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.width = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__offset => {
if !fields.insert(__FieldTag::__offset) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for offset",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.offset = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::distribution::ExponentialBuckets {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__num_finite_buckets,
__growth_factor,
__scale,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ExponentialBuckets")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"numFiniteBuckets" => Ok(__FieldTag::__num_finite_buckets),
"num_finite_buckets" => Ok(__FieldTag::__num_finite_buckets),
"growthFactor" => Ok(__FieldTag::__growth_factor),
"growth_factor" => Ok(__FieldTag::__growth_factor),
"scale" => Ok(__FieldTag::__scale),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::distribution::ExponentialBuckets;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ExponentialBuckets")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__num_finite_buckets => {
if !fields.insert(__FieldTag::__num_finite_buckets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for num_finite_buckets",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.num_finite_buckets =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__growth_factor => {
if !fields.insert(__FieldTag::__growth_factor) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for growth_factor",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.growth_factor =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__scale => {
if !fields.insert(__FieldTag::__scale) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for scale",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
result.scale = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::distribution::ExplicitBuckets {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__bounds,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ExplicitBuckets")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"bounds" => Ok(__FieldTag::__bounds),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::distribution::ExplicitBuckets;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ExplicitBuckets")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__bounds => {
if !fields.insert(__FieldTag::__bounds) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for bounds",
));
}
struct __With(std::option::Option<std::vec::Vec<f64>>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::<
std::option::Option<std::vec::Vec<wkt::internal::F64>>,
>::deserialize(deserializer)
.map(__With)
}
}
result.bounds = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::HttpRequest {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__request_method,
__request_url,
__request_size,
__status,
__response_size,
__user_agent,
__remote_ip,
__server_ip,
__referer,
__latency,
__cache_lookup,
__cache_hit,
__cache_validated_with_origin_server,
__cache_fill_bytes,
__protocol,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for HttpRequest")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"requestMethod" => Ok(__FieldTag::__request_method),
"request_method" => Ok(__FieldTag::__request_method),
"requestUrl" => Ok(__FieldTag::__request_url),
"request_url" => Ok(__FieldTag::__request_url),
"requestSize" => Ok(__FieldTag::__request_size),
"request_size" => Ok(__FieldTag::__request_size),
"status" => Ok(__FieldTag::__status),
"responseSize" => Ok(__FieldTag::__response_size),
"response_size" => Ok(__FieldTag::__response_size),
"userAgent" => Ok(__FieldTag::__user_agent),
"user_agent" => Ok(__FieldTag::__user_agent),
"remoteIp" => Ok(__FieldTag::__remote_ip),
"remote_ip" => Ok(__FieldTag::__remote_ip),
"serverIp" => Ok(__FieldTag::__server_ip),
"server_ip" => Ok(__FieldTag::__server_ip),
"referer" => Ok(__FieldTag::__referer),
"latency" => Ok(__FieldTag::__latency),
"cacheLookup" => Ok(__FieldTag::__cache_lookup),
"cache_lookup" => Ok(__FieldTag::__cache_lookup),
"cacheHit" => Ok(__FieldTag::__cache_hit),
"cache_hit" => Ok(__FieldTag::__cache_hit),
"cacheValidatedWithOriginServer" => {
Ok(__FieldTag::__cache_validated_with_origin_server)
}
"cache_validated_with_origin_server" => {
Ok(__FieldTag::__cache_validated_with_origin_server)
}
"cacheFillBytes" => Ok(__FieldTag::__cache_fill_bytes),
"cache_fill_bytes" => Ok(__FieldTag::__cache_fill_bytes),
"protocol" => Ok(__FieldTag::__protocol),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::HttpRequest;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct HttpRequest")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__request_method => {
if !fields.insert(__FieldTag::__request_method) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for request_method",
));
}
result.request_method = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__request_url => {
if !fields.insert(__FieldTag::__request_url) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for request_url",
));
}
result.request_url = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__request_size => {
if !fields.insert(__FieldTag::__request_size) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for request_size",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.request_size = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__status => {
if !fields.insert(__FieldTag::__status) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for status",
));
}
struct __With(std::option::Option<i32>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I32> >::deserialize(deserializer).map(__With)
}
}
result.status = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__response_size => {
if !fields.insert(__FieldTag::__response_size) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for response_size",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.response_size =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__user_agent => {
if !fields.insert(__FieldTag::__user_agent) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for user_agent",
));
}
result.user_agent = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__remote_ip => {
if !fields.insert(__FieldTag::__remote_ip) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for remote_ip",
));
}
result.remote_ip = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__server_ip => {
if !fields.insert(__FieldTag::__server_ip) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for server_ip",
));
}
result.server_ip = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__referer => {
if !fields.insert(__FieldTag::__referer) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for referer",
));
}
result.referer = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__latency => {
if !fields.insert(__FieldTag::__latency) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for latency",
));
}
result.latency =
map.next_value::<std::option::Option<wkt::Duration>>()?;
}
__FieldTag::__cache_lookup => {
if !fields.insert(__FieldTag::__cache_lookup) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for cache_lookup",
));
}
result.cache_lookup = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__cache_hit => {
if !fields.insert(__FieldTag::__cache_hit) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for cache_hit",
));
}
result.cache_hit = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__cache_validated_with_origin_server => {
if !fields.insert(__FieldTag::__cache_validated_with_origin_server) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for cache_validated_with_origin_server",
));
}
result.cache_validated_with_origin_server = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__cache_fill_bytes => {
if !fields.insert(__FieldTag::__cache_fill_bytes) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for cache_fill_bytes",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.cache_fill_bytes =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__protocol => {
if !fields.insert(__FieldTag::__protocol) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for protocol",
));
}
result.protocol = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LogEntry {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__name,
__timestamp,
__severity,
__http_request,
__trace,
__insert_id,
__labels,
__proto_payload,
__text_payload,
__struct_payload,
__operation,
__source_location,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LogEntry")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"name" => Ok(__FieldTag::__name),
"timestamp" => Ok(__FieldTag::__timestamp),
"severity" => Ok(__FieldTag::__severity),
"httpRequest" => Ok(__FieldTag::__http_request),
"http_request" => Ok(__FieldTag::__http_request),
"trace" => Ok(__FieldTag::__trace),
"insertId" => Ok(__FieldTag::__insert_id),
"insert_id" => Ok(__FieldTag::__insert_id),
"labels" => Ok(__FieldTag::__labels),
"protoPayload" => Ok(__FieldTag::__proto_payload),
"proto_payload" => Ok(__FieldTag::__proto_payload),
"textPayload" => Ok(__FieldTag::__text_payload),
"text_payload" => Ok(__FieldTag::__text_payload),
"structPayload" => Ok(__FieldTag::__struct_payload),
"struct_payload" => Ok(__FieldTag::__struct_payload),
"operation" => Ok(__FieldTag::__operation),
"sourceLocation" => Ok(__FieldTag::__source_location),
"source_location" => Ok(__FieldTag::__source_location),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LogEntry;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LogEntry")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__name => {
if !fields.insert(__FieldTag::__name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for name",
));
}
result.name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__timestamp => {
if !fields.insert(__FieldTag::__timestamp) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for timestamp",
));
}
result.timestamp =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__severity => {
if !fields.insert(__FieldTag::__severity) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for severity",
));
}
result.severity =
map.next_value::<std::option::Option<
google_cloud_logging_type::model::LogSeverity,
>>()?
.unwrap_or_default();
}
__FieldTag::__http_request => {
if !fields.insert(__FieldTag::__http_request) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for http_request",
));
}
result.http_request =
map.next_value::<std::option::Option<crate::model::HttpRequest>>()?;
}
__FieldTag::__trace => {
if !fields.insert(__FieldTag::__trace) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for trace",
));
}
result.trace = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__insert_id => {
if !fields.insert(__FieldTag::__insert_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for insert_id",
));
}
result.insert_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__labels => {
if !fields.insert(__FieldTag::__labels) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for labels",
));
}
result.labels = map
.next_value::<std::option::Option<
std::collections::HashMap<
std::string::String,
std::string::String,
>,
>>()?
.unwrap_or_default();
}
__FieldTag::__proto_payload => {
if !fields.insert(__FieldTag::__proto_payload) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for proto_payload",
));
}
if result.payload.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `payload`, a oneof with full ID .google.api.servicecontrol.v1.LogEntry.proto_payload, latest field was protoPayload",
));
}
result.payload = std::option::Option::Some(
crate::model::log_entry::Payload::ProtoPayload(
map.next_value::<std::option::Option<std::boxed::Box<wkt::Any>>>()?.unwrap_or_default()
),
);
}
__FieldTag::__text_payload => {
if !fields.insert(__FieldTag::__text_payload) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for text_payload",
));
}
if result.payload.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `payload`, a oneof with full ID .google.api.servicecontrol.v1.LogEntry.text_payload, latest field was textPayload",
));
}
result.payload = std::option::Option::Some(
crate::model::log_entry::Payload::TextPayload(
map.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__struct_payload => {
if !fields.insert(__FieldTag::__struct_payload) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for struct_payload",
));
}
if result.payload.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `payload`, a oneof with full ID .google.api.servicecontrol.v1.LogEntry.struct_payload, latest field was structPayload",
));
}
result.payload = std::option::Option::Some(
crate::model::log_entry::Payload::StructPayload(
map.next_value::<std::option::Option<std::boxed::Box<wkt::Struct>>>()?.unwrap_or_default()
),
);
}
__FieldTag::__operation => {
if !fields.insert(__FieldTag::__operation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation",
));
}
result.operation = map
.next_value::<std::option::Option<crate::model::LogEntryOperation>>(
)?;
}
__FieldTag::__source_location => {
if !fields.insert(__FieldTag::__source_location) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for source_location",
));
}
result.source_location = map.next_value::<std::option::Option<crate::model::LogEntrySourceLocation>>()?
;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LogEntryOperation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__id,
__producer,
__first,
__last,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LogEntryOperation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"id" => Ok(__FieldTag::__id),
"producer" => Ok(__FieldTag::__producer),
"first" => Ok(__FieldTag::__first),
"last" => Ok(__FieldTag::__last),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LogEntryOperation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LogEntryOperation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__id => {
if !fields.insert(__FieldTag::__id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for id",
));
}
result.id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__producer => {
if !fields.insert(__FieldTag::__producer) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for producer",
));
}
result.producer = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__first => {
if !fields.insert(__FieldTag::__first) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for first",
));
}
result.first = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::__last => {
if !fields.insert(__FieldTag::__last) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for last",
));
}
result.last = map
.next_value::<std::option::Option<bool>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::LogEntrySourceLocation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__file,
__line,
__function,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for LogEntrySourceLocation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"file" => Ok(__FieldTag::__file),
"line" => Ok(__FieldTag::__line),
"function" => Ok(__FieldTag::__function),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::LogEntrySourceLocation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct LogEntrySourceLocation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__file => {
if !fields.insert(__FieldTag::__file) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for file",
));
}
result.file = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__line => {
if !fields.insert(__FieldTag::__line) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for line",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.line = map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__function => {
if !fields.insert(__FieldTag::__function) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for function",
));
}
result.function = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::MetricValue {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__labels,
__start_time,
__end_time,
__bool_value,
__int64_value,
__double_value,
__string_value,
__distribution_value,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for MetricValue")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"labels" => Ok(__FieldTag::__labels),
"startTime" => Ok(__FieldTag::__start_time),
"start_time" => Ok(__FieldTag::__start_time),
"endTime" => Ok(__FieldTag::__end_time),
"end_time" => Ok(__FieldTag::__end_time),
"boolValue" => Ok(__FieldTag::__bool_value),
"bool_value" => Ok(__FieldTag::__bool_value),
"int64Value" => Ok(__FieldTag::__int64_value),
"int64_value" => Ok(__FieldTag::__int64_value),
"doubleValue" => Ok(__FieldTag::__double_value),
"double_value" => Ok(__FieldTag::__double_value),
"stringValue" => Ok(__FieldTag::__string_value),
"string_value" => Ok(__FieldTag::__string_value),
"distributionValue" => Ok(__FieldTag::__distribution_value),
"distribution_value" => Ok(__FieldTag::__distribution_value),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::MetricValue;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct MetricValue")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__labels => {
if !fields.insert(__FieldTag::__labels) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for labels",
));
}
result.labels = map
.next_value::<std::option::Option<
std::collections::HashMap<
std::string::String,
std::string::String,
>,
>>()?
.unwrap_or_default();
}
__FieldTag::__start_time => {
if !fields.insert(__FieldTag::__start_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for start_time",
));
}
result.start_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__end_time => {
if !fields.insert(__FieldTag::__end_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for end_time",
));
}
result.end_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__bool_value => {
if !fields.insert(__FieldTag::__bool_value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for bool_value",
));
}
if result.value.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `value`, a oneof with full ID .google.api.servicecontrol.v1.MetricValue.bool_value, latest field was boolValue",
));
}
result.value = std::option::Option::Some(
crate::model::metric_value::Value::BoolValue(
map.next_value::<std::option::Option<bool>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__int64_value => {
if !fields.insert(__FieldTag::__int64_value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for int64_value",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
if result.value.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `value`, a oneof with full ID .google.api.servicecontrol.v1.MetricValue.int64_value, latest field was int64Value",
));
}
result.value = std::option::Option::Some(
crate::model::metric_value::Value::Int64Value(
map.next_value::<__With>()?.0.unwrap_or_default(),
),
);
}
__FieldTag::__double_value => {
if !fields.insert(__FieldTag::__double_value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for double_value",
));
}
struct __With(std::option::Option<f64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::F64> >::deserialize(deserializer).map(__With)
}
}
if result.value.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `value`, a oneof with full ID .google.api.servicecontrol.v1.MetricValue.double_value, latest field was doubleValue",
));
}
result.value = std::option::Option::Some(
crate::model::metric_value::Value::DoubleValue(
map.next_value::<__With>()?.0.unwrap_or_default(),
),
);
}
__FieldTag::__string_value => {
if !fields.insert(__FieldTag::__string_value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for string_value",
));
}
if result.value.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `value`, a oneof with full ID .google.api.servicecontrol.v1.MetricValue.string_value, latest field was stringValue",
));
}
result.value = std::option::Option::Some(
crate::model::metric_value::Value::StringValue(
map.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::__distribution_value => {
if !fields.insert(__FieldTag::__distribution_value) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for distribution_value",
));
}
if result.value.is_some() {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for `value`, a oneof with full ID .google.api.servicecontrol.v1.MetricValue.distribution_value, latest field was distributionValue",
));
}
result.value = std::option::Option::Some(
crate::model::metric_value::Value::DistributionValue(
map.next_value::<std::option::Option<
std::boxed::Box<crate::model::Distribution>,
>>()?
.unwrap_or_default(),
),
);
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::MetricValueSet {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__metric_name,
__metric_values,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for MetricValueSet")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"metricName" => Ok(__FieldTag::__metric_name),
"metric_name" => Ok(__FieldTag::__metric_name),
"metricValues" => Ok(__FieldTag::__metric_values),
"metric_values" => Ok(__FieldTag::__metric_values),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::MetricValueSet;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct MetricValueSet")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__metric_name => {
if !fields.insert(__FieldTag::__metric_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for metric_name",
));
}
result.metric_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__metric_values => {
if !fields.insert(__FieldTag::__metric_values) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for metric_values",
));
}
result.metric_values = map.next_value::<std::option::Option<std::vec::Vec<crate::model::MetricValue>>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::Operation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__operation_id,
__operation_name,
__consumer_id,
__start_time,
__end_time,
__labels,
__metric_value_sets,
__log_entries,
__importance,
__extensions,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for Operation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"operationId" => Ok(__FieldTag::__operation_id),
"operation_id" => Ok(__FieldTag::__operation_id),
"operationName" => Ok(__FieldTag::__operation_name),
"operation_name" => Ok(__FieldTag::__operation_name),
"consumerId" => Ok(__FieldTag::__consumer_id),
"consumer_id" => Ok(__FieldTag::__consumer_id),
"startTime" => Ok(__FieldTag::__start_time),
"start_time" => Ok(__FieldTag::__start_time),
"endTime" => Ok(__FieldTag::__end_time),
"end_time" => Ok(__FieldTag::__end_time),
"labels" => Ok(__FieldTag::__labels),
"metricValueSets" => Ok(__FieldTag::__metric_value_sets),
"metric_value_sets" => Ok(__FieldTag::__metric_value_sets),
"logEntries" => Ok(__FieldTag::__log_entries),
"log_entries" => Ok(__FieldTag::__log_entries),
"importance" => Ok(__FieldTag::__importance),
"extensions" => Ok(__FieldTag::__extensions),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::Operation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct Operation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__operation_id => {
if !fields.insert(__FieldTag::__operation_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_id",
));
}
result.operation_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__operation_name => {
if !fields.insert(__FieldTag::__operation_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_name",
));
}
result.operation_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__consumer_id => {
if !fields.insert(__FieldTag::__consumer_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for consumer_id",
));
}
result.consumer_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__start_time => {
if !fields.insert(__FieldTag::__start_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for start_time",
));
}
result.start_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__end_time => {
if !fields.insert(__FieldTag::__end_time) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for end_time",
));
}
result.end_time =
map.next_value::<std::option::Option<wkt::Timestamp>>()?;
}
__FieldTag::__labels => {
if !fields.insert(__FieldTag::__labels) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for labels",
));
}
result.labels = map
.next_value::<std::option::Option<
std::collections::HashMap<
std::string::String,
std::string::String,
>,
>>()?
.unwrap_or_default();
}
__FieldTag::__metric_value_sets => {
if !fields.insert(__FieldTag::__metric_value_sets) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for metric_value_sets",
));
}
result.metric_value_sets =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::MetricValueSet>,
>>()?
.unwrap_or_default();
}
__FieldTag::__log_entries => {
if !fields.insert(__FieldTag::__log_entries) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for log_entries",
));
}
result.log_entries = map.next_value::<std::option::Option<std::vec::Vec<crate::model::LogEntry>>>()?.unwrap_or_default();
}
__FieldTag::__importance => {
if !fields.insert(__FieldTag::__importance) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for importance",
));
}
result.importance = map.next_value::<std::option::Option<crate::model::operation::Importance>>()?.unwrap_or_default();
}
__FieldTag::__extensions => {
if !fields.insert(__FieldTag::__extensions) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for extensions",
));
}
result.extensions = map
.next_value::<std::option::Option<std::vec::Vec<wkt::Any>>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AllocateQuotaRequest {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__service_name,
__allocate_operation,
__service_config_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for AllocateQuotaRequest")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"serviceName" => Ok(__FieldTag::__service_name),
"service_name" => Ok(__FieldTag::__service_name),
"allocateOperation" => Ok(__FieldTag::__allocate_operation),
"allocate_operation" => Ok(__FieldTag::__allocate_operation),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::AllocateQuotaRequest;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct AllocateQuotaRequest")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__service_name => {
if !fields.insert(__FieldTag::__service_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_name",
));
}
result.service_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__allocate_operation => {
if !fields.insert(__FieldTag::__allocate_operation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for allocate_operation",
));
}
result.allocate_operation = map
.next_value::<std::option::Option<crate::model::QuotaOperation>>(
)?;
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::QuotaOperation {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__operation_id,
__method_name,
__consumer_id,
__labels,
__quota_metrics,
__quota_mode,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for QuotaOperation")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"operationId" => Ok(__FieldTag::__operation_id),
"operation_id" => Ok(__FieldTag::__operation_id),
"methodName" => Ok(__FieldTag::__method_name),
"method_name" => Ok(__FieldTag::__method_name),
"consumerId" => Ok(__FieldTag::__consumer_id),
"consumer_id" => Ok(__FieldTag::__consumer_id),
"labels" => Ok(__FieldTag::__labels),
"quotaMetrics" => Ok(__FieldTag::__quota_metrics),
"quota_metrics" => Ok(__FieldTag::__quota_metrics),
"quotaMode" => Ok(__FieldTag::__quota_mode),
"quota_mode" => Ok(__FieldTag::__quota_mode),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::QuotaOperation;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct QuotaOperation")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__operation_id => {
if !fields.insert(__FieldTag::__operation_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_id",
));
}
result.operation_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__method_name => {
if !fields.insert(__FieldTag::__method_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for method_name",
));
}
result.method_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__consumer_id => {
if !fields.insert(__FieldTag::__consumer_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for consumer_id",
));
}
result.consumer_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__labels => {
if !fields.insert(__FieldTag::__labels) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for labels",
));
}
result.labels = map
.next_value::<std::option::Option<
std::collections::HashMap<
std::string::String,
std::string::String,
>,
>>()?
.unwrap_or_default();
}
__FieldTag::__quota_metrics => {
if !fields.insert(__FieldTag::__quota_metrics) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for quota_metrics",
));
}
result.quota_metrics =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::MetricValueSet>,
>>()?
.unwrap_or_default();
}
__FieldTag::__quota_mode => {
if !fields.insert(__FieldTag::__quota_mode) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for quota_mode",
));
}
result.quota_mode = map.next_value::<std::option::Option<crate::model::quota_operation::QuotaMode>>()?.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::AllocateQuotaResponse {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__operation_id,
__allocate_errors,
__quota_metrics,
__service_config_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for AllocateQuotaResponse")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"operationId" => Ok(__FieldTag::__operation_id),
"operation_id" => Ok(__FieldTag::__operation_id),
"allocateErrors" => Ok(__FieldTag::__allocate_errors),
"allocate_errors" => Ok(__FieldTag::__allocate_errors),
"quotaMetrics" => Ok(__FieldTag::__quota_metrics),
"quota_metrics" => Ok(__FieldTag::__quota_metrics),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::AllocateQuotaResponse;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct AllocateQuotaResponse")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__operation_id => {
if !fields.insert(__FieldTag::__operation_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_id",
));
}
result.operation_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__allocate_errors => {
if !fields.insert(__FieldTag::__allocate_errors) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for allocate_errors",
));
}
result.allocate_errors = map.next_value::<std::option::Option<std::vec::Vec<crate::model::QuotaError>>>()?.unwrap_or_default();
}
__FieldTag::__quota_metrics => {
if !fields.insert(__FieldTag::__quota_metrics) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for quota_metrics",
));
}
result.quota_metrics =
map.next_value::<std::option::Option<
std::vec::Vec<crate::model::MetricValueSet>,
>>()?
.unwrap_or_default();
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::QuotaError {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__code,
__subject,
__description,
__status,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for QuotaError")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"code" => Ok(__FieldTag::__code),
"subject" => Ok(__FieldTag::__subject),
"description" => Ok(__FieldTag::__description),
"status" => Ok(__FieldTag::__status),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::QuotaError;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct QuotaError")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__code => {
if !fields.insert(__FieldTag::__code) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for code",
));
}
result.code = map
.next_value::<std::option::Option<crate::model::quota_error::Code>>(
)?
.unwrap_or_default();
}
__FieldTag::__subject => {
if !fields.insert(__FieldTag::__subject) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for subject",
));
}
result.subject = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__description => {
if !fields.insert(__FieldTag::__description) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for description",
));
}
result.description = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__status => {
if !fields.insert(__FieldTag::__status) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for status",
));
}
result.status = map
.next_value::<std::option::Option<google_cloud_rpc::model::Status>>(
)?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::CheckRequest {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__service_name,
__operation,
__service_config_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for CheckRequest")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"serviceName" => Ok(__FieldTag::__service_name),
"service_name" => Ok(__FieldTag::__service_name),
"operation" => Ok(__FieldTag::__operation),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::CheckRequest;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct CheckRequest")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__service_name => {
if !fields.insert(__FieldTag::__service_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_name",
));
}
result.service_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__operation => {
if !fields.insert(__FieldTag::__operation) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation",
));
}
result.operation =
map.next_value::<std::option::Option<crate::model::Operation>>()?;
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::CheckResponse {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__operation_id,
__check_errors,
__service_config_id,
__service_rollout_id,
__check_info,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for CheckResponse")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"operationId" => Ok(__FieldTag::__operation_id),
"operation_id" => Ok(__FieldTag::__operation_id),
"checkErrors" => Ok(__FieldTag::__check_errors),
"check_errors" => Ok(__FieldTag::__check_errors),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
"serviceRolloutId" => Ok(__FieldTag::__service_rollout_id),
"service_rollout_id" => Ok(__FieldTag::__service_rollout_id),
"checkInfo" => Ok(__FieldTag::__check_info),
"check_info" => Ok(__FieldTag::__check_info),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::CheckResponse;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct CheckResponse")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__operation_id => {
if !fields.insert(__FieldTag::__operation_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_id",
));
}
result.operation_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__check_errors => {
if !fields.insert(__FieldTag::__check_errors) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for check_errors",
));
}
result.check_errors = map.next_value::<std::option::Option<std::vec::Vec<crate::model::CheckError>>>()?.unwrap_or_default();
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__service_rollout_id => {
if !fields.insert(__FieldTag::__service_rollout_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_rollout_id",
));
}
result.service_rollout_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__check_info => {
if !fields.insert(__FieldTag::__check_info) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for check_info",
));
}
result.check_info = map.next_value::<std::option::Option<crate::model::check_response::CheckInfo>>()?
;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::check_response::CheckInfo {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__unused_arguments,
__consumer_info,
__api_key_uid,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for CheckInfo")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"unusedArguments" => Ok(__FieldTag::__unused_arguments),
"unused_arguments" => Ok(__FieldTag::__unused_arguments),
"consumerInfo" => Ok(__FieldTag::__consumer_info),
"consumer_info" => Ok(__FieldTag::__consumer_info),
"apiKeyUid" => Ok(__FieldTag::__api_key_uid),
"api_key_uid" => Ok(__FieldTag::__api_key_uid),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::check_response::CheckInfo;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct CheckInfo")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__unused_arguments => {
if !fields.insert(__FieldTag::__unused_arguments) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for unused_arguments",
));
}
result.unused_arguments = map.next_value::<std::option::Option<std::vec::Vec<std::string::String>>>()?.unwrap_or_default();
}
__FieldTag::__consumer_info => {
if !fields.insert(__FieldTag::__consumer_info) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for consumer_info",
));
}
result.consumer_info = map.next_value::<std::option::Option<crate::model::check_response::ConsumerInfo>>()?
;
}
__FieldTag::__api_key_uid => {
if !fields.insert(__FieldTag::__api_key_uid) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for api_key_uid",
));
}
result.api_key_uid = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::check_response::ConsumerInfo {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__project_number,
__type,
__consumer_number,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ConsumerInfo")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"projectNumber" => Ok(__FieldTag::__project_number),
"project_number" => Ok(__FieldTag::__project_number),
"type" => Ok(__FieldTag::__type),
"consumerNumber" => Ok(__FieldTag::__consumer_number),
"consumer_number" => Ok(__FieldTag::__consumer_number),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::check_response::ConsumerInfo;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ConsumerInfo")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__project_number => {
if !fields.insert(__FieldTag::__project_number) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for project_number",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.project_number =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::__type => {
if !fields.insert(__FieldTag::__type) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for type",
));
}
result.r#type = map
.next_value::<std::option::Option<
crate::model::check_response::consumer_info::ConsumerType,
>>()?
.unwrap_or_default();
}
__FieldTag::__consumer_number => {
if !fields.insert(__FieldTag::__consumer_number) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for consumer_number",
));
}
struct __With(std::option::Option<i64>);
impl<'de> serde::de::Deserialize<'de> for __With {
fn deserialize<D>(
deserializer: D,
) -> std::result::Result<Self, D::Error>
where
D: serde::de::Deserializer<'de>,
{
serde_with::As::< std::option::Option<wkt::internal::I64> >::deserialize(deserializer).map(__With)
}
}
result.consumer_number =
map.next_value::<__With>()?.0.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ReportRequest {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__service_name,
__operations,
__service_config_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ReportRequest")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"serviceName" => Ok(__FieldTag::__service_name),
"service_name" => Ok(__FieldTag::__service_name),
"operations" => Ok(__FieldTag::__operations),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ReportRequest;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ReportRequest")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__service_name => {
if !fields.insert(__FieldTag::__service_name) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_name",
));
}
result.service_name = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__operations => {
if !fields.insert(__FieldTag::__operations) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operations",
));
}
result.operations = map.next_value::<std::option::Option<std::vec::Vec<crate::model::Operation>>>()?.unwrap_or_default();
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::ReportResponse {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__report_errors,
__service_config_id,
__service_rollout_id,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ReportResponse")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"reportErrors" => Ok(__FieldTag::__report_errors),
"report_errors" => Ok(__FieldTag::__report_errors),
"serviceConfigId" => Ok(__FieldTag::__service_config_id),
"service_config_id" => Ok(__FieldTag::__service_config_id),
"serviceRolloutId" => Ok(__FieldTag::__service_rollout_id),
"service_rollout_id" => Ok(__FieldTag::__service_rollout_id),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::ReportResponse;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ReportResponse")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__report_errors => {
if !fields.insert(__FieldTag::__report_errors) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for report_errors",
));
}
result.report_errors = map
.next_value::<std::option::Option<
std::vec::Vec<crate::model::report_response::ReportError>,
>>()?
.unwrap_or_default();
}
__FieldTag::__service_config_id => {
if !fields.insert(__FieldTag::__service_config_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_config_id",
));
}
result.service_config_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__service_rollout_id => {
if !fields.insert(__FieldTag::__service_rollout_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for service_rollout_id",
));
}
result.service_rollout_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}
#[doc(hidden)]
impl<'de> serde::de::Deserialize<'de> for super::report_response::ReportError {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
#[allow(non_camel_case_types)]
#[doc(hidden)]
#[derive(PartialEq, Eq, Hash)]
enum __FieldTag {
__operation_id,
__status,
Unknown(std::string::String),
}
impl<'de> serde::de::Deserialize<'de> for __FieldTag {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: serde::Deserializer<'de>,
{
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = __FieldTag;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("a field name for ReportError")
}
fn visit_str<E>(self, value: &str) -> std::result::Result<Self::Value, E>
where
E: serde::de::Error,
{
use std::result::Result::Ok;
use std::string::ToString;
match value {
"operationId" => Ok(__FieldTag::__operation_id),
"operation_id" => Ok(__FieldTag::__operation_id),
"status" => Ok(__FieldTag::__status),
_ => Ok(__FieldTag::Unknown(value.to_string())),
}
}
}
deserializer.deserialize_identifier(Visitor)
}
}
struct Visitor;
impl<'de> serde::de::Visitor<'de> for Visitor {
type Value = super::report_response::ReportError;
fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result {
formatter.write_str("struct ReportError")
}
fn visit_map<A>(self, mut map: A) -> std::result::Result<Self::Value, A::Error>
where
A: serde::de::MapAccess<'de>,
{
#[allow(unused_imports)]
use serde::de::Error;
use std::option::Option::Some;
let mut fields = std::collections::HashSet::new();
let mut result = Self::Value::new();
while let Some(tag) = map.next_key::<__FieldTag>()? {
#[allow(clippy::match_single_binding)]
match tag {
__FieldTag::__operation_id => {
if !fields.insert(__FieldTag::__operation_id) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for operation_id",
));
}
result.operation_id = map
.next_value::<std::option::Option<std::string::String>>()?
.unwrap_or_default();
}
__FieldTag::__status => {
if !fields.insert(__FieldTag::__status) {
return std::result::Result::Err(A::Error::duplicate_field(
"multiple values for status",
));
}
result.status = map
.next_value::<std::option::Option<google_cloud_rpc::model::Status>>(
)?;
}
__FieldTag::Unknown(key) => {
let value = map.next_value::<serde_json::Value>()?;
result._unknown_fields.insert(key, value);
}
}
}
std::result::Result::Ok(result)
}
}
deserializer.deserialize_any(Visitor)
}
}