mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2026-02-23 15:49:49 +01:00
remove generated libs
This commit is contained in:
@@ -1,37 +0,0 @@
|
||||
# DO NOT EDIT !
|
||||
# This file was generated automatically from 'src/generator/templates/Cargo.toml.mako'
|
||||
# DO NOT EDIT !
|
||||
[package]
|
||||
|
||||
name = "google-dns1"
|
||||
version = "5.0.4+20240229"
|
||||
authors = ["Sebastian Thiel <byronimo@gmail.com>"]
|
||||
description = "A complete library to interact with Dns (protocol v1)"
|
||||
repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/dns1"
|
||||
homepage = "https://cloud.google.com/dns/docs"
|
||||
documentation = "https://docs.rs/google-dns1/5.0.4+20240229"
|
||||
license = "MIT"
|
||||
keywords = ["dns", "google", "protocol", "web", "api"]
|
||||
autobins = false
|
||||
edition = "2018"
|
||||
|
||||
|
||||
[dependencies]
|
||||
anyhow = "^ 1.0"
|
||||
hyper-rustls = "0.24.0"
|
||||
mime = "^ 0.3.0"
|
||||
serde = { version = "^ 1.0", features = ["derive"] }
|
||||
serde_json = "^ 1.0"
|
||||
itertools = "^ 0.10"
|
||||
google-apis-common = { path = "../../google-apis-common", version = "6.0" }
|
||||
hyper = "^ 0.14"
|
||||
http = "^0.2"
|
||||
tokio = "^1.0"
|
||||
tower-service = "^0.3.1"
|
||||
url = "= 1.7"
|
||||
|
||||
|
||||
|
||||
[features]
|
||||
yup-oauth2 = ["google-apis-common/yup-oauth2"]
|
||||
default = ["yup-oauth2"]
|
||||
@@ -1,30 +0,0 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/LICENSE.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Copyright © `2015-2020` `Sebastian Thiel`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the “Software”), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
@@ -1,204 +0,0 @@
|
||||
<!---
|
||||
DO NOT EDIT !
|
||||
This file was generated automatically from 'src/generator/templates/api/README.md.mako'
|
||||
DO NOT EDIT !
|
||||
-->
|
||||
The `google-dns1` library allows access to all features of the *Google Dns* service.
|
||||
|
||||
This documentation was generated from *Dns* crate version *5.0.4+20240229*, where *20240229* is the exact revision of the *dns:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v5.0.4*.
|
||||
|
||||
Everything else about the *Dns* *v1* API can be found at the
|
||||
[official documentation site](https://cloud.google.com/dns/docs).
|
||||
# Features
|
||||
|
||||
Handle the following *Resources* with ease from the central [hub](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/Dns) ...
|
||||
|
||||
* [changes](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::Change)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ChangeCreateCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ChangeGetCall) and [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ChangeListCall)
|
||||
* [dns keys](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::DnsKey)
|
||||
* [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::DnsKeyGetCall) and [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::DnsKeyListCall)
|
||||
* managed zone operations
|
||||
* [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneOperationGetCall) and [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneOperationListCall)
|
||||
* [managed zones](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZone)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneCreateCall), [*delete*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneDeleteCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneGetCall), [*get iam policy*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneGetIamPolicyCall), [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneListCall), [*patch*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZonePatchCall), [*set iam policy*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneSetIamPolicyCall), [*test iam permissions*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneTestIamPermissionCall) and [*update*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ManagedZoneUpdateCall)
|
||||
* [policies](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::Policy)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyCreateCall), [*delete*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyDeleteCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyGetCall), [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyListCall), [*patch*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyPatchCall) and [*update*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::PolicyUpdateCall)
|
||||
* [projects](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::Project)
|
||||
* [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ProjectGetCall)
|
||||
* [resource record sets](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSet)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSetCreateCall), [*delete*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSetDeleteCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSetGetCall), [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSetListCall) and [*patch*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResourceRecordSetPatchCall)
|
||||
* [response policies](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicy)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyCreateCall), [*delete*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyDeleteCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyGetCall), [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyListCall), [*patch*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyPatchCall) and [*update*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyUpdateCall)
|
||||
* [response policy rules](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRule)
|
||||
* [*create*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRuleCreateCall), [*delete*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRuleDeleteCall), [*get*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRuleGetCall), [*list*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRuleListCall), [*patch*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRulePatchCall) and [*update*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/api::ResponsePolicyRuleUpdateCall)
|
||||
|
||||
|
||||
|
||||
|
||||
# Structure of this Library
|
||||
|
||||
The API is structured into the following primary items:
|
||||
|
||||
* **[Hub](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/Dns)**
|
||||
* a central object to maintain state and allow accessing all *Activities*
|
||||
* creates [*Method Builders*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::MethodsBuilder) which in turn
|
||||
allow access to individual [*Call Builders*](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::CallBuilder)
|
||||
* **[Resources](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::Resource)**
|
||||
* primary types that you can apply *Activities* to
|
||||
* a collection of properties and *Parts*
|
||||
* **[Parts](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::Part)**
|
||||
* a collection of properties
|
||||
* never directly used in *Activities*
|
||||
* **[Activities](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::CallBuilder)**
|
||||
* operations to apply to *Resources*
|
||||
|
||||
All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
||||
|
||||
Generally speaking, you can invoke *Activities* like this:
|
||||
|
||||
```Rust,ignore
|
||||
let r = hub.resource().activity(...).doit().await
|
||||
```
|
||||
|
||||
Or specifically ...
|
||||
|
||||
```ignore
|
||||
let r = hub.managed_zones().create(...).doit().await
|
||||
let r = hub.managed_zones().delete(...).doit().await
|
||||
let r = hub.managed_zones().get(...).doit().await
|
||||
let r = hub.managed_zones().get_iam_policy(...).doit().await
|
||||
let r = hub.managed_zones().list(...).doit().await
|
||||
let r = hub.managed_zones().patch(...).doit().await
|
||||
let r = hub.managed_zones().set_iam_policy(...).doit().await
|
||||
let r = hub.managed_zones().test_iam_permissions(...).doit().await
|
||||
let r = hub.managed_zones().update(...).doit().await
|
||||
```
|
||||
|
||||
The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities`
|
||||
supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be
|
||||
specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
|
||||
The `doit()` method performs the actual communication with the server and returns the respective result.
|
||||
|
||||
# Usage
|
||||
|
||||
## Setting up your Project
|
||||
|
||||
To use this library, you would put the following lines into your `Cargo.toml` file:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
google-dns1 = "*"
|
||||
serde = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
```
|
||||
|
||||
## A complete example
|
||||
|
||||
```Rust
|
||||
extern crate hyper;
|
||||
extern crate hyper_rustls;
|
||||
extern crate google_dns1 as dns1;
|
||||
use dns1::{Result, Error};
|
||||
use std::default::Default;
|
||||
use dns1::{Dns, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
|
||||
// Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
// `client_secret`, among other things.
|
||||
let secret: oauth2::ApplicationSecret = Default::default();
|
||||
// Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
// unless you replace `None` with the desired Flow.
|
||||
// Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
// what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
// retrieve them from storage.
|
||||
let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
secret,
|
||||
oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
).build().await.unwrap();
|
||||
let mut hub = Dns::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
// You can configure optional parameters by calling the respective setters at will, and
|
||||
// execute the final call using `doit()`.
|
||||
// Values shown here are possibly random and not representative !
|
||||
let result = hub.managed_zones().list("project")
|
||||
.page_token("magna")
|
||||
.max_results(-11)
|
||||
.dns_name("ipsum")
|
||||
.doit().await;
|
||||
|
||||
match result {
|
||||
Err(e) => match e {
|
||||
// The Error enum provides details about what exactly happened.
|
||||
// You can also just use its `Debug`, `Display` or `Error` traits
|
||||
Error::HttpError(_)
|
||||
|Error::Io(_)
|
||||
|Error::MissingAPIKey
|
||||
|Error::MissingToken(_)
|
||||
|Error::Cancelled
|
||||
|Error::UploadSizeLimitExceeded(_, _)
|
||||
|Error::Failure(_)
|
||||
|Error::BadRequest(_)
|
||||
|Error::FieldClash(_)
|
||||
|Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
},
|
||||
Ok(res) => println!("Success: {:?}", res),
|
||||
}
|
||||
|
||||
```
|
||||
## Handling Errors
|
||||
|
||||
All errors produced by the system are provided either as [Result](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/client::Result), should be
|
||||
read by you to obtain the media.
|
||||
If such a method also supports a [Response Result](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/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")`.
|
||||
|
||||
Methods supporting uploads can do so using up to 2 different protocols:
|
||||
*simple* and *resumable*. The distinctiveness of each is represented by customized
|
||||
`doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.
|
||||
|
||||
## Customization and Callbacks
|
||||
|
||||
You may alter the way an `doit()` method is called by providing a [delegate](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/client::Delegate) to the
|
||||
[Method Builder](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/client::RequestValue) and
|
||||
[decodable](https://docs.rs/google-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/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-dns1/5.0.4+20240229/google_dns1/client::RequestValue) are moved
|
||||
|
||||
Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
||||
|
||||
[wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
|
||||
[builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
|
||||
[google-go-api]: https://github.com/google/google-api-go-client
|
||||
|
||||
# License
|
||||
The **dns1** library was generated by Sebastian Thiel, and is placed
|
||||
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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,133 +0,0 @@
|
||||
use super::*;
|
||||
|
||||
/// Central instance to access all Dns related resource activities
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Instantiate a new hub
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_dns1 as dns1;
|
||||
/// use dns1::{Result, Error};
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use dns1::{Dns, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
/// // `client_secret`, among other things.
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
/// // unless you replace `None` with the desired Flow.
|
||||
/// // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
/// // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
/// // retrieve them from storage.
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = Dns::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // You can configure optional parameters by calling the respective setters at will, and
|
||||
/// // execute the final call using `doit()`.
|
||||
/// // Values shown here are possibly random and not representative !
|
||||
/// let result = hub.managed_zones().list("project")
|
||||
/// .page_token("takimata")
|
||||
/// .max_results(-52)
|
||||
/// .dns_name("duo")
|
||||
/// .doit().await;
|
||||
///
|
||||
/// match result {
|
||||
/// Err(e) => match e {
|
||||
/// // The Error enum provides details about what exactly happened.
|
||||
/// // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
/// Error::HttpError(_)
|
||||
/// |Error::Io(_)
|
||||
/// |Error::MissingAPIKey
|
||||
/// |Error::MissingToken(_)
|
||||
/// |Error::Cancelled
|
||||
/// |Error::UploadSizeLimitExceeded(_, _)
|
||||
/// |Error::Failure(_)
|
||||
/// |Error::BadRequest(_)
|
||||
/// |Error::FieldClash(_)
|
||||
/// |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
/// },
|
||||
/// Ok(res) => println!("Success: {:?}", res),
|
||||
/// }
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
pub struct Dns<S> {
|
||||
pub client: hyper::Client<S, hyper::body::Body>,
|
||||
pub auth: Box<dyn client::GetToken>,
|
||||
pub(super) _user_agent: String,
|
||||
pub(super) _base_url: String,
|
||||
pub(super) _root_url: String,
|
||||
}
|
||||
|
||||
impl<'a, S> client::Hub for Dns<S> {}
|
||||
|
||||
impl<'a, S> Dns<S> {
|
||||
|
||||
pub fn new<A: 'static + client::GetToken>(client: hyper::Client<S, hyper::body::Body>, auth: A) -> Dns<S> {
|
||||
Dns {
|
||||
client,
|
||||
auth: Box::new(auth),
|
||||
_user_agent: "google-api-rust-client/5.0.3".to_string(),
|
||||
_base_url: "https://dns.googleapis.com/".to_string(),
|
||||
_root_url: "https://dns.googleapis.com/".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn changes(&'a self) -> ChangeMethods<'a, S> {
|
||||
ChangeMethods { hub: &self }
|
||||
}
|
||||
pub fn dns_keys(&'a self) -> DnsKeyMethods<'a, S> {
|
||||
DnsKeyMethods { hub: &self }
|
||||
}
|
||||
pub fn managed_zone_operations(&'a self) -> ManagedZoneOperationMethods<'a, S> {
|
||||
ManagedZoneOperationMethods { hub: &self }
|
||||
}
|
||||
pub fn managed_zones(&'a self) -> ManagedZoneMethods<'a, S> {
|
||||
ManagedZoneMethods { hub: &self }
|
||||
}
|
||||
pub fn policies(&'a self) -> PolicyMethods<'a, S> {
|
||||
PolicyMethods { hub: &self }
|
||||
}
|
||||
pub fn projects(&'a self) -> ProjectMethods<'a, S> {
|
||||
ProjectMethods { hub: &self }
|
||||
}
|
||||
pub fn resource_record_sets(&'a self) -> ResourceRecordSetMethods<'a, S> {
|
||||
ResourceRecordSetMethods { hub: &self }
|
||||
}
|
||||
pub fn response_policies(&'a self) -> ResponsePolicyMethods<'a, S> {
|
||||
ResponsePolicyMethods { hub: &self }
|
||||
}
|
||||
pub fn response_policy_rules(&'a self) -> ResponsePolicyRuleMethods<'a, S> {
|
||||
ResponsePolicyRuleMethods { hub: &self }
|
||||
}
|
||||
|
||||
/// Set the user-agent header field to use in all requests to the server.
|
||||
/// It defaults to `google-api-rust-client/5.0.3`.
|
||||
///
|
||||
/// Returns the previously set user-agent.
|
||||
pub fn user_agent(&mut self, agent_name: String) -> String {
|
||||
mem::replace(&mut self._user_agent, agent_name)
|
||||
}
|
||||
|
||||
/// Set the base url to use in all requests to the server.
|
||||
/// It defaults to `https://dns.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set base url.
|
||||
pub fn base_url(&mut self, new_base_url: String) -> String {
|
||||
mem::replace(&mut self._base_url, new_base_url)
|
||||
}
|
||||
|
||||
/// Set the root url to use in all requests to the server.
|
||||
/// It defaults to `https://dns.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set root url.
|
||||
pub fn root_url(&mut self, new_root_url: String) -> String {
|
||||
mem::replace(&mut self._root_url, new_root_url)
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,35 +0,0 @@
|
||||
use std::collections::HashMap;
|
||||
use std::cell::RefCell;
|
||||
use std::default::Default;
|
||||
use std::collections::BTreeSet;
|
||||
use std::error::Error as StdError;
|
||||
use serde_json as json;
|
||||
use std::io;
|
||||
use std::fs;
|
||||
use std::mem;
|
||||
|
||||
use hyper::client::connect;
|
||||
use tokio::io::{AsyncRead, AsyncWrite};
|
||||
use tokio::time::sleep;
|
||||
use tower_service;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::{client, client::GetToken, client::serde_with};
|
||||
|
||||
mod utilities;
|
||||
pub use utilities::*;
|
||||
|
||||
mod hub;
|
||||
pub use hub::*;
|
||||
|
||||
mod schemas;
|
||||
pub use schemas::*;
|
||||
|
||||
mod method_builders;
|
||||
pub use method_builders::*;
|
||||
|
||||
mod call_builders;
|
||||
pub use call_builders::*;
|
||||
|
||||
mod enums;
|
||||
pub use enums::*;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,36 +0,0 @@
|
||||
use super::*;
|
||||
/// Identifies the an OAuth2 authorization scope.
|
||||
/// A scope is needed when requesting an
|
||||
/// [authorization token](https://developers.google.com/youtube/v3/guides/authentication).
|
||||
#[derive(PartialEq, Eq, Hash, Debug, Clone)]
|
||||
pub enum Scope {
|
||||
/// See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
|
||||
CloudPlatform,
|
||||
|
||||
/// View your data across Google Cloud services and see the email address of your Google Account
|
||||
CloudPlatformReadOnly,
|
||||
|
||||
/// View your DNS records hosted by Google Cloud DNS
|
||||
NdevClouddnReadonly,
|
||||
|
||||
/// View and manage your DNS records hosted by Google Cloud DNS
|
||||
NdevClouddnReadwrite,
|
||||
}
|
||||
|
||||
impl AsRef<str> for Scope {
|
||||
fn as_ref(&self) -> &str {
|
||||
match *self {
|
||||
Scope::CloudPlatform => "https://www.googleapis.com/auth/cloud-platform",
|
||||
Scope::CloudPlatformReadOnly => "https://www.googleapis.com/auth/cloud-platform.read-only",
|
||||
Scope::NdevClouddnReadonly => "https://www.googleapis.com/auth/ndev.clouddns.readonly",
|
||||
Scope::NdevClouddnReadwrite => "https://www.googleapis.com/auth/ndev.clouddns.readwrite",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Scope {
|
||||
fn default() -> Scope {
|
||||
Scope::NdevClouddnReadonly
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,224 +0,0 @@
|
||||
// DO NOT EDIT !
|
||||
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
|
||||
// DO NOT EDIT !
|
||||
|
||||
//! This documentation was generated from *Dns* crate version *5.0.4+20240229*, where *20240229* is the exact revision of the *dns:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v5.0.4*.
|
||||
//!
|
||||
//! Everything else about the *Dns* *v1* API can be found at the
|
||||
//! [official documentation site](https://cloud.google.com/dns/docs).
|
||||
//! The original source code is [on github](https://github.com/Byron/google-apis-rs/tree/main/gen/dns1).
|
||||
//! # Features
|
||||
//!
|
||||
//! Handle the following *Resources* with ease from the central [hub](Dns) ...
|
||||
//!
|
||||
//! * [changes](api::Change)
|
||||
//! * [*create*](api::ChangeCreateCall), [*get*](api::ChangeGetCall) and [*list*](api::ChangeListCall)
|
||||
//! * [dns keys](api::DnsKey)
|
||||
//! * [*get*](api::DnsKeyGetCall) and [*list*](api::DnsKeyListCall)
|
||||
//! * managed zone operations
|
||||
//! * [*get*](api::ManagedZoneOperationGetCall) and [*list*](api::ManagedZoneOperationListCall)
|
||||
//! * [managed zones](api::ManagedZone)
|
||||
//! * [*create*](api::ManagedZoneCreateCall), [*delete*](api::ManagedZoneDeleteCall), [*get*](api::ManagedZoneGetCall), [*get iam policy*](api::ManagedZoneGetIamPolicyCall), [*list*](api::ManagedZoneListCall), [*patch*](api::ManagedZonePatchCall), [*set iam policy*](api::ManagedZoneSetIamPolicyCall), [*test iam permissions*](api::ManagedZoneTestIamPermissionCall) and [*update*](api::ManagedZoneUpdateCall)
|
||||
//! * [policies](api::Policy)
|
||||
//! * [*create*](api::PolicyCreateCall), [*delete*](api::PolicyDeleteCall), [*get*](api::PolicyGetCall), [*list*](api::PolicyListCall), [*patch*](api::PolicyPatchCall) and [*update*](api::PolicyUpdateCall)
|
||||
//! * [projects](api::Project)
|
||||
//! * [*get*](api::ProjectGetCall)
|
||||
//! * [resource record sets](api::ResourceRecordSet)
|
||||
//! * [*create*](api::ResourceRecordSetCreateCall), [*delete*](api::ResourceRecordSetDeleteCall), [*get*](api::ResourceRecordSetGetCall), [*list*](api::ResourceRecordSetListCall) and [*patch*](api::ResourceRecordSetPatchCall)
|
||||
//! * [response policies](api::ResponsePolicy)
|
||||
//! * [*create*](api::ResponsePolicyCreateCall), [*delete*](api::ResponsePolicyDeleteCall), [*get*](api::ResponsePolicyGetCall), [*list*](api::ResponsePolicyListCall), [*patch*](api::ResponsePolicyPatchCall) and [*update*](api::ResponsePolicyUpdateCall)
|
||||
//! * [response policy rules](api::ResponsePolicyRule)
|
||||
//! * [*create*](api::ResponsePolicyRuleCreateCall), [*delete*](api::ResponsePolicyRuleDeleteCall), [*get*](api::ResponsePolicyRuleGetCall), [*list*](api::ResponsePolicyRuleListCall), [*patch*](api::ResponsePolicyRulePatchCall) and [*update*](api::ResponsePolicyRuleUpdateCall)
|
||||
//!
|
||||
//!
|
||||
//!
|
||||
//!
|
||||
//! Not what you are looking for ? Find all other Google APIs in their Rust [documentation index](http://byron.github.io/google-apis-rs).
|
||||
//!
|
||||
//! # Structure of this Library
|
||||
//!
|
||||
//! The API is structured into the following primary items:
|
||||
//!
|
||||
//! * **[Hub](Dns)**
|
||||
//! * a central object to maintain state and allow accessing all *Activities*
|
||||
//! * creates [*Method Builders*](client::MethodsBuilder) which in turn
|
||||
//! allow access to individual [*Call Builders*](client::CallBuilder)
|
||||
//! * **[Resources](client::Resource)**
|
||||
//! * primary types that you can apply *Activities* to
|
||||
//! * a collection of properties and *Parts*
|
||||
//! * **[Parts](client::Part)**
|
||||
//! * a collection of properties
|
||||
//! * never directly used in *Activities*
|
||||
//! * **[Activities](client::CallBuilder)**
|
||||
//! * operations to apply to *Resources*
|
||||
//!
|
||||
//! All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
||||
//!
|
||||
//! Generally speaking, you can invoke *Activities* like this:
|
||||
//!
|
||||
//! ```Rust,ignore
|
||||
//! let r = hub.resource().activity(...).doit().await
|
||||
//! ```
|
||||
//!
|
||||
//! Or specifically ...
|
||||
//!
|
||||
//! ```ignore
|
||||
//! let r = hub.managed_zones().create(...).doit().await
|
||||
//! let r = hub.managed_zones().delete(...).doit().await
|
||||
//! let r = hub.managed_zones().get(...).doit().await
|
||||
//! let r = hub.managed_zones().get_iam_policy(...).doit().await
|
||||
//! let r = hub.managed_zones().list(...).doit().await
|
||||
//! let r = hub.managed_zones().patch(...).doit().await
|
||||
//! let r = hub.managed_zones().set_iam_policy(...).doit().await
|
||||
//! let r = hub.managed_zones().test_iam_permissions(...).doit().await
|
||||
//! let r = hub.managed_zones().update(...).doit().await
|
||||
//! ```
|
||||
//!
|
||||
//! The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities`
|
||||
//! supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be
|
||||
//! specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
|
||||
//! The `doit()` method performs the actual communication with the server and returns the respective result.
|
||||
//!
|
||||
//! # Usage
|
||||
//!
|
||||
//! ## Setting up your Project
|
||||
//!
|
||||
//! To use this library, you would put the following lines into your `Cargo.toml` file:
|
||||
//!
|
||||
//! ```toml
|
||||
//! [dependencies]
|
||||
//! google-dns1 = "*"
|
||||
//! serde = "^1.0"
|
||||
//! serde_json = "^1.0"
|
||||
//! ```
|
||||
//!
|
||||
//! ## A complete example
|
||||
//!
|
||||
//! ```test_harness,no_run
|
||||
//! extern crate hyper;
|
||||
//! extern crate hyper_rustls;
|
||||
//! extern crate google_dns1 as dns1;
|
||||
//! use dns1::{Result, Error};
|
||||
//! # async fn dox() {
|
||||
//! use std::default::Default;
|
||||
//! use dns1::{Dns, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
//!
|
||||
//! // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
//! // `client_secret`, among other things.
|
||||
//! let secret: oauth2::ApplicationSecret = Default::default();
|
||||
//! // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
//! // unless you replace `None` with the desired Flow.
|
||||
//! // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
//! // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
//! // retrieve them from storage.
|
||||
//! let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
//! secret,
|
||||
//! oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
//! ).build().await.unwrap();
|
||||
//! let mut hub = Dns::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
//! // You can configure optional parameters by calling the respective setters at will, and
|
||||
//! // execute the final call using `doit()`.
|
||||
//! // Values shown here are possibly random and not representative !
|
||||
//! let result = hub.managed_zones().list("project")
|
||||
//! .page_token("At")
|
||||
//! .max_results(-8)
|
||||
//! .dns_name("sed")
|
||||
//! .doit().await;
|
||||
//!
|
||||
//! match result {
|
||||
//! Err(e) => match e {
|
||||
//! // The Error enum provides details about what exactly happened.
|
||||
//! // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
//! Error::HttpError(_)
|
||||
//! |Error::Io(_)
|
||||
//! |Error::MissingAPIKey
|
||||
//! |Error::MissingToken(_)
|
||||
//! |Error::Cancelled
|
||||
//! |Error::UploadSizeLimitExceeded(_, _)
|
||||
//! |Error::Failure(_)
|
||||
//! |Error::BadRequest(_)
|
||||
//! |Error::FieldClash(_)
|
||||
//! |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
//! },
|
||||
//! Ok(res) => println!("Success: {:?}", res),
|
||||
//! }
|
||||
//! # }
|
||||
//! ```
|
||||
//! ## Handling Errors
|
||||
//!
|
||||
//! All errors produced by the system are provided either as [Result](client::Result) enumeration as return value of
|
||||
//! the doit() methods, or handed as possibly intermediate results to either the
|
||||
//! [Hub Delegate](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](client::Result), should be
|
||||
//! read by you to obtain the media.
|
||||
//! If such a method also supports a [Response Result](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")`.
|
||||
//!
|
||||
//! Methods supporting uploads can do so using up to 2 different protocols:
|
||||
//! *simple* and *resumable*. The distinctiveness of each is represented by customized
|
||||
//! `doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.
|
||||
//!
|
||||
//! ## Customization and Callbacks
|
||||
//!
|
||||
//! You may alter the way an `doit()` method is called by providing a [delegate](client::Delegate) to the
|
||||
//! [Method Builder](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](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](client::RequestValue) and
|
||||
//! [decodable](client::ResponseResult) via *json*. Optionals are used to indicate that partial requests are responses
|
||||
//! are valid.
|
||||
//! Most optionals are are considered [Parts](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](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](client::RequestValue) are moved
|
||||
//!
|
||||
//! Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
||||
//!
|
||||
//! [wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
|
||||
//! [builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
|
||||
//! [google-go-api]: https://github.com/google/google-api-go-client
|
||||
//!
|
||||
//!
|
||||
|
||||
// Unused attributes happen thanks to defined, but unused structures
|
||||
// We don't warn about this, as depending on the API, some data structures or facilities are never used.
|
||||
// Instead of pre-determining this, we just disable the lint. It's manually tuned to not have any
|
||||
// unused imports in fully featured APIs. Same with unused_mut ... .
|
||||
#![allow(unused_imports, unused_mut, dead_code)]
|
||||
|
||||
// DO NOT EDIT !
|
||||
// This file was generated automatically from 'src/generator/templates/api/lib.rs.mako'
|
||||
// DO NOT EDIT !
|
||||
|
||||
// Re-export the hyper and hyper_rustls crate, they are required to build the hub
|
||||
pub use hyper;
|
||||
pub use hyper_rustls;
|
||||
pub extern crate google_apis_common as client;
|
||||
pub use client::chrono;
|
||||
pub mod api;
|
||||
|
||||
// Re-export the hub type and some basic client structs
|
||||
pub use api::Dns;
|
||||
pub use client::{Result, Error, Delegate, FieldMask};
|
||||
|
||||
// Re-export the yup_oauth2 crate, that is required to call some methods of the hub and the client
|
||||
#[cfg(feature = "yup-oauth2")]
|
||||
pub use client::oauth2;
|
||||
Reference in New Issue
Block a user