Struct aws_sdk_cloudfrontkeyvaluestore::client::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for Amazon CloudFront KeyValueStore
Client for invoking operations on Amazon CloudFront KeyValueStore. Each operation on Amazon CloudFront KeyValueStore 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_cloudfrontkeyvaluestore::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_cloudfrontkeyvaluestore::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 DeleteKey
operation has
a Client::delete_key
, 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_key()
.kvs_arn("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_key(&self) -> DeleteKeyFluentBuilder
pub fn delete_key(&self) -> DeleteKeyFluentBuilder
Constructs a fluent builder for the DeleteKey
operation.
- The fluent builder is configurable:
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
key(impl Into<String>)
/set_key(Option<String>)
:
required: trueThe key to delete.
if_match(impl Into<String>)
/set_if_match(Option<String>)
:
required: trueThe current version (ETag) of the Key Value Store that you are deleting keys from, which you can get using DescribeKeyValueStore.
- On success, responds with
DeleteKeyOutput
with field(s):item_count(i32)
:Number of key value pairs in the Key Value Store after the successful delete.
total_size_in_bytes(i64)
:Total size of the Key Value Store after the successful delete, in bytes.
e_tag(String)
:The current version identifier of the Key Value Store after the successful delete.
- On failure, responds with
SdkError<DeleteKeyError>
source§impl Client
impl Client
sourcepub fn describe_key_value_store(&self) -> DescribeKeyValueStoreFluentBuilder
pub fn describe_key_value_store(&self) -> DescribeKeyValueStoreFluentBuilder
Constructs a fluent builder for the DescribeKeyValueStore
operation.
- The fluent builder is configurable:
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
- On success, responds with
DescribeKeyValueStoreOutput
with field(s):item_count(i32)
:Number of key value pairs in the Key Value Store.
total_size_in_bytes(i64)
:Total size of the Key Value Store in bytes.
kvs_arn(String)
:The Amazon Resource Name (ARN) of the Key Value Store.
created(DateTime)
:Date and time when the Key Value Store was created.
e_tag(String)
:The version identifier for the current version of the Key Value Store.
last_modified(Option<DateTime>)
:Date and time when the key value pairs in the Key Value Store was last modified.
status(Option<String>)
:The current status of the Key Value Store.
failure_reason(Option<String>)
:The reason for Key Value Store creation failure.
- On failure, responds with
SdkError<DescribeKeyValueStoreError>
source§impl Client
impl Client
sourcepub fn get_key(&self) -> GetKeyFluentBuilder
pub fn get_key(&self) -> GetKeyFluentBuilder
Constructs a fluent builder for the GetKey
operation.
- The fluent builder is configurable:
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
key(impl Into<String>)
/set_key(Option<String>)
:
required: trueThe key to get.
- On success, responds with
GetKeyOutput
with field(s):key(String)
:The key of the key value pair.
value(String)
:The value of the key value pair.
item_count(i32)
:Number of key value pairs in the Key Value Store.
total_size_in_bytes(i64)
:Total size of the Key Value Store in bytes.
- On failure, responds with
SdkError<GetKeyError>
source§impl Client
impl Client
sourcepub fn list_keys(&self) -> ListKeysFluentBuilder
pub fn list_keys(&self) -> ListKeysFluentBuilder
Constructs a fluent builder for the ListKeys
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseIf nextToken is returned in the response, there are more results available. Make the next call using the returned token to retrieve the next page.
max_results(i32)
/set_max_results(Option<i32>)
:
required: falseMaximum number of results that are returned per call. The default is 10 and maximum allowed page is 50.
- On success, responds with
ListKeysOutput
with field(s):next_token(Option<String>)
:If nextToken is returned in the response, there are more results available. Make the next call using the returned token to retrieve the next page.
items(Option<Vec::<ListKeysResponseListItem>>)
:Key value pairs
- On failure, responds with
SdkError<ListKeysError>
source§impl Client
impl Client
sourcepub fn put_key(&self) -> PutKeyFluentBuilder
pub fn put_key(&self) -> PutKeyFluentBuilder
Constructs a fluent builder for the PutKey
operation.
- The fluent builder is configurable:
key(impl Into<String>)
/set_key(Option<String>)
:
required: trueThe key to put.
value(impl Into<String>)
/set_value(Option<String>)
:
required: trueThe value to put.
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
if_match(impl Into<String>)
/set_if_match(Option<String>)
:
required: trueThe current version (ETag) of the Key Value Store that you are putting keys into, which you can get using DescribeKeyValueStore.
- On success, responds with
PutKeyOutput
with field(s):item_count(i32)
:Number of key value pairs in the Key Value Store after the successful put.
total_size_in_bytes(i64)
:Total size of the Key Value Store after the successful put, in bytes.
e_tag(String)
:The current version identifier of the Key Value Store after the successful put.
- On failure, responds with
SdkError<PutKeyError>
source§impl Client
impl Client
sourcepub fn update_keys(&self) -> UpdateKeysFluentBuilder
pub fn update_keys(&self) -> UpdateKeysFluentBuilder
Constructs a fluent builder for the UpdateKeys
operation.
- The fluent builder is configurable:
kvs_arn(impl Into<String>)
/set_kvs_arn(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) of the Key Value Store.
if_match(impl Into<String>)
/set_if_match(Option<String>)
:
required: trueThe current version (ETag) of the Key Value Store that you are updating keys of, which you can get using DescribeKeyValueStore.
puts(PutKeyRequestListItem)
/set_puts(Option<Vec::<PutKeyRequestListItem>>)
:
required: falseList of key value pairs to put.
deletes(DeleteKeyRequestListItem)
/set_deletes(Option<Vec::<DeleteKeyRequestListItem>>)
:
required: falseList of keys to delete.
- On success, responds with
UpdateKeysOutput
with field(s):item_count(i32)
:Number of key value pairs in the Key Value Store after the successful update.
total_size_in_bytes(i64)
:Total size of the Key Value Store after the successful update, in bytes.
e_tag(String)
:The current version identifier of the Key Value Store after the successful update.
- On failure, responds with
SdkError<UpdateKeysError>
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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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> 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