AWS SDK for C++

AWS SDK for C++ Version 1.11.817

Loading...
Searching...
No Matches
Resiliencehubv2Waiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/resiliencehubv2/Resiliencehubv2Client.h>
10#include <aws/resiliencehubv2/model/AssessmentStatus.h>
11#include <aws/resiliencehubv2/model/GetServiceRequest.h>
12#include <aws/resiliencehubv2/model/GetServiceResult.h>
13#include <aws/resiliencehubv2/model/ListFailureModeAssessmentsRequest.h>
14#include <aws/resiliencehubv2/model/ListFailureModeAssessmentsResult.h>
15#include <aws/resiliencehubv2/model/ListReportsRequest.h>
16#include <aws/resiliencehubv2/model/ListReportsResult.h>
17#include <aws/resiliencehubv2/model/ReportGenerationStatus.h>
18#include <aws/resiliencehubv2/model/ResourceDiscoveryRunStatus.h>
19
20#include <algorithm>
21
22namespace Aws {
23namespace resiliencehubv2 {
24
25template <typename DerivedClient = Resiliencehubv2Client>
27 public:
29 using OutcomeT = Model::GetServiceOutcome;
30 using RequestT = Model::GetServiceRequest;
33 "ServiceAssessmentCompletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCESS"),
34 [](const Model::GetServiceOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
35 if (!outcome.IsSuccess()) return false;
36 const auto& result = outcome.GetResult();
37 return Model::AssessmentStatusMapper::GetNameForAssessmentStatus(result.GetService().GetAssessmentStatus()) ==
38 expected.get<Aws::String>();
39 }));
41 "ServiceAssessmentCompletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
42 [](const Model::GetServiceOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
43 if (!outcome.IsSuccess()) return false;
44 const auto& result = outcome.GetResult();
45 return Model::AssessmentStatusMapper::GetNameForAssessmentStatus(result.GetService().GetAssessmentStatus()) ==
46 expected.get<Aws::String>();
47 }));
48
49 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetService(req); };
50 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilServiceAssessmentCompleted");
51 return waiter.Wait(request);
52 }
53
55 using OutcomeT = Model::GetServiceOutcome;
56 using RequestT = Model::GetServiceRequest;
59 "ServiceResourceDiscoveryCompletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCEEDED"),
60 [](const Model::GetServiceOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
61 if (!outcome.IsSuccess()) return false;
62 const auto& result = outcome.GetResult();
64 result.GetService().GetResourceDiscovery().GetStatus()) == expected.get<Aws::String>();
65 }));
67 "ServiceResourceDiscoveryCompletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("COMPLETED_WITH_FAILURES"),
68 [](const Model::GetServiceOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
69 if (!outcome.IsSuccess()) return false;
70 const auto& result = outcome.GetResult();
72 result.GetService().GetResourceDiscovery().GetStatus()) == expected.get<Aws::String>();
73 }));
75 "ServiceResourceDiscoveryCompletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
76 [](const Model::GetServiceOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
77 if (!outcome.IsSuccess()) return false;
78 const auto& result = outcome.GetResult();
80 result.GetService().GetResourceDiscovery().GetStatus()) == expected.get<Aws::String>();
81 }));
82
83 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetService(req); };
84 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilServiceResourceDiscoveryCompleted");
85 return waiter.Wait(request);
86 }
87
94 "FailureModeAssessmentSuccessWaiter", Aws::Utils::WaiterState::RETRY, true,
95 [](const Model::ListFailureModeAssessmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
96 if (!outcome.IsSuccess()) return false;
97 const auto& result = outcome.GetResult();
98 return (result.GetAssessmentSummaries().size() == 0) == expected.get<bool>();
99 }));
101 "FailureModeAssessmentSuccessWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCESS"),
102 [](const Model::ListFailureModeAssessmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
103 if (!outcome.IsSuccess()) return false;
104 const auto& result = outcome.GetResult();
105 return std::all_of(
106 result.GetAssessmentSummaries().begin(), result.GetAssessmentSummaries().end(), [&](const Model::AssessmentSummary& item) {
107 return Model::AssessmentStatusMapper::GetNameForAssessmentStatus(item.GetAssessmentStatus()) == expected.get<Aws::String>();
108 });
109 }));
111 "FailureModeAssessmentSuccessWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
112 [](const Model::ListFailureModeAssessmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
113 if (!outcome.IsSuccess()) return false;
114 const auto& result = outcome.GetResult();
115 return std::any_of(
116 result.GetAssessmentSummaries().begin(), result.GetAssessmentSummaries().end(), [&](const Model::AssessmentSummary& item) {
117 return Model::AssessmentStatusMapper::GetNameForAssessmentStatus(item.GetAssessmentStatus()) == expected.get<Aws::String>();
118 });
119 }));
120
121 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->ListFailureModeAssessments(req); };
122 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilFailureModeAssessmentSuccess");
123 return waiter.Wait(request);
124 }
125
127 using OutcomeT = Model::ListReportsOutcome;
128 using RequestT = Model::ListReportsRequest;
131 "ReportSucceededWaiter", Aws::Utils::WaiterState::RETRY, true,
132 [](const Model::ListReportsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
133 if (!outcome.IsSuccess()) return false;
134 const auto& result = outcome.GetResult();
135 return (result.GetReportGenerationResults().size() == 0) == expected.get<bool>();
136 }));
138 "ReportSucceededWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCEEDED"),
139 [](const Model::ListReportsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
140 if (!outcome.IsSuccess()) return false;
141 const auto& result = outcome.GetResult();
142 return std::all_of(result.GetReportGenerationResults().begin(), result.GetReportGenerationResults().end(),
143 [&](const Model::ReportGenerationResult& item) {
144 return Model::ReportGenerationStatusMapper::GetNameForReportGenerationStatus(item.GetStatus()) ==
145 expected.get<Aws::String>();
146 });
147 }));
149 "ReportSucceededWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
150 [](const Model::ListReportsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
151 if (!outcome.IsSuccess()) return false;
152 const auto& result = outcome.GetResult();
153 return std::any_of(result.GetReportGenerationResults().begin(), result.GetReportGenerationResults().end(),
154 [&](const Model::ReportGenerationResult& item) {
155 return Model::ReportGenerationStatusMapper::GetNameForReportGenerationStatus(item.GetStatus()) ==
156 expected.get<Aws::String>();
157 });
158 }));
159
160 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->ListReports(req); };
161 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilReportSucceeded");
162 return waiter.Wait(request);
163 }
164};
165} // namespace resiliencehubv2
166} // namespace Aws
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::WaiterOutcome< Model::GetServiceOutcome > WaitUntilServiceAssessmentCompleted(const Model::GetServiceRequest &request)
Aws::Utils::WaiterOutcome< Model::ListFailureModeAssessmentsOutcome > WaitUntilFailureModeAssessmentSuccess(const Model::ListFailureModeAssessmentsRequest &request)
Aws::Utils::WaiterOutcome< Model::GetServiceOutcome > WaitUntilServiceResourceDiscoveryCompleted(const Model::GetServiceRequest &request)
Aws::Utils::WaiterOutcome< Model::ListReportsOutcome > WaitUntilReportSucceeded(const Model::ListReportsRequest &request)
Crt::Variant< int, bool, Aws::String > ExpectedValue
AWS_RESILIENCEHUBV2_API Aws::String GetNameForAssessmentStatus(AssessmentStatus value)
AWS_RESILIENCEHUBV2_API Aws::String GetNameForResourceDiscoveryRunStatus(ResourceDiscoveryRunStatus value)
Aws::Utils::Outcome< ListFailureModeAssessmentsResult, Resiliencehubv2Error > ListFailureModeAssessmentsOutcome
Aws::Utils::Outcome< GetServiceResult, Resiliencehubv2Error > GetServiceOutcome
Aws::Utils::Outcome< ListReportsResult, Resiliencehubv2Error > ListReportsOutcome
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