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 more