Struct aws_sdk_mediastore::Client
source · pub struct Client { /* private fields */ }
Expand description
Client for AWS Elemental MediaStore
Client for invoking operations on AWS Elemental MediaStore. Each operation on AWS Elemental MediaStore 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_mediastore::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_mediastore::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 CreateContainer
operation has
a Client::create_container
, 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.create_container()
.container_name("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 create_container(&self) -> CreateContainerFluentBuilder
pub fn create_container(&self) -> CreateContainerFluentBuilder
Constructs a fluent builder for the CreateContainer
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name for the container. The name must be from 1 to 255 characters. Container names must be unique to your AWS account within a specific region. As an example, you could create a container named
movies
in every region, as long as you don’t have an existing container with that name.tags(Tag)
/set_tags(Option<Vec::<Tag>>)
:
required: falseAn array of key:value pairs that you define. These values can be anything that you want. Typically, the tag key represents a category (such as “environment”) and the tag value represents a specific value within that category (such as “test,” “development,” or “production”). You can add up to 50 tags to each container. For more information about tagging, including naming and usage conventions, see Tagging Resources in MediaStore.
- On success, responds with
CreateContainerOutput
with field(s):container(Option<Container>)
:ContainerARN: The Amazon Resource Name (ARN) of the newly created container. The ARN has the following format: arn:aws:
: :container/ . For example: arn:aws:mediastore:us-west-2:111122223333:container/movies ContainerName: The container name as specified in the request.
CreationTime: Unix time stamp.
Status: The status of container creation or deletion. The status is one of the following:
CREATING
,ACTIVE
, orDELETING
. While the service is creating the container, the status isCREATING
. When an endpoint is available, the status changes toACTIVE
.The return value does not include the container’s endpoint. To make downstream requests, you must obtain this value by using
DescribeContainer
orListContainers
.
- On failure, responds with
SdkError<CreateContainerError>
source§impl Client
impl Client
sourcepub fn delete_container(&self) -> DeleteContainerFluentBuilder
pub fn delete_container(&self) -> DeleteContainerFluentBuilder
Constructs a fluent builder for the DeleteContainer
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container to delete.
- On success, responds with
DeleteContainerOutput
- On failure, responds with
SdkError<DeleteContainerError>
source§impl Client
impl Client
sourcepub fn delete_container_policy(&self) -> DeleteContainerPolicyFluentBuilder
pub fn delete_container_policy(&self) -> DeleteContainerPolicyFluentBuilder
Constructs a fluent builder for the DeleteContainerPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that holds the policy.
- On success, responds with
DeleteContainerPolicyOutput
- On failure, responds with
SdkError<DeleteContainerPolicyError>
source§impl Client
impl Client
sourcepub fn delete_cors_policy(&self) -> DeleteCorsPolicyFluentBuilder
pub fn delete_cors_policy(&self) -> DeleteCorsPolicyFluentBuilder
Constructs a fluent builder for the DeleteCorsPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container to remove the policy from.
- On success, responds with
DeleteCorsPolicyOutput
- On failure, responds with
SdkError<DeleteCorsPolicyError>
source§impl Client
impl Client
sourcepub fn delete_lifecycle_policy(&self) -> DeleteLifecyclePolicyFluentBuilder
pub fn delete_lifecycle_policy(&self) -> DeleteLifecyclePolicyFluentBuilder
Constructs a fluent builder for the DeleteLifecyclePolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that holds the object lifecycle policy.
- On success, responds with
DeleteLifecyclePolicyOutput
- On failure, responds with
SdkError<DeleteLifecyclePolicyError>
source§impl Client
impl Client
sourcepub fn delete_metric_policy(&self) -> DeleteMetricPolicyFluentBuilder
pub fn delete_metric_policy(&self) -> DeleteMetricPolicyFluentBuilder
Constructs a fluent builder for the DeleteMetricPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that is associated with the metric policy that you want to delete.
- On success, responds with
DeleteMetricPolicyOutput
- On failure, responds with
SdkError<DeleteMetricPolicyError>
source§impl Client
impl Client
sourcepub fn describe_container(&self) -> DescribeContainerFluentBuilder
pub fn describe_container(&self) -> DescribeContainerFluentBuilder
Constructs a fluent builder for the DescribeContainer
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: falseThe name of the container to query.
- On success, responds with
DescribeContainerOutput
with field(s):container(Option<Container>)
:The name of the queried container.
- On failure, responds with
SdkError<DescribeContainerError>
source§impl Client
impl Client
sourcepub fn get_container_policy(&self) -> GetContainerPolicyFluentBuilder
pub fn get_container_policy(&self) -> GetContainerPolicyFluentBuilder
Constructs a fluent builder for the GetContainerPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container.
- On success, responds with
GetContainerPolicyOutput
with field(s):policy(String)
:The contents of the access policy.
- On failure, responds with
SdkError<GetContainerPolicyError>
source§impl Client
impl Client
sourcepub fn get_cors_policy(&self) -> GetCorsPolicyFluentBuilder
pub fn get_cors_policy(&self) -> GetCorsPolicyFluentBuilder
Constructs a fluent builder for the GetCorsPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that the policy is assigned to.
- On success, responds with
GetCorsPolicyOutput
with field(s):cors_policy(Vec::<CorsRule>)
:The CORS policy assigned to the container.
- On failure, responds with
SdkError<GetCorsPolicyError>
source§impl Client
impl Client
sourcepub fn get_lifecycle_policy(&self) -> GetLifecyclePolicyFluentBuilder
pub fn get_lifecycle_policy(&self) -> GetLifecyclePolicyFluentBuilder
Constructs a fluent builder for the GetLifecyclePolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that the object lifecycle policy is assigned to.
- On success, responds with
GetLifecyclePolicyOutput
with field(s):lifecycle_policy(String)
:The object lifecycle policy that is assigned to the container.
- On failure, responds with
SdkError<GetLifecyclePolicyError>
source§impl Client
impl Client
sourcepub fn get_metric_policy(&self) -> GetMetricPolicyFluentBuilder
pub fn get_metric_policy(&self) -> GetMetricPolicyFluentBuilder
Constructs a fluent builder for the GetMetricPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that is associated with the metric policy.
- On success, responds with
GetMetricPolicyOutput
with field(s):metric_policy(Option<MetricPolicy>)
:The metric policy that is associated with the specific container.
- On failure, responds with
SdkError<GetMetricPolicyError>
source§impl Client
impl Client
sourcepub fn list_containers(&self) -> ListContainersFluentBuilder
pub fn list_containers(&self) -> ListContainersFluentBuilder
Constructs a fluent builder for the ListContainers
operation.
This operation supports pagination; See into_paginator()
.
- The fluent builder is configurable:
next_token(impl Into<String>)
/set_next_token(Option<String>)
:
required: falseOnly if you used
MaxResults
in the first command, enter the token (which was included in the previous response) to obtain the next set of containers. This token is included in a response only if there actually are more containers to list.max_results(i32)
/set_max_results(Option<i32>)
:
required: falseEnter the maximum number of containers in the response. Use from 1 to 255 characters.
- On success, responds with
ListContainersOutput
with field(s):containers(Vec::<Container>)
:The names of the containers.
next_token(Option<String>)
:NextToken
is the token to use in the next call toListContainers
. This token is returned only if you included theMaxResults
tag in the original command, and only if there are still containers to return.
- On failure, responds with
SdkError<ListContainersError>
source§impl Client
impl Client
Constructs a fluent builder for the ListTagsForResource
operation.
- The fluent builder is configurable:
resource(impl Into<String>)
/set_resource(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) for the container.
- On success, responds with
ListTagsForResourceOutput
with field(s):tags(Option<Vec::<Tag>>)
:An array of key:value pairs that are assigned to the container.
- On failure, responds with
SdkError<ListTagsForResourceError>
source§impl Client
impl Client
sourcepub fn put_container_policy(&self) -> PutContainerPolicyFluentBuilder
pub fn put_container_policy(&self) -> PutContainerPolicyFluentBuilder
Constructs a fluent builder for the PutContainerPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container.
policy(impl Into<String>)
/set_policy(Option<String>)
:
required: trueThe contents of the policy, which includes the following:
-
One
Version
tag -
One
Statement
tag that contains the standard tags for the policy.
-
- On success, responds with
PutContainerPolicyOutput
- On failure, responds with
SdkError<PutContainerPolicyError>
source§impl Client
impl Client
sourcepub fn put_cors_policy(&self) -> PutCorsPolicyFluentBuilder
pub fn put_cors_policy(&self) -> PutCorsPolicyFluentBuilder
Constructs a fluent builder for the PutCorsPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that you want to assign the CORS policy to.
cors_policy(CorsRule)
/set_cors_policy(Option<Vec::<CorsRule>>)
:
required: trueThe CORS policy to apply to the container.
- On success, responds with
PutCorsPolicyOutput
- On failure, responds with
SdkError<PutCorsPolicyError>
source§impl Client
impl Client
sourcepub fn put_lifecycle_policy(&self) -> PutLifecyclePolicyFluentBuilder
pub fn put_lifecycle_policy(&self) -> PutLifecyclePolicyFluentBuilder
Constructs a fluent builder for the PutLifecyclePolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that you want to assign the object lifecycle policy to.
lifecycle_policy(impl Into<String>)
/set_lifecycle_policy(Option<String>)
:
required: trueThe object lifecycle policy to apply to the container.
- On success, responds with
PutLifecyclePolicyOutput
- On failure, responds with
SdkError<PutLifecyclePolicyError>
source§impl Client
impl Client
sourcepub fn put_metric_policy(&self) -> PutMetricPolicyFluentBuilder
pub fn put_metric_policy(&self) -> PutMetricPolicyFluentBuilder
Constructs a fluent builder for the PutMetricPolicy
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that you want to add the metric policy to.
metric_policy(MetricPolicy)
/set_metric_policy(Option<MetricPolicy>)
:
required: trueThe metric policy that you want to associate with the container. In the policy, you must indicate whether you want MediaStore to send container-level metrics. You can also include up to five rules to define groups of objects that you want MediaStore to send object-level metrics for. If you include rules in the policy, construct each rule with both of the following:
-
An object group that defines which objects to include in the group. The definition can be a path or a file name, but it can’t have more than 900 characters. Valid characters are: a-z, A-Z, 0-9, _ (underscore), = (equal), : (colon), . (period), - (hyphen), ~ (tilde), / (forward slash), and * (asterisk). Wildcards (*) are acceptable.
-
An object group name that allows you to refer to the object group. The name can’t have more than 30 characters. Valid characters are: a-z, A-Z, 0-9, and _ (underscore).
-
- On success, responds with
PutMetricPolicyOutput
- On failure, responds with
SdkError<PutMetricPolicyError>
source§impl Client
impl Client
sourcepub fn start_access_logging(&self) -> StartAccessLoggingFluentBuilder
pub fn start_access_logging(&self) -> StartAccessLoggingFluentBuilder
Constructs a fluent builder for the StartAccessLogging
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that you want to start access logging on.
- On success, responds with
StartAccessLoggingOutput
- On failure, responds with
SdkError<StartAccessLoggingError>
source§impl Client
impl Client
sourcepub fn stop_access_logging(&self) -> StopAccessLoggingFluentBuilder
pub fn stop_access_logging(&self) -> StopAccessLoggingFluentBuilder
Constructs a fluent builder for the StopAccessLogging
operation.
- The fluent builder is configurable:
container_name(impl Into<String>)
/set_container_name(Option<String>)
:
required: trueThe name of the container that you want to stop access logging on.
- On success, responds with
StopAccessLoggingOutput
- On failure, responds with
SdkError<StopAccessLoggingError>
source§impl Client
impl Client
sourcepub fn tag_resource(&self) -> TagResourceFluentBuilder
pub fn tag_resource(&self) -> TagResourceFluentBuilder
Constructs a fluent builder for the TagResource
operation.
- The fluent builder is configurable:
resource(impl Into<String>)
/set_resource(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) for the container.
tags(Tag)
/set_tags(Option<Vec::<Tag>>)
:
required: trueAn array of key:value pairs that you want to add to the container. You need to specify only the tags that you want to add or update. For example, suppose a container already has two tags (customer:CompanyA and priority:High). You want to change the priority tag and also add a third tag (type:Contract). For TagResource, you specify the following tags: priority:Medium, type:Contract. The result is that your container has three tags: customer:CompanyA, priority:Medium, and type:Contract.
- On success, responds with
TagResourceOutput
- On failure, responds with
SdkError<TagResourceError>
source§impl Client
impl Client
sourcepub fn untag_resource(&self) -> UntagResourceFluentBuilder
pub fn untag_resource(&self) -> UntagResourceFluentBuilder
Constructs a fluent builder for the UntagResource
operation.
- The fluent builder is configurable:
resource(impl Into<String>)
/set_resource(Option<String>)
:
required: trueThe Amazon Resource Name (ARN) for the container.
tag_keys(impl Into<String>)
/set_tag_keys(Option<Vec::<String>>)
:
required: trueA comma-separated list of keys for tags that you want to remove from the container. For example, if your container has two tags (customer:CompanyA and priority:High) and you want to remove one of the tags (priority:High), you specify the key for the tag that you want to remove (priority).
- On success, responds with
UntagResourceOutput
- On failure, responds with
SdkError<UntagResourceError>
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