AWS SDK for C++

AWS SDK for C++ Version 1.11.776

Loading...
Searching...
No Matches
RekognitionWaiter.h
1
6#pragma once
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>
13
14#include <algorithm>
15
16namespace Aws {
17namespace Rekognition {
18
19template <typename DerivedClient = RekognitionClient>
21 public:
28 "ProjectVersionRunningWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("RUNNING"),
29 [](const Model::DescribeProjectVersionsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
30 if (!outcome.IsSuccess()) return false;
31 const auto& result = outcome.GetResult();
32 return std::all_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
33 [&](const Model::ProjectVersionDescription& item) {
34 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
35 expected.get<Aws::String>();
36 });
37 }));
39 "ProjectVersionRunningWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
40 [](const Model::DescribeProjectVersionsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
41 if (!outcome.IsSuccess()) return false;
42 const auto& result = outcome.GetResult();
43 return std::any_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
44 [&](const Model::ProjectVersionDescription& item) {
45 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
46 expected.get<Aws::String>();
47 });
48 }));
49
50 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeProjectVersions(req); };
51 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilProjectVersionRunning");
52 return waiter.Wait(request);
53 }
54
61 "ProjectVersionTrainingCompletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("TRAINING_COMPLETED"),
62 [](const Model::DescribeProjectVersionsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
63 if (!outcome.IsSuccess()) return false;
64 const auto& result = outcome.GetResult();
65 return std::all_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
66 [&](const Model::ProjectVersionDescription& item) {
67 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
68 expected.get<Aws::String>();
69 });
70 }));
72 "ProjectVersionTrainingCompletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("TRAINING_FAILED"),
73 [](const Model::DescribeProjectVersionsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
74 if (!outcome.IsSuccess()) return false;
75 const auto& result = outcome.GetResult();
76 return std::any_of(result.GetProjectVersionDescriptions().begin(), result.GetProjectVersionDescriptions().end(),
77 [&](const Model::ProjectVersionDescription& item) {
78 return Model::ProjectVersionStatusMapper::GetNameForProjectVersionStatus(item.GetStatus()) ==
79 expected.get<Aws::String>();
80 });
81 }));
82
83 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeProjectVersions(req); };
84 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(120, 1, std::move(acceptors), operation, "WaitUntilProjectVersionTrainingCompleted");
85 return waiter.Wait(request);
86 }
87};
88} // namespace Rekognition
89} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeProjectVersionsOutcome > WaitUntilProjectVersionTrainingCompleted(const Model::DescribeProjectVersionsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeProjectVersionsOutcome > WaitUntilProjectVersionRunning(const Model::DescribeProjectVersionsRequest &request)
bool IsSuccess() const
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