use super::*; /// Central instance to access all DeploymentManager related resource activities /// /// # Examples /// /// Instantiate a new hub /// /// ```test_harness,no_run /// extern crate hyper; /// extern crate hyper_rustls; /// extern crate google_deploymentmanager2_beta2 as deploymentmanager2_beta2; /// use deploymentmanager2_beta2::api::Deployment; /// use deploymentmanager2_beta2::{Result, Error}; /// # async fn dox() { /// use std::default::Default; /// use deploymentmanager2_beta2::{DeploymentManager, 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 = DeploymentManager::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().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 ! /// let mut req = Deployment::default(); /// /// // 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.deployments().patch(req, "project", "deployment") /// .update_policy("ipsum") /// .delete_policy("gubergren") /// .create_policy("Lorem") /// .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 DeploymentManager { pub client: hyper::Client, pub auth: Box, pub(super) _user_agent: String, pub(super) _base_url: String, pub(super) _root_url: String, } impl<'a, S> client::Hub for DeploymentManager {} impl<'a, S> DeploymentManager { pub fn new(client: hyper::Client, auth: A) -> DeploymentManager { DeploymentManager { client, auth: Box::new(auth), _user_agent: "google-api-rust-client/5.0.3".to_string(), _base_url: "https://www.googleapis.com/deploymentmanager/v2beta2/projects/".to_string(), _root_url: "https://www.googleapis.com/".to_string(), } } pub fn deployments(&'a self) -> DeploymentMethods<'a, S> { DeploymentMethods { hub: &self } } pub fn manifests(&'a self) -> ManifestMethods<'a, S> { ManifestMethods { hub: &self } } pub fn operations(&'a self) -> OperationMethods<'a, S> { OperationMethods { hub: &self } } pub fn resources(&'a self) -> ResourceMethods<'a, S> { ResourceMethods { hub: &self } } pub fn types(&'a self) -> TypeMethods<'a, S> { TypeMethods { 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://www.googleapis.com/deploymentmanager/v2beta2/projects/`. /// /// 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://www.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) } }