Struct object_store::gcp::GoogleCloudStorageBuilder
source · pub struct GoogleCloudStorageBuilder { /* private fields */ }
Expand description
Implementations§
source§impl GoogleCloudStorageBuilder
impl GoogleCloudStorageBuilder
sourcepub fn new() -> Self
pub fn new() -> Self
Create a new GoogleCloudStorageBuilder
with default values.
sourcepub fn from_env() -> Self
pub fn from_env() -> Self
Create an instance of GoogleCloudStorageBuilder
with values pre-populated from environment variables.
Variables extracted from environment:
- GOOGLE_SERVICE_ACCOUNT: location of service account file
- GOOGLE_SERVICE_ACCOUNT_PATH: (alias) location of service account file
- SERVICE_ACCOUNT: (alias) location of service account file
- GOOGLE_SERVICE_ACCOUNT_KEY: JSON serialized service account key
- GOOGLE_BUCKET: bucket name
- GOOGLE_BUCKET_NAME: (alias) bucket name
§Example
use object_store::gcp::GoogleCloudStorageBuilder;
let gcs = GoogleCloudStorageBuilder::from_env()
.with_bucket_name("foo")
.build();
sourcepub fn with_url(self, url: impl Into<String>) -> Self
pub fn with_url(self, url: impl Into<String>) -> Self
Parse available connection info form a well-known storage URL.
The supported url schemes are:
gs://<bucket>/<path>
Note: Settings derived from the URL will override any others set on this builder
§Example
use object_store::gcp::GoogleCloudStorageBuilder;
let gcs = GoogleCloudStorageBuilder::from_env()
.with_url("gs://bucket/path")
.build();
sourcepub fn with_config(self, key: GoogleConfigKey, value: impl Into<String>) -> Self
pub fn with_config(self, key: GoogleConfigKey, value: impl Into<String>) -> Self
Set an option on the builder via a key - value pair.
sourcepub fn get_config_value(&self, key: &GoogleConfigKey) -> Option<String>
pub fn get_config_value(&self, key: &GoogleConfigKey) -> Option<String>
Get config value via a GoogleConfigKey
.
§Example
use object_store::gcp::{GoogleCloudStorageBuilder, GoogleConfigKey};
let builder = GoogleCloudStorageBuilder::from_env()
.with_service_account_key("foo");
let service_account_key = builder.get_config_value(&GoogleConfigKey::ServiceAccountKey).unwrap_or_default();
assert_eq!("foo", &service_account_key);
sourcepub fn with_bucket_name(self, bucket_name: impl Into<String>) -> Self
pub fn with_bucket_name(self, bucket_name: impl Into<String>) -> Self
Set the bucket name (required)
sourcepub fn with_service_account_path(
self,
service_account_path: impl Into<String>,
) -> Self
pub fn with_service_account_path( self, service_account_path: impl Into<String>, ) -> Self
Set the path to the service account file.
This or GoogleCloudStorageBuilder::with_service_account_key
must be
set.
Example "/tmp/gcs.json"
.
Example contents of gcs.json
:
{
"gcs_base_url": "https://localhost:4443",
"disable_oauth": true,
"client_email": "",
"private_key": ""
}
sourcepub fn with_service_account_key(
self,
service_account: impl Into<String>,
) -> Self
pub fn with_service_account_key( self, service_account: impl Into<String>, ) -> Self
Set the service account key. The service account must be in the JSON format.
This or GoogleCloudStorageBuilder::with_service_account_path
must be
set.
sourcepub fn with_application_credentials(
self,
application_credentials_path: impl Into<String>,
) -> Self
pub fn with_application_credentials( self, application_credentials_path: impl Into<String>, ) -> Self
Set the path to the application credentials file.
https://cloud.google.com/docs/authentication/provide-credentials-adc
sourcepub fn with_credentials(self, credentials: GcpCredentialProvider) -> Self
pub fn with_credentials(self, credentials: GcpCredentialProvider) -> Self
Set the credential provider overriding any other options
sourcepub fn with_retry(self, retry_config: RetryConfig) -> Self
pub fn with_retry(self, retry_config: RetryConfig) -> Self
Set the retry configuration
sourcepub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
pub fn with_proxy_url(self, proxy_url: impl Into<String>) -> Self
Set the proxy_url to be used by the underlying client
sourcepub fn with_proxy_ca_certificate(
self,
proxy_ca_certificate: impl Into<String>,
) -> Self
pub fn with_proxy_ca_certificate( self, proxy_ca_certificate: impl Into<String>, ) -> Self
Set a trusted proxy CA certificate
sourcepub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
pub fn with_proxy_excludes(self, proxy_excludes: impl Into<String>) -> Self
Set a list of hosts to exclude from proxy connections
sourcepub fn with_client_options(self, options: ClientOptions) -> Self
pub fn with_client_options(self, options: ClientOptions) -> Self
Sets the client options, overriding any already set
sourcepub fn build(self) -> Result<GoogleCloudStorage>
pub fn build(self) -> Result<GoogleCloudStorage>
Configure a connection to Google Cloud Storage, returning a
new GoogleCloudStorage
and consuming self
Trait Implementations§
source§impl Clone for GoogleCloudStorageBuilder
impl Clone for GoogleCloudStorageBuilder
source§fn clone(&self) -> GoogleCloudStorageBuilder
fn clone(&self) -> GoogleCloudStorageBuilder
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GoogleCloudStorageBuilder
impl Debug for GoogleCloudStorageBuilder
Auto Trait Implementations§
impl !Freeze for GoogleCloudStorageBuilder
impl !RefUnwindSafe for GoogleCloudStorageBuilder
impl Send for GoogleCloudStorageBuilder
impl Sync for GoogleCloudStorageBuilder
impl Unpin for GoogleCloudStorageBuilder
impl !UnwindSafe for GoogleCloudStorageBuilder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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