/**
* 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 EMRContainers
{
/**
* Amazon EMR on EKS provides a deployment option for Amazon EMR that allows you
* to run open-source big data frameworks on Amazon Elastic Kubernetes Service
* (Amazon EKS). With this deployment option, you can focus on running analytics
* workloads while Amazon EMR on EKS builds, configures, and manages containers for
* open-source applications. For more information about Amazon EMR on EKS concepts
* and tasks, see What
* is shared id="EMR-EKS"/>.
Amazon EMR containers is the API
* name for Amazon EMR on EKS. The emr-containers
prefix is used in
* the following scenarios:
-
It is the prefix in the CLI commands
* for Amazon EMR on EKS. For example, aws emr-containers
* start-job-run
.
-
It is the prefix before IAM policy
* actions for Amazon EMR on EKS. For example, "Action": [
* "emr-containers:StartJobRun"]
. For more information, see Policy
* actions for Amazon EMR on EKS.
-
It is the prefix used in
* Amazon EMR on EKS service endpoints. For example,
* emr-containers.us-east-2.amazonaws.com
. For more information, see
* Amazon
* EMR on EKSService Endpoints.
*/
class AWS_EMRCONTAINERS_API EMRContainersClient : 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 EMRContainersClientConfiguration ClientConfigurationType;
typedef EMRContainersEndpointProvider 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.
*/
EMRContainersClient(const Aws::EMRContainers::EMRContainersClientConfiguration& clientConfiguration = Aws::EMRContainers::EMRContainersClientConfiguration(),
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.
*/
EMRContainersClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::EMRContainers::EMRContainersClientConfiguration& clientConfiguration = Aws::EMRContainers::EMRContainersClientConfiguration());
/**
* 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
*/
EMRContainersClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::EMRContainers::EMRContainersClientConfiguration& clientConfiguration = Aws::EMRContainers::EMRContainersClientConfiguration());
/* 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.
*/
EMRContainersClient(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.
*/
EMRContainersClient(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
*/
EMRContainersClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~EMRContainersClient();
/**
* Cancels a job run. A job run is a unit of work, such as a Spark jar, PySpark
* script, or SparkSQL query, that you submit to Amazon EMR on EKS.
See
* Also:
AWS
* API Reference
*/
virtual Model::CancelJobRunOutcome CancelJobRun(const Model::CancelJobRunRequest& request) const;
/**
* A Callable wrapper for CancelJobRun that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelJobRunOutcomeCallable CancelJobRunCallable(const CancelJobRunRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::CancelJobRun, request);
}
/**
* An Async wrapper for CancelJobRun that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelJobRunAsync(const CancelJobRunRequestT& request, const CancelJobRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::CancelJobRun, request, handler, context);
}
/**
* Creates a job template. Job template stores values of StartJobRun API request
* in a template and can be used to start a job run. Job template allows two use
* cases: avoid repeating recurring StartJobRun API request values, enforcing
* certain values in StartJobRun API request.
See Also:
AWS
* API Reference
*/
virtual Model::CreateJobTemplateOutcome CreateJobTemplate(const Model::CreateJobTemplateRequest& request) const;
/**
* A Callable wrapper for CreateJobTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateJobTemplateOutcomeCallable CreateJobTemplateCallable(const CreateJobTemplateRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::CreateJobTemplate, request);
}
/**
* An Async wrapper for CreateJobTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateJobTemplateAsync(const CreateJobTemplateRequestT& request, const CreateJobTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::CreateJobTemplate, request, handler, context);
}
/**
* Creates a managed endpoint. A managed endpoint is a gateway that connects
* Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate
* with your virtual cluster.
See Also:
AWS
* API Reference
*/
virtual Model::CreateManagedEndpointOutcome CreateManagedEndpoint(const Model::CreateManagedEndpointRequest& request) const;
/**
* A Callable wrapper for CreateManagedEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateManagedEndpointOutcomeCallable CreateManagedEndpointCallable(const CreateManagedEndpointRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::CreateManagedEndpoint, request);
}
/**
* An Async wrapper for CreateManagedEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateManagedEndpointAsync(const CreateManagedEndpointRequestT& request, const CreateManagedEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::CreateManagedEndpoint, request, handler, context);
}
/**
* Creates a virtual cluster. Virtual cluster is a managed entity on Amazon EMR
* on EKS. You can create, describe, list and delete virtual clusters. They do not
* consume any additional resource in your system. A single virtual cluster maps to
* a single Kubernetes namespace. Given this relationship, you can model virtual
* clusters the same way you model Kubernetes namespaces to meet your
* requirements.
See Also:
AWS
* API Reference
*/
virtual Model::CreateVirtualClusterOutcome CreateVirtualCluster(const Model::CreateVirtualClusterRequest& request) const;
/**
* A Callable wrapper for CreateVirtualCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateVirtualClusterOutcomeCallable CreateVirtualClusterCallable(const CreateVirtualClusterRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::CreateVirtualCluster, request);
}
/**
* An Async wrapper for CreateVirtualCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateVirtualClusterAsync(const CreateVirtualClusterRequestT& request, const CreateVirtualClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::CreateVirtualCluster, request, handler, context);
}
/**
* Deletes a job template. Job template stores values of StartJobRun API request
* in a template and can be used to start a job run. Job template allows two use
* cases: avoid repeating recurring StartJobRun API request values, enforcing
* certain values in StartJobRun API request.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteJobTemplateOutcome DeleteJobTemplate(const Model::DeleteJobTemplateRequest& request) const;
/**
* A Callable wrapper for DeleteJobTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteJobTemplateOutcomeCallable DeleteJobTemplateCallable(const DeleteJobTemplateRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DeleteJobTemplate, request);
}
/**
* An Async wrapper for DeleteJobTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteJobTemplateAsync(const DeleteJobTemplateRequestT& request, const DeleteJobTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DeleteJobTemplate, request, handler, context);
}
/**
* Deletes a managed endpoint. A managed endpoint is a gateway that connects
* Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate
* with your virtual cluster.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteManagedEndpointOutcome DeleteManagedEndpoint(const Model::DeleteManagedEndpointRequest& request) const;
/**
* A Callable wrapper for DeleteManagedEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteManagedEndpointOutcomeCallable DeleteManagedEndpointCallable(const DeleteManagedEndpointRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DeleteManagedEndpoint, request);
}
/**
* An Async wrapper for DeleteManagedEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteManagedEndpointAsync(const DeleteManagedEndpointRequestT& request, const DeleteManagedEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DeleteManagedEndpoint, request, handler, context);
}
/**
* Deletes a virtual cluster. Virtual cluster is a managed entity on Amazon EMR
* on EKS. You can create, describe, list and delete virtual clusters. They do not
* consume any additional resource in your system. A single virtual cluster maps to
* a single Kubernetes namespace. Given this relationship, you can model virtual
* clusters the same way you model Kubernetes namespaces to meet your
* requirements.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteVirtualClusterOutcome DeleteVirtualCluster(const Model::DeleteVirtualClusterRequest& request) const;
/**
* A Callable wrapper for DeleteVirtualCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteVirtualClusterOutcomeCallable DeleteVirtualClusterCallable(const DeleteVirtualClusterRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DeleteVirtualCluster, request);
}
/**
* An Async wrapper for DeleteVirtualCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteVirtualClusterAsync(const DeleteVirtualClusterRequestT& request, const DeleteVirtualClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DeleteVirtualCluster, request, handler, context);
}
/**
* Displays detailed information about a job run. A job run is a unit of work,
* such as a Spark jar, PySpark script, or SparkSQL query, that you submit to
* Amazon EMR on EKS.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeJobRunOutcome DescribeJobRun(const Model::DescribeJobRunRequest& request) const;
/**
* A Callable wrapper for DescribeJobRun that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeJobRunOutcomeCallable DescribeJobRunCallable(const DescribeJobRunRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DescribeJobRun, request);
}
/**
* An Async wrapper for DescribeJobRun that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeJobRunAsync(const DescribeJobRunRequestT& request, const DescribeJobRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DescribeJobRun, request, handler, context);
}
/**
* Displays detailed information about a specified job template. Job template
* stores values of StartJobRun API request in a template and can be used to start
* a job run. Job template allows two use cases: avoid repeating recurring
* StartJobRun API request values, enforcing certain values in StartJobRun API
* request.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeJobTemplateOutcome DescribeJobTemplate(const Model::DescribeJobTemplateRequest& request) const;
/**
* A Callable wrapper for DescribeJobTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeJobTemplateOutcomeCallable DescribeJobTemplateCallable(const DescribeJobTemplateRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DescribeJobTemplate, request);
}
/**
* An Async wrapper for DescribeJobTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeJobTemplateAsync(const DescribeJobTemplateRequestT& request, const DescribeJobTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DescribeJobTemplate, request, handler, context);
}
/**
* Displays detailed information about a managed endpoint. A managed endpoint is
* a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon
* EMR Studio can communicate with your virtual cluster.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeManagedEndpointOutcome DescribeManagedEndpoint(const Model::DescribeManagedEndpointRequest& request) const;
/**
* A Callable wrapper for DescribeManagedEndpoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeManagedEndpointOutcomeCallable DescribeManagedEndpointCallable(const DescribeManagedEndpointRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DescribeManagedEndpoint, request);
}
/**
* An Async wrapper for DescribeManagedEndpoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeManagedEndpointAsync(const DescribeManagedEndpointRequestT& request, const DescribeManagedEndpointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DescribeManagedEndpoint, request, handler, context);
}
/**
* Displays detailed information about a specified virtual cluster. Virtual
* cluster is a managed entity on Amazon EMR on EKS. You can create, describe, list
* and delete virtual clusters. They do not consume any additional resource in your
* system. A single virtual cluster maps to a single Kubernetes namespace. Given
* this relationship, you can model virtual clusters the same way you model
* Kubernetes namespaces to meet your requirements.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeVirtualClusterOutcome DescribeVirtualCluster(const Model::DescribeVirtualClusterRequest& request) const;
/**
* A Callable wrapper for DescribeVirtualCluster that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeVirtualClusterOutcomeCallable DescribeVirtualClusterCallable(const DescribeVirtualClusterRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::DescribeVirtualCluster, request);
}
/**
* An Async wrapper for DescribeVirtualCluster that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeVirtualClusterAsync(const DescribeVirtualClusterRequestT& request, const DescribeVirtualClusterResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::DescribeVirtualCluster, request, handler, context);
}
/**
* Generate a session token to connect to a managed endpoint.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetManagedEndpointSessionCredentialsOutcome GetManagedEndpointSessionCredentials(const Model::GetManagedEndpointSessionCredentialsRequest& request) const;
/**
* A Callable wrapper for GetManagedEndpointSessionCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetManagedEndpointSessionCredentialsOutcomeCallable GetManagedEndpointSessionCredentialsCallable(const GetManagedEndpointSessionCredentialsRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::GetManagedEndpointSessionCredentials, request);
}
/**
* An Async wrapper for GetManagedEndpointSessionCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetManagedEndpointSessionCredentialsAsync(const GetManagedEndpointSessionCredentialsRequestT& request, const GetManagedEndpointSessionCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::GetManagedEndpointSessionCredentials, request, handler, context);
}
/**
* Lists job runs based on a set of parameters. A job run is a unit of work,
* such as a Spark jar, PySpark script, or SparkSQL query, that you submit to
* Amazon EMR on EKS.
See Also:
AWS
* API Reference
*/
virtual Model::ListJobRunsOutcome ListJobRuns(const Model::ListJobRunsRequest& request) const;
/**
* A Callable wrapper for ListJobRuns that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListJobRunsOutcomeCallable ListJobRunsCallable(const ListJobRunsRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::ListJobRuns, request);
}
/**
* An Async wrapper for ListJobRuns that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListJobRunsAsync(const ListJobRunsRequestT& request, const ListJobRunsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::ListJobRuns, request, handler, context);
}
/**
* Lists job templates based on a set of parameters. Job template stores values
* of StartJobRun API request in a template and can be used to start a job run. Job
* template allows two use cases: avoid repeating recurring StartJobRun API request
* values, enforcing certain values in StartJobRun API request.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListJobTemplatesOutcome ListJobTemplates(const Model::ListJobTemplatesRequest& request) const;
/**
* A Callable wrapper for ListJobTemplates that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListJobTemplatesOutcomeCallable ListJobTemplatesCallable(const ListJobTemplatesRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::ListJobTemplates, request);
}
/**
* An Async wrapper for ListJobTemplates that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListJobTemplatesAsync(const ListJobTemplatesRequestT& request, const ListJobTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::ListJobTemplates, request, handler, context);
}
/**
* Lists managed endpoints based on a set of parameters. A managed endpoint is a
* gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR
* Studio can communicate with your virtual cluster.
See Also:
AWS
* API Reference
*/
virtual Model::ListManagedEndpointsOutcome ListManagedEndpoints(const Model::ListManagedEndpointsRequest& request) const;
/**
* A Callable wrapper for ListManagedEndpoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListManagedEndpointsOutcomeCallable ListManagedEndpointsCallable(const ListManagedEndpointsRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::ListManagedEndpoints, request);
}
/**
* An Async wrapper for ListManagedEndpoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListManagedEndpointsAsync(const ListManagedEndpointsRequestT& request, const ListManagedEndpointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::ListManagedEndpoints, request, handler, context);
}
/**
* Lists the tags assigned to the resources.
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(&EMRContainersClient::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(&EMRContainersClient::ListTagsForResource, request, handler, context);
}
/**
* Lists information about the specified virtual cluster. Virtual cluster is a
* managed entity on Amazon EMR on EKS. You can create, describe, list and delete
* virtual clusters. They do not consume any additional resource in your system. A
* single virtual cluster maps to a single Kubernetes namespace. Given this
* relationship, you can model virtual clusters the same way you model Kubernetes
* namespaces to meet your requirements.
See Also:
AWS
* API Reference
*/
virtual Model::ListVirtualClustersOutcome ListVirtualClusters(const Model::ListVirtualClustersRequest& request) const;
/**
* A Callable wrapper for ListVirtualClusters that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListVirtualClustersOutcomeCallable ListVirtualClustersCallable(const ListVirtualClustersRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::ListVirtualClusters, request);
}
/**
* An Async wrapper for ListVirtualClusters that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListVirtualClustersAsync(const ListVirtualClustersRequestT& request, const ListVirtualClustersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::ListVirtualClusters, request, handler, context);
}
/**
* Starts a job run. A job run is a unit of work, such as a Spark jar, PySpark
* script, or SparkSQL query, that you submit to Amazon EMR on EKS.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartJobRunOutcome StartJobRun(const Model::StartJobRunRequest& request) const;
/**
* A Callable wrapper for StartJobRun that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartJobRunOutcomeCallable StartJobRunCallable(const StartJobRunRequestT& request) const
{
return SubmitCallable(&EMRContainersClient::StartJobRun, request);
}
/**
* An Async wrapper for StartJobRun that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartJobRunAsync(const StartJobRunRequestT& request, const StartJobRunResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&EMRContainersClient::StartJobRun, request, handler, context);
}
/**
* Assigns tags to resources. A tag is a label that you assign to an Amazon Web
* Services resource. Each tag consists of a key and an optional value, both of
* which you define. Tags enable you to categorize your Amazon Web Services
* resources by attributes such as purpose, owner, or environment. When you have
* many resources of the same type, you can quickly identify a specific resource
* based on the tags you've assigned to it. For example, you can define a set of
* tags for your Amazon EMR on EKS clusters to help you track each cluster's owner
* and stack level. We recommend that you devise a consistent set of tag keys for
* each resource type. You can then search and filter the resources based on the
* tags that you add.
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(&EMRContainersClient::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(&EMRContainersClient::TagResource, request, handler, context);
}
/**
* Removes tags from resources.
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(&EMRContainersClient::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(&EMRContainersClient::UntagResource, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const EMRContainersClientConfiguration& clientConfiguration);
EMRContainersClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace EMRContainers
} // namespace Aws