Struct google_api_proto::google::api::servicecontrol::v1::QuotaOperation
source · pub struct QuotaOperation {
pub operation_id: String,
pub method_name: String,
pub consumer_id: String,
pub labels: BTreeMap<String, String>,
pub quota_metrics: Vec<MetricValueSet>,
pub quota_mode: i32,
}
Expand description
Represents information regarding a quota operation.
Fields§
§operation_id: String
Identity of the operation. This is expected to be unique within the scope of the service that generated the operation, and guarantees idempotency in case of retries.
In order to ensure best performance and latency in the Quota backends, operation_ids are optimally associated with time, so that related operations can be accessed fast in storage. For this reason, the recommended token for services that intend to operate at a high QPS is Unix time in nanos + UUID
method_name: String
Fully qualified name of the API method for which this quota operation is requested. This name is used for matching quota rules or metric rules and billing status rules defined in service configuration.
This field should not be set if any of the following is true: (1) the quota operation is performed on non-API resources. (2) quota_metrics is set because the caller is doing quota override.
Example of an RPC method name: google.example.library.v1.LibraryService.CreateShelf
consumer_id: String
Identity of the consumer for whom this quota operation is being performed.
This can be in one of the following formats: project:<project_id>, project_number:<project_number>, api_key:<api_key>.
labels: BTreeMap<String, String>
Labels describing the operation.
quota_metrics: Vec<MetricValueSet>
Represents information about this operation. Each MetricValueSet corresponds to a metric defined in the service configuration. The data type used in the MetricValueSet must agree with the data type specified in the metric definition.
Within a single operation, it is not allowed to have more than one MetricValue instances that have the same metric names and identical label value combinations. If a request has such duplicated MetricValue instances, the entire request is rejected with an invalid argument error.
This field is mutually exclusive with method_name.
quota_mode: i32
Quota mode for this operation.
Implementations§
source§impl QuotaOperation
impl QuotaOperation
sourcepub fn quota_mode(&self) -> QuotaMode
pub fn quota_mode(&self) -> QuotaMode
Returns the enum value of quota_mode
, or the default if the field is set to an invalid enum value.
sourcepub fn set_quota_mode(&mut self, value: QuotaMode)
pub fn set_quota_mode(&mut self, value: QuotaMode)
Sets quota_mode
to the provided enum value.
Trait Implementations§
source§impl Clone for QuotaOperation
impl Clone for QuotaOperation
source§fn clone(&self) -> QuotaOperation
fn clone(&self) -> QuotaOperation
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for QuotaOperation
impl Debug for QuotaOperation
source§impl Default for QuotaOperation
impl Default for QuotaOperation
source§impl Message for QuotaOperation
impl Message for QuotaOperation
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for QuotaOperation
impl PartialEq for QuotaOperation
source§fn eq(&self, other: &QuotaOperation) -> bool
fn eq(&self, other: &QuotaOperation) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for QuotaOperation
Auto Trait Implementations§
impl Freeze for QuotaOperation
impl RefUnwindSafe for QuotaOperation
impl Send for QuotaOperation
impl Sync for QuotaOperation
impl Unpin for QuotaOperation
impl UnwindSafe for QuotaOperation
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request