regenerate all APIs and CLIs (#357)

This commit is contained in:
Sebastian Thiel
2022-09-14 08:40:12 +08:00
parent 0e011fcbe2
commit 7abe6a3de2
3505 changed files with 247010 additions and 176785 deletions

View File

@@ -1,15 +1,15 @@
# DO NOT EDIT !
# This file was generated automatically from 'src/mako/Cargo.toml.mako'
# This file was generated automatically from 'src/generator/templates/Cargo.toml.mako'
# DO NOT EDIT !
[package]
name = "google-cloudtrace2"
version = "3.1.0+20220224"
version = "4.0.1+20220224"
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
description = "A complete library to interact with Cloud Trace (protocol v2)"
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/cloudtrace2"
homepage = "https://cloud.google.com/trace"
documentation = "https://docs.rs/google-cloudtrace2/3.1.0+20220224"
documentation = "https://docs.rs/google-cloudtrace2/4.0.1+20220224"
license = "MIT"
keywords = ["cloudtrace", "google", "protocol", "web", "api"]
autobins = false
@@ -22,9 +22,12 @@ mime = "^ 0.2.0"
serde = "^ 1.0"
serde_json = "^ 1.0"
serde_derive = "^ 1.0"
yup-oauth2 = "^ 6.6"
yup-oauth2 = "^ 7.0"
itertools = "^ 0.10"
hyper = "^ 0.14"
http = "^0.2"
tokio = "^1.0"
tower-service = "^0.3.1"
url = "= 1.7"

View File

@@ -1,6 +1,6 @@
<!---
DO NOT EDIT !
This file was generated automatically from 'src/mako/LICENSE.md.mako'
This file was generated automatically from 'src/generator/templates/LICENSE.md.mako'
DO NOT EDIT !
-->
The MIT License (MIT)

View File

@@ -1,20 +1,20 @@
<!---
DO NOT EDIT !
This file was generated automatically from 'src/mako/api/README.md.mako'
This file was generated automatically from 'src/generator/templates/api/README.md.mako'
DO NOT EDIT !
-->
The `google-cloudtrace2` library allows access to all features of the *Google Cloud Trace* service.
This documentation was generated from *Cloud Trace* crate version *3.1.0+20220224*, where *20220224* is the exact revision of the *cloudtrace:v2* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.1.0*.
This documentation was generated from *Cloud Trace* crate version *4.0.1+20220224*, where *20220224* is the exact revision of the *cloudtrace:v2* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.1*.
Everything else about the *Cloud Trace* *v2* API can be found at the
[official documentation site](https://cloud.google.com/trace).
# Features
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/CloudTrace) ...
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/CloudTrace) ...
* projects
* [*traces batch write*](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/api::ProjectTraceBatchWriteCall) and [*traces spans create span*](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/api::ProjectTraceSpanCreateSpanCall)
* [*traces batch write*](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/api::ProjectTraceBatchWriteCall) and [*traces spans create span*](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/api::ProjectTraceSpanCreateSpanCall)
@@ -23,17 +23,17 @@ Handle the following *Resources* with ease from the central [hub](https://docs.r
The API is structured into the following primary items:
* **[Hub](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/CloudTrace)**
* **[Hub](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/CloudTrace)**
* a central object to maintain state and allow accessing all *Activities*
* creates [*Method Builders*](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::MethodsBuilder) which in turn
allow access to individual [*Call Builders*](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::CallBuilder)
* **[Resources](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Resource)**
* creates [*Method Builders*](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::MethodsBuilder) which in turn
allow access to individual [*Call Builders*](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::CallBuilder)
* **[Resources](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Resource)**
* primary types that you can apply *Activities* to
* a collection of properties and *Parts*
* **[Parts](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Part)**
* **[Parts](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Part)**
* a collection of properties
* never directly used in *Activities*
* **[Activities](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::CallBuilder)**
* **[Activities](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::CallBuilder)**
* operations to apply to *Resources*
All *structures* are marked with applicable traits to further categorize them and ease browsing.
@@ -91,7 +91,7 @@ let auth = oauth2::InstalledFlowAuthenticator::builder(
secret,
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
).build().await.unwrap();
let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
// As the method needs a request, you would usually fill it with the desired information
// into the respective structure. Some of the parts shown here might not be applicable !
// Values shown here are possibly random and not representative !
@@ -124,17 +124,17 @@ match result {
```
## Handling Errors
All errors produced by the system are provided either as [Result](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Result) enumeration as return value of
All errors produced by the system are provided either as [Result](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Result) enumeration as return value of
the doit() methods, or handed as possibly intermediate results to either the
[Hub Delegate](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).
[Hub Delegate](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Delegate), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).
When delegates handle errors or intermediate values, they may have a chance to instruct the system to retry. This
makes the system potentially resilient to all kinds of errors.
## Uploads and Downloads
If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Result), should be
If a method supports downloads, the response body, which is part of the [Result](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Result), should be
read by you to obtain the media.
If such a method also supports a [Response Result](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::ResponseResult), it will return that by default.
If such a method also supports a [Response Result](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::ResponseResult), it will return that by default.
You can see it as meta-data for the actual media. To trigger a media download, you will have to set up the builder by making
this call: `.param("alt", "media")`.
@@ -144,29 +144,29 @@ Methods supporting uploads can do so using up to 2 different protocols:
## Customization and Callbacks
You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Delegate) to the
[Method Builder](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::CallBuilder) before making the final `doit()` call.
You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Delegate) to the
[Method Builder](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::CallBuilder) before making the final `doit()` call.
Respective methods will be called to provide progress information, as well as determine whether the system should
retry on failure.
The [delegate trait](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Delegate) is default-implemented, allowing you to customize it with minimal effort.
The [delegate trait](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Delegate) is default-implemented, allowing you to customize it with minimal effort.
## Optional Parts in Server-Requests
All structures provided by this library are made to be [encodable](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::RequestValue) and
[decodable](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses
All structures provided by this library are made to be [encodable](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::RequestValue) and
[decodable](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses
are valid.
Most optionals are are considered [Parts](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::Part) which are identifiable by name, which will be sent to
Most optionals are are considered [Parts](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::Part) which are identifiable by name, which will be sent to
the server to indicate either the set parts of the request or the desired parts in the response.
## Builder Arguments
Using [method builders](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods.
Using [method builders](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::CallBuilder), you are able to prepare an action call by repeatedly calling it's methods.
These will always take a single argument, for which the following statements are true.
* [PODs][wiki-pod] are handed by copy
* strings are passed as `&str`
* [request values](https://docs.rs/google-cloudtrace2/3.1.0+20220224/google_cloudtrace2/client::RequestValue) are moved
* [request values](https://docs.rs/google-cloudtrace2/4.0.1+20220224/google_cloudtrace2/client::RequestValue) are moved
Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
@@ -180,3 +180,4 @@ under the *MIT* license.
You can read the full text at the repository's [license file][repo-license].
[repo-license]: https://github.com/Byron/google-apis-rsblob/main/LICENSE.md

View File

@@ -2,12 +2,17 @@ use std::collections::HashMap;
use std::cell::RefCell;
use std::default::Default;
use std::collections::BTreeMap;
use std::error::Error as StdError;
use serde_json as json;
use std::io;
use std::fs;
use std::mem;
use std::thread::sleep;
use http::Uri;
use hyper::client::connect;
use tokio::io::{AsyncRead, AsyncWrite};
use tower_service;
use crate::client;
// ##############
@@ -75,7 +80,7 @@ impl Default for Scope {
/// secret,
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
/// ).build().await.unwrap();
/// let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// // As the method needs a request, you would usually fill it with the desired information
/// // into the respective structure. Some of the parts shown here might not be applicable !
/// // Values shown here are possibly random and not representative !
@@ -107,34 +112,34 @@ impl Default for Scope {
/// # }
/// ```
#[derive(Clone)]
pub struct CloudTrace<> {
pub client: hyper::Client<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>, hyper::body::Body>,
pub auth: oauth2::authenticator::Authenticator<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>>,
pub struct CloudTrace<S> {
pub client: hyper::Client<S, hyper::body::Body>,
pub auth: oauth2::authenticator::Authenticator<S>,
_user_agent: String,
_base_url: String,
_root_url: String,
}
impl<'a, > client::Hub for CloudTrace<> {}
impl<'a, S> client::Hub for CloudTrace<S> {}
impl<'a, > CloudTrace<> {
impl<'a, S> CloudTrace<S> {
pub fn new(client: hyper::Client<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>, hyper::body::Body>, authenticator: oauth2::authenticator::Authenticator<hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>>) -> CloudTrace<> {
pub fn new(client: hyper::Client<S, hyper::body::Body>, authenticator: oauth2::authenticator::Authenticator<S>) -> CloudTrace<S> {
CloudTrace {
client,
auth: authenticator,
_user_agent: "google-api-rust-client/3.1.0".to_string(),
_user_agent: "google-api-rust-client/4.0.1".to_string(),
_base_url: "https://cloudtrace.googleapis.com/".to_string(),
_root_url: "https://cloudtrace.googleapis.com/".to_string(),
}
}
pub fn projects(&'a self) -> ProjectMethods<'a> {
pub fn projects(&'a self) -> ProjectMethods<'a, S> {
ProjectMethods { hub: &self }
}
/// Set the user-agent header field to use in all requests to the server.
/// It defaults to `google-api-rust-client/3.1.0`.
/// It defaults to `google-api-rust-client/4.0.1`.
///
/// Returns the previously set user-agent.
pub fn user_agent(&mut self, agent_name: String) -> String {
@@ -540,22 +545,22 @@ impl client::Part for TruncatableString {}
/// secret,
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
/// ).build().await.unwrap();
/// let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
/// // like `traces_batch_write(...)` and `traces_spans_create_span(...)`
/// // to build up your call.
/// let rb = hub.projects();
/// # }
/// ```
pub struct ProjectMethods<'a>
where {
pub struct ProjectMethods<'a, S>
where S: 'a {
hub: &'a CloudTrace<>,
hub: &'a CloudTrace<S>,
}
impl<'a> client::MethodsBuilder for ProjectMethods<'a> {}
impl<'a, S> client::MethodsBuilder for ProjectMethods<'a, S> {}
impl<'a> ProjectMethods<'a> {
impl<'a, S> ProjectMethods<'a, S> {
/// Create a builder to help you perform the following task:
///
@@ -565,7 +570,7 @@ impl<'a> ProjectMethods<'a> {
///
/// * `request` - No description provided.
/// * `name` - Required. The resource name of the span in the following format: * `projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]` `[TRACE_ID]` is a unique identifier for a trace within a project; it is a 32-character hexadecimal encoding of a 16-byte array. It should not be zero. `[SPAN_ID]` is a unique identifier for a span within a trace; it is a 16-character hexadecimal encoding of an 8-byte array. It should not be zero. .
pub fn traces_spans_create_span(&self, request: Span, name: &str) -> ProjectTraceSpanCreateSpanCall<'a> {
pub fn traces_spans_create_span(&self, request: Span, name: &str) -> ProjectTraceSpanCreateSpanCall<'a, S> {
ProjectTraceSpanCreateSpanCall {
hub: self.hub,
_request: request,
@@ -584,7 +589,7 @@ impl<'a> ProjectMethods<'a> {
///
/// * `request` - No description provided.
/// * `name` - Required. The name of the project where the spans belong. The format is `projects/[PROJECT_ID]`.
pub fn traces_batch_write(&self, request: BatchWriteSpansRequest, name: &str) -> ProjectTraceBatchWriteCall<'a> {
pub fn traces_batch_write(&self, request: BatchWriteSpansRequest, name: &str) -> ProjectTraceBatchWriteCall<'a, S> {
ProjectTraceBatchWriteCall {
hub: self.hub,
_request: request,
@@ -627,7 +632,7 @@ impl<'a> ProjectMethods<'a> {
/// # secret,
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
/// # ).build().await.unwrap();
/// # let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// # let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// // As the method needs a request, you would usually fill it with the desired information
/// // into the respective structure. Some of the parts shown here might not be applicable !
/// // Values shown here are possibly random and not representative !
@@ -640,10 +645,10 @@ impl<'a> ProjectMethods<'a> {
/// .doit().await;
/// # }
/// ```
pub struct ProjectTraceSpanCreateSpanCall<'a>
where {
pub struct ProjectTraceSpanCreateSpanCall<'a, S>
where S: 'a {
hub: &'a CloudTrace<>,
hub: &'a CloudTrace<S>,
_request: Span,
_name: String,
_delegate: Option<&'a mut dyn client::Delegate>,
@@ -651,9 +656,15 @@ pub struct ProjectTraceSpanCreateSpanCall<'a>
_scopes: BTreeMap<String, ()>
}
impl<'a> client::CallBuilder for ProjectTraceSpanCreateSpanCall<'a> {}
impl<'a, S> client::CallBuilder for ProjectTraceSpanCreateSpanCall<'a, S> {}
impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
impl<'a, S> ProjectTraceSpanCreateSpanCall<'a, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
/// Perform the operation you have build so far.
@@ -813,7 +824,7 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
///
/// Even though the property as already been set when instantiating this call,
/// we provide this method for API completeness.
pub fn request(mut self, new_value: Span) -> ProjectTraceSpanCreateSpanCall<'a> {
pub fn request(mut self, new_value: Span) -> ProjectTraceSpanCreateSpanCall<'a, S> {
self._request = new_value;
self
}
@@ -823,7 +834,7 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
///
/// Even though the property as already been set when instantiating this call,
/// we provide this method for API completeness.
pub fn name(mut self, new_value: &str) -> ProjectTraceSpanCreateSpanCall<'a> {
pub fn name(mut self, new_value: &str) -> ProjectTraceSpanCreateSpanCall<'a, S> {
self._name = new_value.to_string();
self
}
@@ -833,7 +844,7 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
/// It should be used to handle progress information, and to implement a certain level of resilience.
///
/// Sets the *delegate* property to the given value.
pub fn delegate(mut self, new_value: &'a mut dyn client::Delegate) -> ProjectTraceSpanCreateSpanCall<'a> {
pub fn delegate(mut self, new_value: &'a mut dyn client::Delegate) -> ProjectTraceSpanCreateSpanCall<'a, S> {
self._delegate = Some(new_value);
self
}
@@ -858,7 +869,7 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
/// * *quotaUser* (query-string) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
/// * *uploadType* (query-string) - Legacy upload protocol for media (e.g. "media", "multipart").
/// * *upload_protocol* (query-string) - Upload protocol for media (e.g. "raw", "multipart").
pub fn param<T>(mut self, name: T, value: T) -> ProjectTraceSpanCreateSpanCall<'a>
pub fn param<T>(mut self, name: T, value: T) -> ProjectTraceSpanCreateSpanCall<'a, S>
where T: AsRef<str> {
self._additional_params.insert(name.as_ref().to_string(), value.as_ref().to_string());
self
@@ -878,9 +889,9 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
/// Usually there is more than one suitable scope to authorize an operation, some of which may
/// encompass more rights than others. For example, for listing resources, a *read-only* scope will be
/// sufficient, a read-write scope will do as well.
pub fn add_scope<T, S>(mut self, scope: T) -> ProjectTraceSpanCreateSpanCall<'a>
where T: Into<Option<S>>,
S: AsRef<str> {
pub fn add_scope<T, St>(mut self, scope: T) -> ProjectTraceSpanCreateSpanCall<'a, S>
where T: Into<Option<St>>,
St: AsRef<str> {
match scope.into() {
Some(scope) => self._scopes.insert(scope.as_ref().to_string(), ()),
None => None,
@@ -913,7 +924,7 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
/// # secret,
/// # oauth2::InstalledFlowReturnMethod::HTTPRedirect,
/// # ).build().await.unwrap();
/// # let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// # let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
/// // As the method needs a request, you would usually fill it with the desired information
/// // into the respective structure. Some of the parts shown here might not be applicable !
/// // Values shown here are possibly random and not representative !
@@ -926,10 +937,10 @@ impl<'a> ProjectTraceSpanCreateSpanCall<'a> {
/// .doit().await;
/// # }
/// ```
pub struct ProjectTraceBatchWriteCall<'a>
where {
pub struct ProjectTraceBatchWriteCall<'a, S>
where S: 'a {
hub: &'a CloudTrace<>,
hub: &'a CloudTrace<S>,
_request: BatchWriteSpansRequest,
_name: String,
_delegate: Option<&'a mut dyn client::Delegate>,
@@ -937,9 +948,15 @@ pub struct ProjectTraceBatchWriteCall<'a>
_scopes: BTreeMap<String, ()>
}
impl<'a> client::CallBuilder for ProjectTraceBatchWriteCall<'a> {}
impl<'a, S> client::CallBuilder for ProjectTraceBatchWriteCall<'a, S> {}
impl<'a> ProjectTraceBatchWriteCall<'a> {
impl<'a, S> ProjectTraceBatchWriteCall<'a, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
/// Perform the operation you have build so far.
@@ -1099,7 +1116,7 @@ impl<'a> ProjectTraceBatchWriteCall<'a> {
///
/// Even though the property as already been set when instantiating this call,
/// we provide this method for API completeness.
pub fn request(mut self, new_value: BatchWriteSpansRequest) -> ProjectTraceBatchWriteCall<'a> {
pub fn request(mut self, new_value: BatchWriteSpansRequest) -> ProjectTraceBatchWriteCall<'a, S> {
self._request = new_value;
self
}
@@ -1109,7 +1126,7 @@ impl<'a> ProjectTraceBatchWriteCall<'a> {
///
/// Even though the property as already been set when instantiating this call,
/// we provide this method for API completeness.
pub fn name(mut self, new_value: &str) -> ProjectTraceBatchWriteCall<'a> {
pub fn name(mut self, new_value: &str) -> ProjectTraceBatchWriteCall<'a, S> {
self._name = new_value.to_string();
self
}
@@ -1119,7 +1136,7 @@ impl<'a> ProjectTraceBatchWriteCall<'a> {
/// It should be used to handle progress information, and to implement a certain level of resilience.
///
/// Sets the *delegate* property to the given value.
pub fn delegate(mut self, new_value: &'a mut dyn client::Delegate) -> ProjectTraceBatchWriteCall<'a> {
pub fn delegate(mut self, new_value: &'a mut dyn client::Delegate) -> ProjectTraceBatchWriteCall<'a, S> {
self._delegate = Some(new_value);
self
}
@@ -1144,7 +1161,7 @@ impl<'a> ProjectTraceBatchWriteCall<'a> {
/// * *quotaUser* (query-string) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
/// * *uploadType* (query-string) - Legacy upload protocol for media (e.g. "media", "multipart").
/// * *upload_protocol* (query-string) - Upload protocol for media (e.g. "raw", "multipart").
pub fn param<T>(mut self, name: T, value: T) -> ProjectTraceBatchWriteCall<'a>
pub fn param<T>(mut self, name: T, value: T) -> ProjectTraceBatchWriteCall<'a, S>
where T: AsRef<str> {
self._additional_params.insert(name.as_ref().to_string(), value.as_ref().to_string());
self
@@ -1164,9 +1181,9 @@ impl<'a> ProjectTraceBatchWriteCall<'a> {
/// Usually there is more than one suitable scope to authorize an operation, some of which may
/// encompass more rights than others. For example, for listing resources, a *read-only* scope will be
/// sufficient, a read-write scope will do as well.
pub fn add_scope<T, S>(mut self, scope: T) -> ProjectTraceBatchWriteCall<'a>
where T: Into<Option<S>>,
S: AsRef<str> {
pub fn add_scope<T, St>(mut self, scope: T) -> ProjectTraceBatchWriteCall<'a, S>
where T: Into<Option<St>>,
St: AsRef<str> {
match scope.into() {
Some(scope) => self._scopes.insert(scope.as_ref().to_string(), ()),
None => None,

View File

@@ -1,6 +1,7 @@
// COPY OF 'src/rust/api/client.rs'
// DO NOT EDIT
use std::error;
use std::error::Error as StdError;
use std::fmt::{self, Display};
use std::io::{self, Cursor, Read, Seek, SeekFrom, Write};
use std::str::FromStr;
@@ -9,7 +10,10 @@ use std::time::Duration;
use itertools::Itertools;
use hyper::http::Uri;
use hyper::body::Buf;
use hyper::client::connect;
use hyper::header::{HeaderMap, AUTHORIZATION, CONTENT_LENGTH, CONTENT_TYPE, USER_AGENT};
use hyper::Method;
use hyper::StatusCode;
@@ -18,6 +22,9 @@ use mime::{Attr, Mime, SubLevel, TopLevel, Value};
use serde_json as json;
use tokio::io::{AsyncRead, AsyncWrite};
use tower_service;
const LINE_ENDING: &str = "\r\n";
pub enum Retry {
@@ -566,9 +573,15 @@ impl RangeResponseHeader {
}
/// A utility type to perform a resumable upload from start to end.
pub struct ResumableUploadHelper<'a, A: 'a> {
pub struct ResumableUploadHelper<'a, A: 'a, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
pub client: &'a hyper::client::Client<
hyper_rustls::HttpsConnector<hyper::client::connect::HttpConnector>,
S,
hyper::body::Body,
>,
pub delegate: &'a mut dyn Delegate,
@@ -582,7 +595,13 @@ pub struct ResumableUploadHelper<'a, A: 'a> {
pub content_length: u64,
}
impl<'a, A> ResumableUploadHelper<'a, A> {
impl<'a, A, S> ResumableUploadHelper<'a, A, S>
where
S: tower_service::Service<Uri> + Clone + Send + Sync + 'static,
S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static,
S::Future: Send + Unpin + 'static,
S::Error: Into<Box<dyn StdError + Send + Sync>>,
{
async fn query_transfer_status(
&mut self,
) -> std::result::Result<u64, hyper::Result<hyper::Response<hyper::body::Body>>> {
@@ -697,14 +716,11 @@ impl<'a, A> ResumableUploadHelper<'a, A> {
}
let (res_parts, res_body) = res.into_parts();
let res_body_string: String = String::from_utf8(
hyper::body::to_bytes(res_body)
.await
.unwrap()
.into_iter()
.collect(),
)
.unwrap();
let res_body = match hyper::body::to_bytes(res_body).await {
Ok(res_body) => res_body.into_iter().collect(),
Err(err) => return Some(Err(err)),
};
let res_body_string: String = String::from_utf8(res_body).unwrap();
let reconstructed_result =
hyper::Response::from_parts(res_parts, res_body_string.clone().into());

View File

@@ -1,8 +1,8 @@
// DO NOT EDIT !
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
// DO NOT EDIT !
//! This documentation was generated from *Cloud Trace* crate version *3.1.0+20220224*, where *20220224* is the exact revision of the *cloudtrace:v2* schema built by the [mako](http://www.makotemplates.org/) code generator *v3.1.0*.
//! This documentation was generated from *Cloud Trace* crate version *4.0.1+20220224*, where *20220224* is the exact revision of the *cloudtrace:v2* schema built by the [mako](http://www.makotemplates.org/) code generator *v4.0.1*.
//!
//! Everything else about the *Cloud Trace* *v2* API can be found at the
//! [official documentation site](https://cloud.google.com/trace).
@@ -92,7 +92,7 @@
//! secret,
//! oauth2::InstalledFlowReturnMethod::HTTPRedirect,
//! ).build().await.unwrap();
//! let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnector::with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
//! let mut hub = CloudTrace::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().enable_http2().build()), auth);
//! // As the method needs a request, you would usually fill it with the desired information
//! // into the respective structure. Some of the parts shown here might not be applicable !
//! // Values shown here are possibly random and not representative !
@@ -184,7 +184,7 @@
#![allow(unused_imports, unused_mut, dead_code)]
// DO NOT EDIT !
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
// DO NOT EDIT !
#[macro_use]