AWS SDK for C++

AWS SDK for C++ Version 1.11.786

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/FargateProfileStatus.h>
21#include <aws/eks/model/NodegroupStatus.h>
22
23#include <algorithm>
24
25namespace Aws {
26namespace EKS {
27
28template <typename DerivedClient = EKSClient>
29class EKSWaiter {
30 public:
32 using OutcomeT = Model::DescribeAddonOutcome;
33 using RequestT = Model::DescribeAddonRequest;
36 "AddonActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
37 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
38 if (!outcome.IsSuccess()) return false;
39 const auto& result = outcome.GetResult();
40 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
41 }));
43 "AddonActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DEGRADED"),
44 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
45 if (!outcome.IsSuccess()) return false;
46 const auto& result = outcome.GetResult();
47 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
48 }));
50 "AddonActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
51 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
52 if (!outcome.IsSuccess()) return false;
53 const auto& result = outcome.GetResult();
54 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
55 }));
56
57 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAddon(req); };
58 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilAddonActive");
59 return waiter.Wait(request);
60 }
61
63 using OutcomeT = Model::DescribeAddonOutcome;
64 using RequestT = Model::DescribeAddonRequest;
67 "AddonDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
68 [](const Model::DescribeAddonOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
69 if (!outcome.IsSuccess()) return false;
70 const auto& result = outcome.GetResult();
71 return Model::AddonStatusMapper::GetNameForAddonStatus(result.GetAddon().GetStatus()) == expected.get<Aws::String>();
72 }));
73 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("AddonDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
74 Aws::String("ResourceNotFoundException")));
75
76 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAddon(req); };
77 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilAddonDeleted");
78 return waiter.Wait(request);
79 }
80
82 using OutcomeT = Model::DescribeClusterOutcome;
83 using RequestT = Model::DescribeClusterRequest;
86 "ClusterActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETING"),
87 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
88 if (!outcome.IsSuccess()) return false;
89 const auto& result = outcome.GetResult();
90 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
91 }));
93 "ClusterActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
94 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
95 if (!outcome.IsSuccess()) return false;
96 const auto& result = outcome.GetResult();
97 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
98 }));
100 "ClusterActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
101 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
102 if (!outcome.IsSuccess()) return false;
103 const auto& result = outcome.GetResult();
104 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
105 }));
106
107 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCluster(req); };
108 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilClusterActive");
109 return waiter.Wait(request);
110 }
111
113 using OutcomeT = Model::DescribeClusterOutcome;
114 using RequestT = Model::DescribeClusterRequest;
117 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("ACTIVE"),
118 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
119 if (!outcome.IsSuccess()) return false;
120 const auto& result = outcome.GetResult();
121 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
122 }));
124 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATING"),
125 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
126 if (!outcome.IsSuccess()) return false;
127 const auto& result = outcome.GetResult();
128 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
129 }));
131 "ClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("PENDING"),
132 [](const Model::DescribeClusterOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
133 if (!outcome.IsSuccess()) return false;
134 const auto& result = outcome.GetResult();
135 return Model::ClusterStatusMapper::GetNameForClusterStatus(result.GetCluster().GetStatus()) == expected.get<Aws::String>();
136 }));
137 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("ClusterDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
138 Aws::String("ResourceNotFoundException")));
139
140 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCluster(req); };
141 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilClusterDeleted");
142 return waiter.Wait(request);
143 }
144
151 "FargateProfileActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
152 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
153 if (!outcome.IsSuccess()) return false;
154 const auto& result = outcome.GetResult();
155 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
156 expected.get<Aws::String>();
157 }));
159 "FargateProfileActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
160 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
161 if (!outcome.IsSuccess()) return false;
162 const auto& result = outcome.GetResult();
163 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
164 expected.get<Aws::String>();
165 }));
166
167 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFargateProfile(req); };
168 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(10, 12, std::move(acceptors), operation, "WaitUntilFargateProfileActive");
169 return waiter.Wait(request);
170 }
171
178 "FargateProfileDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
179 [](const Model::DescribeFargateProfileOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
180 if (!outcome.IsSuccess()) return false;
181 const auto& result = outcome.GetResult();
182 return Model::FargateProfileStatusMapper::GetNameForFargateProfileStatus(result.GetFargateProfile().GetStatus()) ==
183 expected.get<Aws::String>();
184 }));
186 "FargateProfileDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ResourceNotFoundException")));
187
188 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFargateProfile(req); };
189 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilFargateProfileDeleted");
190 return waiter.Wait(request);
191 }
192
194 using OutcomeT = Model::DescribeNodegroupOutcome;
195 using RequestT = Model::DescribeNodegroupRequest;
198 "NodegroupActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
199 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
200 if (!outcome.IsSuccess()) return false;
201 const auto& result = outcome.GetResult();
202 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
203 }));
205 "NodegroupActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
206 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
207 if (!outcome.IsSuccess()) return false;
208 const auto& result = outcome.GetResult();
209 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
210 }));
211
212 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeNodegroup(req); };
213 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilNodegroupActive");
214 return waiter.Wait(request);
215 }
216
218 using OutcomeT = Model::DescribeNodegroupOutcome;
219 using RequestT = Model::DescribeNodegroupRequest;
222 "NodegroupDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
223 [](const Model::DescribeNodegroupOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
224 if (!outcome.IsSuccess()) return false;
225 const auto& result = outcome.GetResult();
226 return Model::NodegroupStatusMapper::GetNameForNodegroupStatus(result.GetNodegroup().GetStatus()) == expected.get<Aws::String>();
227 }));
228 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("NodegroupDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
229 Aws::String("ResourceNotFoundException")));
230
231 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeNodegroup(req); };
232 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilNodegroupDeleted");
233 return waiter.Wait(request);
234 }
235};
236} // namespace EKS
237} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeFargateProfileOutcome > WaitUntilFargateProfileDeleted(const Model::DescribeFargateProfileRequest &request)
Definition EKSWaiter.h:172
Aws::Utils::WaiterOutcome< Model::DescribeAddonOutcome > WaitUntilAddonActive(const Model::DescribeAddonRequest &request)
Definition EKSWaiter.h:31
Aws::Utils::WaiterOutcome< Model::DescribeFargateProfileOutcome > WaitUntilFargateProfileActive(const Model::DescribeFargateProfileRequest &request)
Definition EKSWaiter.h:145
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterDeleted(const Model::DescribeClusterRequest &request)
Definition EKSWaiter.h:112
Aws::Utils::WaiterOutcome< Model::DescribeNodegroupOutcome > WaitUntilNodegroupDeleted(const Model::DescribeNodegroupRequest &request)
Definition EKSWaiter.h:217
Aws::Utils::WaiterOutcome< Model::DescribeClusterOutcome > WaitUntilClusterActive(const Model::DescribeClusterRequest &request)
Definition EKSWaiter.h:81
Aws::Utils::WaiterOutcome< Model::DescribeAddonOutcome > WaitUntilAddonDeleted(const Model::DescribeAddonRequest &request)
Definition EKSWaiter.h:62
Aws::Utils::WaiterOutcome< Model::DescribeNodegroupOutcome > WaitUntilNodegroupActive(const Model::DescribeNodegroupRequest &request)
Definition EKSWaiter.h:193
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::Utils::Outcome< DescribeNodegroupResult, EKSError > DescribeNodegroupOutcome
Aws::Utils::Outcome< DescribeClusterResult, EKSError > DescribeClusterOutcome
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