Struct aws_sdk_backupstorage::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for AWS Backup Storage
Client for invoking operations on AWS Backup Storage. Each operation on AWS Backup Storage is a method on this
this struct. .send()
MUST be invoked on the generated operations to dispatch the request to the service.
Constructing a Client
A Config
is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env()
, since this will resolve an SdkConfig
which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env()
instead, which returns a ConfigLoader
that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_backupstorage::Client::new(&config);
Occasionally, SDKs may have additional service-specific that can be set on the Config
that
is absent from SdkConfig
, or slightly different settings for a specific client may be desired.
The Config
struct implements From<&SdkConfig>
, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_backupstorage::config::Builder::from(&sdk_config)
.some_service_specific_setting("value")
.build();
See the aws-config
docs and Config
for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
Using the Client
A client has a function for every operation that can be performed by the service.
For example, the DeleteObject
operation has
a Client::delete_object
, function which returns a builder for that operation.
The fluent builder ultimately has a send()
function that returns an async future that
returns a result, as illustrated below:
let result = client.delete_object()
.backup_job_id("example")
.send()
.await;
The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize
module for more
information.
Implementations§
source§impl Client
impl Client
sourcepub fn delete_object(&self) -> DeleteObjectFluentBuilder
pub fn delete_object(&self) -> DeleteObjectFluentBuilder
Constructs a fluent builder for the DeleteObject
operation.
- The fluent builder is configurable:
backup_job_id(impl Into<String>)
/set_backup_job_id(Option<String>)
:
required: true
Backup job Id for the in-progress backup.object_name(impl Into<String>)
/set_object_name(Option<String>)
:
required: true
The name of the Object.
- On success, responds with
DeleteObjectOutput
- On failure, responds with
SdkError<DeleteObjectError>
source§impl Client
impl Client
sourcepub fn get_chunk(&self) -> GetChunkFluentBuilder
pub fn get_chunk(&self) -> GetChunkFluentBuilder
Constructs a fluent builder for the GetChunk
operation.
- The fluent builder is configurable:
storage_job_id(impl Into<String>)
/set_storage_job_id(Option<String>)
:
required: true
Storage job idchunk_token(impl Into<String>)
/set_chunk_token(Option<String>)
:
required: true
Chunk token
- On success, responds with
GetChunkOutput
with field(s):data(ByteStream)
: Chunk datalength(i64)
: Data lengthchecksum(String)
: Data checksumchecksum_algorithm(DataChecksumAlgorithm)
: Checksum algorithm
- On failure, responds with
SdkError<GetChunkError>
source§impl Client
impl Client
sourcepub fn get_object_metadata(&self) -> GetObjectMetadataFluentBuilder
pub fn get_object_metadata(&self) -> GetObjectMetadataFluentBuilder
Constructs a fluent builder for the GetObjectMetadata
operation.
- The fluent builder is configurable:
storage_job_id(impl Into<String>)
/set_storage_job_id(Option<String>)
:
required: true
Backup job id for the in-progress backup.object_token(impl Into<String>)
/set_object_token(Option<String>)
:
required: true
Object token.
- On success, responds with
GetObjectMetadataOutput
with field(s):metadata_string(Option<String>)
: Metadata string.metadata_blob(ByteStream)
: Metadata blob.metadata_blob_length(i64)
: The size of MetadataBlob.metadata_blob_checksum(Option<String>)
: MetadataBlob checksum.metadata_blob_checksum_algorithm(Option<DataChecksumAlgorithm>)
: Checksum algorithm.
- On failure, responds with
SdkError<GetObjectMetadataError>
source§impl Client
impl Client
sourcepub fn list_chunks(&self) -> ListChunksFluentBuilder
pub fn list_chunks(&self) -> ListChunksFluentBuilder
Constructs a fluent builder for the ListChunks
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
storage_job_id(impl Into<String>)
/set_storage_job_id(Option<String>)
:
required: true
Storage job idobject_token(impl Into<String>)
/set_object_token(Option<String>)
:
required: true
Object tokenmax_results(i32)
/set_max_results(Option<i32>)
:
required: false
Maximum number of chunksnext_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: false
Pagination token
- On success, responds with
ListChunksOutput
with field(s):chunk_list(Vec::<Chunk>)
: List of chunksnext_token(Option<String>)
: Pagination token
- On failure, responds with
SdkError<ListChunksError>
source§impl Client
impl Client
sourcepub fn list_objects(&self) -> ListObjectsFluentBuilder
pub fn list_objects(&self) -> ListObjectsFluentBuilder
Constructs a fluent builder for the ListObjects
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
storage_job_id(impl Into<String>)
/set_storage_job_id(Option<String>)
:
required: true
Storage job idstarting_object_name(impl Into<String>)
/set_starting_object_name(Option<String>)
:
required: false
Optional, specifies the starting Object name to list from. Ignored if NextToken is not NULLstarting_object_prefix(impl Into<String>)
/set_starting_object_prefix(Option<String>)
:
required: false
Optional, specifies the starting Object prefix to list from. Ignored if NextToken is not NULLmax_results(i32)
/set_max_results(Option<i32>)
:
required: false
Maximum objects countnext_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: false
Pagination tokencreated_before(DateTime)
/set_created_before(Option<DateTime>)
:
required: false
(Optional) Created before filtercreated_after(DateTime)
/set_created_after(Option<DateTime>)
:
required: false
(Optional) Created after filter
- On success, responds with
ListObjectsOutput
with field(s):object_list(Vec::<BackupObject>)
: Object listnext_token(Option<String>)
: Pagination token
- On failure, responds with
SdkError<ListObjectsError>
source§impl Client
impl Client
sourcepub fn notify_object_complete(&self) -> NotifyObjectCompleteFluentBuilder
pub fn notify_object_complete(&self) -> NotifyObjectCompleteFluentBuilder
Constructs a fluent builder for the NotifyObjectComplete
operation.
- The fluent builder is configurable:
backup_job_id(impl Into<String>)
/set_backup_job_id(Option<String>)
:
required: true
Backup job Id for the in-progress backupupload_id(impl Into<String>)
/set_upload_id(Option<String>)
:
required: true
Upload Id for the in-progress uploadobject_checksum(impl Into<String>)
/set_object_checksum(Option<String>)
:
required: true
Object checksumobject_checksum_algorithm(SummaryChecksumAlgorithm)
/set_object_checksum_algorithm(Option<SummaryChecksumAlgorithm>)
:
required: true
Checksum algorithmmetadata_string(impl Into<String>)
/set_metadata_string(Option<String>)
:
required: false
Optional metadata associated with an Object. Maximum string length is 256 bytes.metadata_blob(ByteStream)
/set_metadata_blob(ByteStream)
:
required: false
Optional metadata associated with an Object. Maximum length is 4MB.metadata_blob_length(i64)
/set_metadata_blob_length(Option<i64>)
:
required: false
The size of MetadataBlob.metadata_blob_checksum(impl Into<String>)
/set_metadata_blob_checksum(Option<String>)
:
required: false
Checksum of MetadataBlob.metadata_blob_checksum_algorithm(DataChecksumAlgorithm)
/set_metadata_blob_checksum_algorithm(Option<DataChecksumAlgorithm>)
:
required: false
Checksum algorithm.
- On success, responds with
NotifyObjectCompleteOutput
with field(s):object_checksum(String)
: Object checksumobject_checksum_algorithm(SummaryChecksumAlgorithm)
: Checksum algorithm
- On failure, responds with
SdkError<NotifyObjectCompleteError>
source§impl Client
impl Client
sourcepub fn put_chunk(&self) -> PutChunkFluentBuilder
pub fn put_chunk(&self) -> PutChunkFluentBuilder
Constructs a fluent builder for the PutChunk
operation.
- The fluent builder is configurable:
backup_job_id(impl Into<String>)
/set_backup_job_id(Option<String>)
:
required: true
Backup job Id for the in-progress backup.upload_id(impl Into<String>)
/set_upload_id(Option<String>)
:
required: true
Upload Id for the in-progress upload.chunk_index(i64)
/set_chunk_index(Option<i64>)
:
required: true
Describes this chunk’s position relative to the other chunksdata(ByteStream)
/set_data(ByteStream)
:
required: true
Data to be uploadedlength(i64)
/set_length(Option<i64>)
:
required: true
Data lengthchecksum(impl Into<String>)
/set_checksum(Option<String>)
:
required: true
Data checksumchecksum_algorithm(DataChecksumAlgorithm)
/set_checksum_algorithm(Option<DataChecksumAlgorithm>)
:
required: true
Checksum algorithm
- On success, responds with
PutChunkOutput
with field(s):chunk_checksum(String)
: Chunk checksumchunk_checksum_algorithm(DataChecksumAlgorithm)
: Checksum algorithm
- On failure, responds with
SdkError<PutChunkError>
source§impl Client
impl Client
sourcepub fn put_object(&self) -> PutObjectFluentBuilder
pub fn put_object(&self) -> PutObjectFluentBuilder
Constructs a fluent builder for the PutObject
operation.
- The fluent builder is configurable:
backup_job_id(impl Into<String>)
/set_backup_job_id(Option<String>)
:
required: true
Backup job Id for the in-progress backup.object_name(impl Into<String>)
/set_object_name(Option<String>)
:
required: true
The name of the Object to be uploaded.metadata_string(impl Into<String>)
/set_metadata_string(Option<String>)
:
required: false
Store user defined metadata like backup checksum, disk ids, restore metadata etc.inline_chunk(ByteStream)
/set_inline_chunk(ByteStream)
:
required: false
Inline chunk data to be uploaded.inline_chunk_length(i64)
/set_inline_chunk_length(Option<i64>)
:
required: false
Length of the inline chunk data.inline_chunk_checksum(impl Into<String>)
/set_inline_chunk_checksum(Option<String>)
:
required: false
Inline chunk checksuminline_chunk_checksum_algorithm(impl Into<String>)
/set_inline_chunk_checksum_algorithm(Option<String>)
:
required: false
Inline chunk checksum algorithmobject_checksum(impl Into<String>)
/set_object_checksum(Option<String>)
:
required: false
object checksumobject_checksum_algorithm(SummaryChecksumAlgorithm)
/set_object_checksum_algorithm(Option<SummaryChecksumAlgorithm>)
:
required: false
object checksum algorithmthrow_on_duplicate(bool)
/set_throw_on_duplicate(Option<bool>)
:
required: false
Throw an exception if Object name is already exist.
- On success, responds with
PutObjectOutput
with field(s):inline_chunk_checksum(String)
: Inline chunk checksuminline_chunk_checksum_algorithm(DataChecksumAlgorithm)
: Inline chunk checksum algorithmobject_checksum(String)
: object checksumobject_checksum_algorithm(SummaryChecksumAlgorithm)
: object checksum algorithm
- On failure, responds with
SdkError<PutObjectError>
source§impl Client
impl Client
sourcepub fn start_object(&self) -> StartObjectFluentBuilder
pub fn start_object(&self) -> StartObjectFluentBuilder
Constructs a fluent builder for the StartObject
operation.
- The fluent builder is configurable:
backup_job_id(impl Into<String>)
/set_backup_job_id(Option<String>)
:
required: true
Backup job Id for the in-progress backupobject_name(impl Into<String>)
/set_object_name(Option<String>)
:
required: true
Name for the object.throw_on_duplicate(bool)
/set_throw_on_duplicate(Option<bool>)
:
required: false
Throw an exception if Object name is already exist.
- On success, responds with
StartObjectOutput
with field(s):upload_id(String)
: Upload Id for a given upload.
- On failure, responds with
SdkError<StartObjectError>
source§impl Client
impl Client
sourcepub fn from_conf(conf: Config) -> Self
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config
.
Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a
sleep_impl
configured. - Identity caching is enabled without a
sleep_impl
andtime_source
configured. - No
behavior_version
is provided.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
Panics
- This method will panic if the
sdk_config
is missing an async sleep implementation. If you experience this panic, set thesleep_impl
on the Config passed into this function to fix it. - This method will panic if the
sdk_config
is missing an HTTP connector. If you experience this panic, set thehttp_connector
on the Config passed into this function to fix it. - This method will panic if no
BehaviorVersion
is provided. If you experience this panic, setbehavior_version
on the Config or enable thebehavior-version-latest
Cargo feature.