7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/elasticmapreduce/EMRClient.h>
10#include <aws/elasticmapreduce/model/ClusterState.h>
11#include <aws/elasticmapreduce/model/DescribeClusterRequest.h>
12#include <aws/elasticmapreduce/model/DescribeClusterResult.h>
13#include <aws/elasticmapreduce/model/DescribeStepRequest.h>
14#include <aws/elasticmapreduce/model/DescribeStepResult.h>
15#include <aws/elasticmapreduce/model/StepState.h>
22template <
typename DerivedClient = EMRClient>
30 "ClusterRunningWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"RUNNING"),
38 "ClusterRunningWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"WAITING"),
46 "ClusterRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"TERMINATING"),
54 "ClusterRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"TERMINATED"),
62 "ClusterRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"TERMINATED_WITH_ERRORS"),
70 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeCluster(req); };
72 return waiter.
Wait(request);
80 "ClusterTerminatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"TERMINATED"),
88 "ClusterTerminatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"TERMINATED_WITH_ERRORS"),
96 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeCluster(req); };
98 return waiter.
Wait(request);
106 "StepCompleteWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"COMPLETED"),
109 const auto& result = outcome.
GetResult();
113 "StepCompleteWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
116 const auto& result = outcome.
GetResult();
120 "StepCompleteWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"CANCELLED"),
123 const auto& result = outcome.
GetResult();
127 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeStep(req); };
129 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeStepOutcome > WaitUntilStepComplete(const Model::DescribeStepRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterRunning(const Model::DescribeClusterRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterTerminated(const Model::DescribeClusterRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_EMR_API Aws::String GetNameForClusterState(ClusterState value)
AWS_EMR_API Aws::String GetNameForStepState(StepState value)
Aws::Utils::Outcome< DescribeClusterResult, EMRError > DescribeClusterOutcome
Aws::Utils::Outcome< DescribeStepResult, EMRError > DescribeStepOutcome
Crt::Variant< int, bool, Aws::String > ExpectedValue
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
UniquePtr< T > MakeUnique(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector