7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/rekognition/RekognitionClient.h>
10#include <aws/rekognition/model/DescribeProjectVersionsRequest.h>
11#include <aws/rekognition/model/DescribeProjectVersionsResult.h>
12#include <aws/rekognition/model/ProjectVersionStatus.h>
17namespace Rekognition {
19template <
typename DerivedClient = RekognitionClient>
28 "ProjectVersionRunningWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"RUNNING"),
32 return std::all_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
34 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
35 expected.get<Aws::String>();
39 "ProjectVersionRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
43 return std::any_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
45 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
46 expected.get<Aws::String>();
50 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeProjectVersions(req); };
52 return waiter.
Wait(request);
61 "ProjectVersionTrainingCompletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"TRAINING_COMPLETED"),
65 return std::all_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
67 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
68 expected.get<Aws::String>();
72 "ProjectVersionTrainingCompletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"TRAINING_FAILED"),
76 return std::any_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
78 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
79 expected.get<Aws::String>();
83 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeProjectVersions(req); };
85 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeProjectVersionsOutcome > WaitUntilProjectVersionTrainingCompleted(const Model::DescribeProjectVersionsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeProjectVersionsOutcome > WaitUntilProjectVersionRunning(const Model::DescribeProjectVersionsRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeProjectVersionsResult, RekognitionError > DescribeProjectVersionsOutcome
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