AWS SDK for C++

AWS SDK for C++ Version 1.11.875

Loading...
Searching...
No Matches
EKSWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/eks/EKSClient.h>
10#include <aws/eks/model/AddonStatus.h>
11#include <aws/eks/model/ClusterStatus.h>
12#include <aws/eks/model/DescribeAddonRequest.h>
13#include <aws/eks/model/DescribeAddonResult.h>
14#include <aws/eks/model/DescribeClusterRequest.h>
15#include <aws/eks/model/DescribeClusterResult.h>
16#include <aws/eks/model/DescribeFargateProfileRequest.h>
17#include <aws/eks/model/DescribeFargateProfileResult.h>
18#include <aws/eks/model/DescribeNodegroupRequest.h>
19#include <aws/eks/model/DescribeNodegroupResult.h>
20#include <aws/eks/model/DescribeUpdateRequest.h>
21#include <aws/eks/model/DescribeUpdateResult.h>
22#include <aws/eks/model/FargateProfileStatus.h>
23#include <aws/eks/model/NodegroupStatus.h>
24#include <aws/eks/model/UpdateStatus.h>
25
26#include <algorithm>
27
28namespace Aws {
29namespace EKS {
30
31template <typename DerivedClient = EKSClient>
32class EKSWaiter {
33 public:
35 using OutcomeT = Model::DescribeAddonOutcome;
36 using RequestT = Model::DescribeAddonRequest;
39 "AddonActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
40 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
41 if (!outcome.IsSuccess()) return false;
42 const auto& result = outcome.GetResult();
43 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
44 }));
46 "AddonActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DEGRADED"),
47 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
48 if (!outcome.IsSuccess()) return false;
49 const auto& result = outcome.GetResult();
50 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
51 }));
53 "AddonActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
54 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
55 if (!outcome.IsSuccess()) return false;
56 const auto& result = outcome.GetResult();
57 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
58 }));
59
60 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAddon(req); };
61 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilAddonActive");
62 return waiter.Wait(request);
63 }
64
66 using OutcomeT = Model::DescribeAddonOutcome;
67 using RequestT = Model::DescribeAddonRequest;
70 "AddonDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
71 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
72 if (!outcome.IsSuccess()) return false;
73 const auto& result = outcome.GetResult();
74 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
75 }));
76 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("AddonDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
77 Aws::String("ResourceNotFoundException")));
78
79 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAddon(req); };
80 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilAddonDeleted");
81 return waiter.Wait(request);
82 }
83
85 using OutcomeT = Model::DescribeClusterOutcome;
86 using RequestT = Model::DescribeClusterRequest;
89 "ClusterActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETING"),
90 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
91 if (!outcome.IsSuccess()) return false;
92 const auto& result = outcome.GetResult();
93 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
94 }));
96 "ClusterActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
97 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
98 if (!outcome.IsSuccess()) return false;
99 const auto& result = outcome.GetResult();
100 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
101 }));
103 "ClusterActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
104 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
105 if (!outcome.IsSuccess()) return false;
106 const auto& result = outcome.GetResult();
107 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
108 }));
109
110 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCluster(req); };
111 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilClusterActive");
112 return waiter.Wait(request);
113 }
114
116 using OutcomeT = Model::DescribeClusterOutcome;
117 using RequestT = Model::DescribeClusterRequest;
120 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("ACTIVE"),
121 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
122 if (!outcome.IsSuccess()) return false;
123 const auto& result = outcome.GetResult();
124 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
125 }));
127 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATING"),
128 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
129 if (!outcome.IsSuccess()) return false;
130 const auto& result = outcome.GetResult();
131 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
132 }));
134 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("PENDING"),
135 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
136 if (!outcome.IsSuccess()) return false;
137 const auto& result = outcome.GetResult();
138 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
139 }));
140 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("ClusterDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
141 Aws::String("ResourceNotFoundException")));
142
143 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCluster(req); };
144 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilClusterDeleted");
145 return waiter.Wait(request);
146 }
147
154 "FargateProfileActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
155 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
156 if (!outcome.IsSuccess()) return false;
157 const auto& result = outcome.GetResult();
158 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
159 expected.get<Aws::String>();
160 }));
162 "FargateProfileActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
163 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
164 if (!outcome.IsSuccess()) return false;
165 const auto& result = outcome.GetResult();
166 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
167 expected.get<Aws::String>();
168 }));
169
170 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFargateProfile(req); };
171 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilFargateProfileActive");
172 return waiter.Wait(request);
173 }
174
181 "FargateProfileDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
182 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
183 if (!outcome.IsSuccess()) return false;
184 const auto& result = outcome.GetResult();
185 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
186 expected.get<Aws::String>();
187 }));
189 "FargateProfileDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ResourceNotFoundException")));
190
191 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFargateProfile(req); };
192 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilFargateProfileDeleted");
193 return waiter.Wait(request);
194 }
195
197 using OutcomeT = Model::DescribeNodegroupOutcome;
198 using RequestT = Model::DescribeNodegroupRequest;
201 "NodegroupActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
202 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
203 if (!outcome.IsSuccess()) return false;
204 const auto& result = outcome.GetResult();
205 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
206 }));
208 "NodegroupActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
209 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
210 if (!outcome.IsSuccess()) return false;
211 const auto& result = outcome.GetResult();
212 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
213 }));
214
215 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeNodegroup(req); };
216 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilNodegroupActive");
217 return waiter.Wait(request);
218 }
219
221 using OutcomeT = Model::DescribeNodegroupOutcome;
222 using RequestT = Model::DescribeNodegroupRequest;
225 "NodegroupDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
226 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
227 if (!outcome.IsSuccess()) return false;
228 const auto& result = outcome.GetResult();
229 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
230 }));
231 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("NodegroupDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
232 Aws::String("ResourceNotFoundException")));
233
234 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeNodegroup(req); };
235 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilNodegroupDeleted");
236 return waiter.Wait(request);
237 }
238
240 const Model::DescribeUpdateRequest& request) {
241 using OutcomeT = Model::DescribeUpdateOutcome;
242 using RequestT = Model::DescribeUpdateRequest;
245 "CertificateAuthorityUpdateCompleteWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("Failed"),
246 [](const Model::DescribeUpdateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
247 if (!outcome.IsSuccess()) return false;
248 const auto& result = outcome.GetResult();
249 return Model::UpdateStatusMapper::GetNameForUpdateStatus(result.GetUpdate().GetStatus()) == expected.get<Aws::String>();
250 }));
252 "CertificateAuthorityUpdateCompleteWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("Cancelled"),
253 [](const Model::DescribeUpdateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
254 if (!outcome.IsSuccess()) return false;
255 const auto& result = outcome.GetResult();
256 return Model::UpdateStatusMapper::GetNameForUpdateStatus(result.GetUpdate().GetStatus()) == expected.get<Aws::String>();
257 }));
259 "CertificateAuthorityUpdateCompleteWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("Successful"),
260 [](const Model::DescribeUpdateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
261 if (!outcome.IsSuccess()) return false;
262 const auto& result = outcome.GetResult();
263 return Model::UpdateStatusMapper::GetNameForUpdateStatus(result.GetUpdate().GetStatus()) == expected.get<Aws::String>();
264 }));
265
266 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeUpdate(req); };
267 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilCertificateAuthorityUpdateComplete");
268 return waiter.Wait(request);
269 }
270};
271} // namespace EKS
272} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeFargateProfileOutcome > WaitUntilFargateProfileDeleted(const Model::DescribeFargateProfileRequest &request)
Definition EKSWaiter.h:175
Aws::Utils::WaiterOutcome< Model::DescribeAddonOutcome > WaitUntilAddonActive(const Model::DescribeAddonRequest &request)
Definition EKSWaiter.h:34
Aws::Utils::WaiterOutcome< Model::DescribeFargateProfileOutcome > WaitUntilFargateProfileActive(const Model::DescribeFargateProfileRequest &request)
Definition EKSWaiter.h:148
Aws::Utils::WaiterOutcome< Model::DescribeUpdateOutcome > WaitUntilCertificateAuthorityUpdateComplete(const Model::DescribeUpdateRequest &request)
Definition EKSWaiter.h:239
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterDeleted(const Model::DescribeClusterRequest &request)
Definition EKSWaiter.h:115
Aws::Utils::WaiterOutcome< Model::DescribeNodegroupOutcome > WaitUntilNodegroupDeleted(const Model::DescribeNodegroupRequest &request)
Definition EKSWaiter.h:220
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterActive(const Model::DescribeClusterRequest &request)
Definition EKSWaiter.h:84
Aws::Utils::WaiterOutcome< Model::DescribeAddonOutcome > WaitUntilAddonDeleted(const Model::DescribeAddonRequest &request)
Definition EKSWaiter.h:65
Aws::Utils::WaiterOutcome< Model::DescribeNodegroupOutcome > WaitUntilNodegroupActive(const Model::DescribeNodegroupRequest &request)
Definition EKSWaiter.h:196
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_EKS_API Aws::String GetNameForAddonStatus(AddonStatus value)
AWS_EKS_API Aws::String GetNameForClusterStatus(ClusterStatus value)
AWS_EKS_API Aws::String GetNameForFargateProfileStatus(FargateProfileStatus value)
AWS_EKS_API Aws::String GetNameForNodegroupStatus(NodegroupStatus value)
AWS_EKS_API Aws::String GetNameForUpdateStatus(UpdateStatus value)
Aws::Utils::Outcome< DescribeNodegroupResult, EKSError > DescribeNodegroupOutcome
Aws::Utils::Outcome< DescribeClusterResult, EKSError > DescribeClusterOutcome
Aws::Utils::Outcome< DescribeUpdateResult, EKSError > DescribeUpdateOutcome
Aws::Utils::Outcome< DescribeAddonResult, EKSError > DescribeAddonOutcome
Aws::Utils::Outcome< DescribeFargateProfileResult, EKSError > DescribeFargateProfileOutcome
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