Struct aws_sdk_backupstorage::client::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 values 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
GetChunkOutputwith 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
GetObjectMetadataOutputwith 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
ListChunksOutputwith 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
ListObjectsOutputwith 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
NotifyObjectCompleteOutputwith 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
PutChunkOutputwith 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
PutObjectOutputwith 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
StartObjectOutputwith 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_implconfigured. - Identity caching is enabled without a
sleep_implandtime_sourceconfigured. - No
behavior_versionis 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_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it. - This method will panic if the
sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it. - This method will panic if no
BehaviorVersionis provided. If you experience this panic, setbehavior_versionon the Config or enable thebehavior-version-latestCargo feature.