/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace MediaStore { /** *

An AWS Elemental MediaStore container is a namespace that holds folders and * objects. You use a container endpoint to create, read, and delete objects.

*/ class AWS_MEDIASTORE_API MediaStoreClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef MediaStoreClientConfiguration ClientConfigurationType; typedef MediaStoreEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaStoreClient(const Aws::MediaStore::MediaStoreClientConfiguration& clientConfiguration = Aws::MediaStore::MediaStoreClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaStoreClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaStore::MediaStoreClientConfiguration& clientConfiguration = Aws::MediaStore::MediaStoreClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MediaStoreClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::MediaStore::MediaStoreClientConfiguration& clientConfiguration = Aws::MediaStore::MediaStoreClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MediaStoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MediaStoreClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MediaStoreClient(); /** *

Creates a storage container to hold objects. A container is similar to a * bucket in the Amazon S3 service.

See Also:

AWS * API Reference

*/ virtual Model::CreateContainerOutcome CreateContainer(const Model::CreateContainerRequest& request) const; /** * A Callable wrapper for CreateContainer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContainerOutcomeCallable CreateContainerCallable(const CreateContainerRequestT& request) const { return SubmitCallable(&MediaStoreClient::CreateContainer, request); } /** * An Async wrapper for CreateContainer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContainerAsync(const CreateContainerRequestT& request, const CreateContainerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::CreateContainer, request, handler, context); } /** *

Deletes the specified container. Before you make a * DeleteContainer request, delete any objects in the container or in * any folders in the container. You can delete only empty containers. *

See Also:

AWS * API Reference

*/ virtual Model::DeleteContainerOutcome DeleteContainer(const Model::DeleteContainerRequest& request) const; /** * A Callable wrapper for DeleteContainer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContainerOutcomeCallable DeleteContainerCallable(const DeleteContainerRequestT& request) const { return SubmitCallable(&MediaStoreClient::DeleteContainer, request); } /** * An Async wrapper for DeleteContainer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContainerAsync(const DeleteContainerRequestT& request, const DeleteContainerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DeleteContainer, request, handler, context); } /** *

Deletes the access policy that is associated with the specified * container.

See Also:

AWS * API Reference

*/ virtual Model::DeleteContainerPolicyOutcome DeleteContainerPolicy(const Model::DeleteContainerPolicyRequest& request) const; /** * A Callable wrapper for DeleteContainerPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContainerPolicyOutcomeCallable DeleteContainerPolicyCallable(const DeleteContainerPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::DeleteContainerPolicy, request); } /** * An Async wrapper for DeleteContainerPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContainerPolicyAsync(const DeleteContainerPolicyRequestT& request, const DeleteContainerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DeleteContainerPolicy, request, handler, context); } /** *

Deletes the cross-origin resource sharing (CORS) configuration information * that is set for the container.

To use this operation, you must have * permission to perform the MediaStore:DeleteCorsPolicy action. The * container owner has this permission by default and can grant this permission to * others.

See Also:

AWS * API Reference

*/ virtual Model::DeleteCorsPolicyOutcome DeleteCorsPolicy(const Model::DeleteCorsPolicyRequest& request) const; /** * A Callable wrapper for DeleteCorsPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteCorsPolicyOutcomeCallable DeleteCorsPolicyCallable(const DeleteCorsPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::DeleteCorsPolicy, request); } /** * An Async wrapper for DeleteCorsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteCorsPolicyAsync(const DeleteCorsPolicyRequestT& request, const DeleteCorsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DeleteCorsPolicy, request, handler, context); } /** *

Removes an object lifecycle policy from a container. It takes up to 20 * minutes for the change to take effect.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLifecyclePolicyOutcome DeleteLifecyclePolicy(const Model::DeleteLifecyclePolicyRequest& request) const; /** * A Callable wrapper for DeleteLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLifecyclePolicyOutcomeCallable DeleteLifecyclePolicyCallable(const DeleteLifecyclePolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::DeleteLifecyclePolicy, request); } /** * An Async wrapper for DeleteLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLifecyclePolicyAsync(const DeleteLifecyclePolicyRequestT& request, const DeleteLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DeleteLifecyclePolicy, request, handler, context); } /** *

Deletes the metric policy that is associated with the specified container. If * there is no metric policy associated with the container, MediaStore doesn't send * metrics to CloudWatch.

See Also:

AWS * API Reference

*/ virtual Model::DeleteMetricPolicyOutcome DeleteMetricPolicy(const Model::DeleteMetricPolicyRequest& request) const; /** * A Callable wrapper for DeleteMetricPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteMetricPolicyOutcomeCallable DeleteMetricPolicyCallable(const DeleteMetricPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::DeleteMetricPolicy, request); } /** * An Async wrapper for DeleteMetricPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteMetricPolicyAsync(const DeleteMetricPolicyRequestT& request, const DeleteMetricPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DeleteMetricPolicy, request, handler, context); } /** *

Retrieves the properties of the requested container. This request is commonly * used to retrieve the endpoint of a container. An endpoint is a value assigned by * the service when a new container is created. A container's endpoint does not * change after it has been assigned. The DescribeContainer request * returns a single Container object based on * ContainerName. To return all Container objects that * are associated with a specified AWS account, use * ListContainers.

See Also:

AWS * API Reference

*/ virtual Model::DescribeContainerOutcome DescribeContainer(const Model::DescribeContainerRequest& request) const; /** * A Callable wrapper for DescribeContainer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeContainerOutcomeCallable DescribeContainerCallable(const DescribeContainerRequestT& request) const { return SubmitCallable(&MediaStoreClient::DescribeContainer, request); } /** * An Async wrapper for DescribeContainer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeContainerAsync(const DescribeContainerRequestT& request, const DescribeContainerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::DescribeContainer, request, handler, context); } /** *

Retrieves the access policy for the specified container. For information * about the data that is included in an access policy, see the AWS Identity and Access * Management User Guide.

See Also:

AWS * API Reference

*/ virtual Model::GetContainerPolicyOutcome GetContainerPolicy(const Model::GetContainerPolicyRequest& request) const; /** * A Callable wrapper for GetContainerPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetContainerPolicyOutcomeCallable GetContainerPolicyCallable(const GetContainerPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::GetContainerPolicy, request); } /** * An Async wrapper for GetContainerPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetContainerPolicyAsync(const GetContainerPolicyRequestT& request, const GetContainerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::GetContainerPolicy, request, handler, context); } /** *

Returns the cross-origin resource sharing (CORS) configuration information * that is set for the container.

To use this operation, you must have * permission to perform the MediaStore:GetCorsPolicy action. By * default, the container owner has this permission and can grant it to * others.

See Also:

AWS * API Reference

*/ virtual Model::GetCorsPolicyOutcome GetCorsPolicy(const Model::GetCorsPolicyRequest& request) const; /** * A Callable wrapper for GetCorsPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetCorsPolicyOutcomeCallable GetCorsPolicyCallable(const GetCorsPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::GetCorsPolicy, request); } /** * An Async wrapper for GetCorsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetCorsPolicyAsync(const GetCorsPolicyRequestT& request, const GetCorsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::GetCorsPolicy, request, handler, context); } /** *

Retrieves the object lifecycle policy that is assigned to a * container.

See Also:

AWS * API Reference

*/ virtual Model::GetLifecyclePolicyOutcome GetLifecyclePolicy(const Model::GetLifecyclePolicyRequest& request) const; /** * A Callable wrapper for GetLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetLifecyclePolicyOutcomeCallable GetLifecyclePolicyCallable(const GetLifecyclePolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::GetLifecyclePolicy, request); } /** * An Async wrapper for GetLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetLifecyclePolicyAsync(const GetLifecyclePolicyRequestT& request, const GetLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::GetLifecyclePolicy, request, handler, context); } /** *

Returns the metric policy for the specified container.

See * Also:

AWS * API Reference

*/ virtual Model::GetMetricPolicyOutcome GetMetricPolicy(const Model::GetMetricPolicyRequest& request) const; /** * A Callable wrapper for GetMetricPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetMetricPolicyOutcomeCallable GetMetricPolicyCallable(const GetMetricPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::GetMetricPolicy, request); } /** * An Async wrapper for GetMetricPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetMetricPolicyAsync(const GetMetricPolicyRequestT& request, const GetMetricPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::GetMetricPolicy, request, handler, context); } /** *

Lists the properties of all containers in AWS Elemental MediaStore.

*

You can query to receive all the containers in one response. Or you can * include the MaxResults parameter to receive a limited number of * containers in each response. In this case, the response includes a token. To get * the next set of containers, send the command again, this time with the * NextToken parameter (with the returned token as its value). The * next set of responses appears, with a token if there are still more containers * to receive.

See also DescribeContainer, which gets the properties * of one container.

See Also:

AWS * API Reference

*/ virtual Model::ListContainersOutcome ListContainers(const Model::ListContainersRequest& request) const; /** * A Callable wrapper for ListContainers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContainersOutcomeCallable ListContainersCallable(const ListContainersRequestT& request) const { return SubmitCallable(&MediaStoreClient::ListContainers, request); } /** * An Async wrapper for ListContainers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContainersAsync(const ListContainersRequestT& request, const ListContainersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::ListContainers, request, handler, context); } /** *

Returns a list of the tags assigned to the specified container. *

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&MediaStoreClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::ListTagsForResource, request, handler, context); } /** *

Creates an access policy for the specified container to restrict the users * and clients that can access it. For information about the data that is included * in an access policy, see the AWS Identity and Access * Management User Guide.

For this release of the REST API, you can * create only one policy for a container. If you enter * PutContainerPolicy twice, the second command modifies the existing * policy.

See Also:

AWS * API Reference

*/ virtual Model::PutContainerPolicyOutcome PutContainerPolicy(const Model::PutContainerPolicyRequest& request) const; /** * A Callable wrapper for PutContainerPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutContainerPolicyOutcomeCallable PutContainerPolicyCallable(const PutContainerPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::PutContainerPolicy, request); } /** * An Async wrapper for PutContainerPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutContainerPolicyAsync(const PutContainerPolicyRequestT& request, const PutContainerPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::PutContainerPolicy, request, handler, context); } /** *

Sets the cross-origin resource sharing (CORS) configuration on a container so * that the container can service cross-origin requests. For example, you might * want to enable a request whose origin is http://www.example.com to access your * AWS Elemental MediaStore container at my.example.container.com by using the * browser's XMLHttpRequest capability.

To enable CORS on a container, you * attach a CORS policy to the container. In the CORS policy, you configure rules * that identify origins and the HTTP methods that can be executed on your * container. The policy can contain up to 398,000 characters. You can add up to * 100 rules to a CORS policy. If more than one rule applies, the service uses the * first applicable rule listed.

To learn more about CORS, see Cross-Origin * Resource Sharing (CORS) in AWS Elemental MediaStore.

See * Also:

AWS * API Reference

*/ virtual Model::PutCorsPolicyOutcome PutCorsPolicy(const Model::PutCorsPolicyRequest& request) const; /** * A Callable wrapper for PutCorsPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutCorsPolicyOutcomeCallable PutCorsPolicyCallable(const PutCorsPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::PutCorsPolicy, request); } /** * An Async wrapper for PutCorsPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutCorsPolicyAsync(const PutCorsPolicyRequestT& request, const PutCorsPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::PutCorsPolicy, request, handler, context); } /** *

Writes an object lifecycle policy to a container. If the container already * has an object lifecycle policy, the service replaces the existing policy with * the new policy. It takes up to 20 minutes for the change to take effect.

*

For information about how to construct an object lifecycle policy, see Components * of an Object Lifecycle Policy.

See Also:

AWS * API Reference

*/ virtual Model::PutLifecyclePolicyOutcome PutLifecyclePolicy(const Model::PutLifecyclePolicyRequest& request) const; /** * A Callable wrapper for PutLifecyclePolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutLifecyclePolicyOutcomeCallable PutLifecyclePolicyCallable(const PutLifecyclePolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::PutLifecyclePolicy, request); } /** * An Async wrapper for PutLifecyclePolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutLifecyclePolicyAsync(const PutLifecyclePolicyRequestT& request, const PutLifecyclePolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::PutLifecyclePolicy, request, handler, context); } /** *

The metric policy that you want to add to the container. A metric policy * allows AWS Elemental MediaStore to send metrics to Amazon CloudWatch. It takes * up to 20 minutes for the new policy to take effect.

See Also:

* AWS * API Reference

*/ virtual Model::PutMetricPolicyOutcome PutMetricPolicy(const Model::PutMetricPolicyRequest& request) const; /** * A Callable wrapper for PutMetricPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutMetricPolicyOutcomeCallable PutMetricPolicyCallable(const PutMetricPolicyRequestT& request) const { return SubmitCallable(&MediaStoreClient::PutMetricPolicy, request); } /** * An Async wrapper for PutMetricPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutMetricPolicyAsync(const PutMetricPolicyRequestT& request, const PutMetricPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::PutMetricPolicy, request, handler, context); } /** *

Starts access logging on the specified container. When you enable access * logging on a container, MediaStore delivers access logs for objects stored in * that container to Amazon CloudWatch Logs.

See Also:

AWS * API Reference

*/ virtual Model::StartAccessLoggingOutcome StartAccessLogging(const Model::StartAccessLoggingRequest& request) const; /** * A Callable wrapper for StartAccessLogging that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartAccessLoggingOutcomeCallable StartAccessLoggingCallable(const StartAccessLoggingRequestT& request) const { return SubmitCallable(&MediaStoreClient::StartAccessLogging, request); } /** * An Async wrapper for StartAccessLogging that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartAccessLoggingAsync(const StartAccessLoggingRequestT& request, const StartAccessLoggingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::StartAccessLogging, request, handler, context); } /** *

Stops access logging on the specified container. When you stop access logging * on a container, MediaStore stops sending access logs to Amazon CloudWatch Logs. * These access logs are not saved and are not retrievable.

See * Also:

AWS * API Reference

*/ virtual Model::StopAccessLoggingOutcome StopAccessLogging(const Model::StopAccessLoggingRequest& request) const; /** * A Callable wrapper for StopAccessLogging that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopAccessLoggingOutcomeCallable StopAccessLoggingCallable(const StopAccessLoggingRequestT& request) const { return SubmitCallable(&MediaStoreClient::StopAccessLogging, request); } /** * An Async wrapper for StopAccessLogging that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopAccessLoggingAsync(const StopAccessLoggingRequestT& request, const StopAccessLoggingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::StopAccessLogging, request, handler, context); } /** *

Adds tags to the specified AWS Elemental MediaStore container. Tags are * key:value pairs that you can associate with AWS resources. For example, the tag * key might be "customer" and the tag value might be "companyA." You can specify * one or more tags to add to each container. 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.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&MediaStoreClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::TagResource, request, handler, context); } /** *

Removes tags from the specified container. You can specify one or more tags * to remove.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&MediaStoreClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MediaStoreClient::UntagResource, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MediaStoreClientConfiguration& clientConfiguration); MediaStoreClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace MediaStore } // namespace Aws