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 Builder 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
moviesin 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
CreateContainerOutputwith 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
DescribeContainerorListContainers.
- 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
DescribeContainerOutputwith 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
GetContainerPolicyOutputwith 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
GetCorsPolicyOutputwith 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
GetLifecyclePolicyOutputwith 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
GetMetricPolicyOutputwith 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
MaxResultsin 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
ListContainersOutputwith field(s):containers(Vec::<Container>):The names of the containers.
next_token(Option<String>):NextTokenis the token to use in the next call toListContainers. This token is returned only if you included theMaxResultstag 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
ListTagsForResourceOutputwith 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
Versiontag -
One
Statementtag 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_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.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);