pub struct ServiceMethods<'a, C>where
C: 'a,{ /* private fields */ }
Expand description
A builder providing access to all methods supported on service resources.
It is not used directly, but through the ServiceControl
hub.
§Example
Instantiate a resource builder
extern crate hyper;
extern crate hyper_rustls;
extern crate google_servicecontrol1 as servicecontrol1;
use servicecontrol1::{ServiceControl, FieldMask, hyper_rustls, hyper_util, yup_oauth2};
let secret: yup_oauth2::ApplicationSecret = Default::default();
let auth = yup_oauth2::InstalledFlowAuthenticator::builder(
secret,
yup_oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let client = hyper_util::client::legacy::Client::builder(
hyper_util::rt::TokioExecutor::new()
)
.build(
hyper_rustls::HttpsConnectorBuilder::new()
.with_native_roots()
.unwrap()
.https_or_http()
.enable_http1()
.build()
);
let mut hub = ServiceControl::new(client, auth);
// Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
// like `allocate_quota(...)`, `check(...)` and `report(...)`
// to build up your call.
let rb = hub.services();
Implementations§
Source§impl<'a, C> ServiceMethods<'a, C>
impl<'a, C> ServiceMethods<'a, C>
Sourcepub fn allocate_quota(
&self,
request: AllocateQuotaRequest,
service_name: &str,
) -> ServiceAllocateQuotaCall<'a, C>
pub fn allocate_quota( &self, request: AllocateQuotaRequest, service_name: &str, ) -> ServiceAllocateQuotaCall<'a, C>
Create a builder to help you perform the following task:
Attempts to allocate quota for the specified consumer. It should be called before the operation is executed. This method requires the servicemanagement.services.quota
permission on the specified service. For more information, see Cloud IAM. NOTE: The client must fail-open on server errors INTERNAL
, UNKNOWN
, DEADLINE_EXCEEDED
, and UNAVAILABLE
. To ensure system reliability, the server may inject these errors to prohibit any hard dependency on the quota functionality.
§Arguments
request
- No description provided.serviceName
- Name of the service as specified in the service configuration. For example,"pubsub.googleapis.com"
. See google.api.Service for the definition of a service name.
Sourcepub fn check(
&self,
request: CheckRequest,
service_name: &str,
) -> ServiceCheckCall<'a, C>
pub fn check( &self, request: CheckRequest, service_name: &str, ) -> ServiceCheckCall<'a, C>
Create a builder to help you perform the following task:
Checks whether an operation on a service should be allowed to proceed based on the configuration of the service and related policies. It must be called before the operation is executed. If feasible, the client should cache the check results and reuse them for 60 seconds. In case of any server errors, the client should rely on the cached results for much longer time to avoid outage. WARNING: There is general 60s delay for the configuration and policy propagation, therefore callers MUST NOT depend on the Check
method having the latest policy information. NOTE: the CheckRequest has the size limit (wire-format byte size) of 1MB. This method requires the servicemanagement.services.check
permission on the specified service. For more information, see Cloud IAM.
§Arguments
request
- No description provided.serviceName
- The service name as specified in its service configuration. For example,"pubsub.googleapis.com"
. See google.api.Service for the definition of a service name.
Sourcepub fn report(
&self,
request: ReportRequest,
service_name: &str,
) -> ServiceReportCall<'a, C>
pub fn report( &self, request: ReportRequest, service_name: &str, ) -> ServiceReportCall<'a, C>
Create a builder to help you perform the following task:
Reports operation results to Google Service Control, such as logs and metrics. It should be called after an operation is completed. If feasible, the client should aggregate reporting data for up to 5 seconds to reduce API traffic. Limiting aggregation to 5 seconds is to reduce data loss during client crashes. Clients should carefully choose the aggregation time window to avoid data loss risk more than 0.01% for business and compliance reasons. NOTE: the ReportRequest has the size limit (wire-format byte size) of 1MB. This method requires the servicemanagement.services.report
permission on the specified service. For more information, see Google Cloud IAM.
§Arguments
request
- No description provided.serviceName
- The service name as specified in its service configuration. For example,"pubsub.googleapis.com"
. See google.api.Service for the definition of a service name.
Trait Implementations§
impl<'a, C> MethodsBuilder for ServiceMethods<'a, C>
Auto Trait Implementations§
impl<'a, C> Freeze for ServiceMethods<'a, C>
impl<'a, C> !RefUnwindSafe for ServiceMethods<'a, C>
impl<'a, C> Send for ServiceMethods<'a, C>where
C: Sync,
impl<'a, C> Sync for ServiceMethods<'a, C>where
C: Sync,
impl<'a, C> Unpin for ServiceMethods<'a, C>
impl<'a, C> !UnwindSafe for ServiceMethods<'a, C>
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more