Struct google_storage1::api::Storage
source · pub struct Storage<S> {
pub client: Client<S, Body>,
pub auth: Box<dyn GetToken>,
/* private fields */
}
Expand description
Central instance to access all Storage related resource activities
§Examples
Instantiate a new hub
extern crate hyper;
extern crate hyper_rustls;
extern crate google_storage1 as storage1;
use storage1::api::Object;
use storage1::{Result, Error};
use std::default::Default;
use storage1::{Storage, 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 = Storage::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 = Object::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.objects().rewrite(req, "sourceBucket", "sourceObject", "destinationBucket", "destinationObject")
.user_project("Stet")
.source_generation(-13)
.rewrite_token("et")
.projection("sed")
.max_bytes_rewritten_per_call(-24)
.if_source_metageneration_not_match(-68)
.if_source_metageneration_match(-76)
.if_source_generation_not_match(-31)
.if_source_generation_match(-93)
.if_metageneration_not_match(-20)
.if_metageneration_match(-34)
.if_generation_not_match(-22)
.if_generation_match(-28)
.destination_predefined_acl("amet.")
.destination_kms_key_name("consetetur")
.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),
}
Fields§
§client: Client<S, Body>
§auth: Box<dyn GetToken>
Implementations§
source§impl<'a, S> Storage<S>
impl<'a, S> Storage<S>
pub fn new<A: 'static + GetToken>( client: Client<S, Body>, auth: A ) -> Storage<S>
pub fn anywhere_caches(&'a self) -> AnywhereCachMethods<'a, S>
pub fn bucket_access_controls(&'a self) -> BucketAccessControlMethods<'a, S>
pub fn buckets(&'a self) -> BucketMethods<'a, S>
pub fn channels(&'a self) -> ChannelMethods<'a, S>
pub fn default_object_access_controls( &'a self ) -> DefaultObjectAccessControlMethods<'a, S>
pub fn folders(&'a self) -> FolderMethods<'a, S>
pub fn managed_folders(&'a self) -> ManagedFolderMethods<'a, S>
pub fn notifications(&'a self) -> NotificationMethods<'a, S>
pub fn object_access_controls(&'a self) -> ObjectAccessControlMethods<'a, S>
pub fn objects(&'a self) -> ObjectMethods<'a, S>
pub fn projects(&'a self) -> ProjectMethods<'a, S>
sourcepub fn user_agent(&mut self, agent_name: String) -> String
pub fn user_agent(&mut self, agent_name: String) -> String
Set the user-agent header field to use in all requests to the server.
It defaults to google-api-rust-client/5.0.4
.
Returns the previously set user-agent.
Trait Implementations§
Auto Trait Implementations§
impl<S> !RefUnwindSafe for Storage<S>
impl<S> Send for Storage<S>where
S: Send,
impl<S> Sync for Storage<S>where
S: Sync,
impl<S> Unpin for Storage<S>where
S: Unpin,
impl<S> !UnwindSafe for Storage<S>
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
Mutably borrows from an owned value. Read more