7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/dms/DatabaseMigrationServiceClient.h>
10#include <aws/dms/model/DescribeConnectionsRequest.h>
11#include <aws/dms/model/DescribeConnectionsResult.h>
12#include <aws/dms/model/DescribeEndpointsRequest.h>
13#include <aws/dms/model/DescribeEndpointsResult.h>
14#include <aws/dms/model/DescribeReplicationInstancesRequest.h>
15#include <aws/dms/model/DescribeReplicationInstancesResult.h>
16#include <aws/dms/model/DescribeReplicationTasksRequest.h>
17#include <aws/dms/model/DescribeReplicationTasksResult.h>
22namespace DatabaseMigrationService {
24template <
typename DerivedClient = DatabaseMigrationServiceClient>
33 "TestConnectionSucceedsWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"successful"),
37 return std::all_of(result.GetConnections().begin(), result.GetConnections().end(),
38 [&](
const Model::Connection& item) { return item.GetStatus() == expected.get<Aws::String>(); });
41 "TestConnectionSucceedsWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
45 return std::any_of(result.GetConnections().begin(), result.GetConnections().end(),
46 [&](
const Model::Connection& item) { return item.GetStatus() == expected.get<Aws::String>(); });
49 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeConnections(req); };
51 return waiter.
Wait(request);
61 "EndpointDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"active"),
65 return std::any_of(result.GetEndpoints().begin(), result.GetEndpoints().end(),
66 [&](
const Model::Endpoint& item) { return item.GetStatus() == expected.get<Aws::String>(); });
69 "EndpointDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"creating"),
73 return std::any_of(result.GetEndpoints().begin(), result.GetEndpoints().end(),
74 [&](
const Model::Endpoint& item) { return item.GetStatus() == expected.get<Aws::String>(); });
77 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeEndpoints(req); };
79 return waiter.
Wait(request);
88 "ReplicationInstanceAvailableWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"available"),
93 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
97 "ReplicationInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleting"),
100 const auto& result = outcome.
GetResult();
102 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
106 "ReplicationInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"incompatible-credentials"),
109 const auto& result = outcome.
GetResult();
111 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
115 "ReplicationInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"incompatible-network"),
118 const auto& result = outcome.
GetResult();
120 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
124 "ReplicationInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"inaccessible-encryption-credentials"),
127 const auto& result = outcome.
GetResult();
129 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
133 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationInstances(req); };
135 return waiter.
Wait(request);
144 "ReplicationInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"available"),
147 const auto& result = outcome.
GetResult();
149 result.GetReplicationInstances().begin(), result.GetReplicationInstances().end(),
153 "ReplicationInstanceDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundFault")));
155 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationInstances(req); };
157 return waiter.
Wait(request);
166 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ready"),
169 const auto& result = outcome.
GetResult();
170 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
174 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"creating"),
177 const auto& result = outcome.
GetResult();
178 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
182 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"stopped"),
185 const auto& result = outcome.
GetResult();
186 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
190 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"running"),
193 const auto& result = outcome.
GetResult();
194 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
198 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
201 const auto& result = outcome.
GetResult();
202 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
206 "ReplicationTaskDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundFault")));
208 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationTasks(req); };
210 return waiter.
Wait(request);
219 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ready"),
222 const auto& result = outcome.
GetResult();
223 return std::all_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
227 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"starting"),
230 const auto& result = outcome.
GetResult();
231 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
235 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"running"),
238 const auto& result = outcome.
GetResult();
239 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
243 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"stopping"),
246 const auto& result = outcome.
GetResult();
247 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
251 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"stopped"),
254 const auto& result = outcome.
GetResult();
255 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
259 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
262 const auto& result = outcome.
GetResult();
263 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
267 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"modifying"),
270 const auto& result = outcome.
GetResult();
271 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
275 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"testing"),
278 const auto& result = outcome.
GetResult();
279 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
283 "ReplicationTaskReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleting"),
286 const auto& result = outcome.
GetResult();
287 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
291 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationTasks(req); };
293 return waiter.
Wait(request);
302 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"running"),
305 const auto& result = outcome.
GetResult();
306 return std::all_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
310 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ready"),
313 const auto& result = outcome.
GetResult();
314 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
318 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"creating"),
321 const auto& result = outcome.
GetResult();
322 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
326 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"stopping"),
329 const auto& result = outcome.
GetResult();
330 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
334 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"stopped"),
337 const auto& result = outcome.
GetResult();
338 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
342 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
345 const auto& result = outcome.
GetResult();
346 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
350 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"modifying"),
353 const auto& result = outcome.
GetResult();
354 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
358 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"testing"),
361 const auto& result = outcome.
GetResult();
362 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
366 "ReplicationTaskRunningWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleting"),
369 const auto& result = outcome.
GetResult();
370 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
374 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationTasks(req); };
376 return waiter.
Wait(request);
385 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"stopped"),
388 const auto& result = outcome.
GetResult();
389 return std::all_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
393 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ready"),
396 const auto& result = outcome.
GetResult();
397 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
401 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"creating"),
404 const auto& result = outcome.
GetResult();
405 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
409 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"starting"),
412 const auto& result = outcome.
GetResult();
413 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
417 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
420 const auto& result = outcome.
GetResult();
421 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
425 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"modifying"),
428 const auto& result = outcome.
GetResult();
429 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
433 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"testing"),
436 const auto& result = outcome.
GetResult();
437 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
441 "ReplicationTaskStoppedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleting"),
444 const auto& result = outcome.
GetResult();
445 return std::any_of(result.GetReplicationTasks().begin(), result.GetReplicationTasks().end(),
449 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeReplicationTasks(req); };
451 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeConnectionsOutcome > WaitUntilTestConnectionSucceeds(const Model::DescribeConnectionsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeEndpointsOutcome > WaitUntilEndpointDeleted(const Model::DescribeEndpointsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationTasksOutcome > WaitUntilReplicationTaskStopped(const Model::DescribeReplicationTasksRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationTasksOutcome > WaitUntilReplicationTaskReady(const Model::DescribeReplicationTasksRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationTasksOutcome > WaitUntilReplicationTaskDeleted(const Model::DescribeReplicationTasksRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationInstancesOutcome > WaitUntilReplicationInstanceAvailable(const Model::DescribeReplicationInstancesRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationTasksOutcome > WaitUntilReplicationTaskRunning(const Model::DescribeReplicationTasksRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationInstancesOutcome > WaitUntilReplicationInstanceDeleted(const Model::DescribeReplicationInstancesRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeEndpointsResult, DatabaseMigrationServiceError > DescribeEndpointsOutcome
Aws::Utils::Outcome< DescribeReplicationTasksResult, DatabaseMigrationServiceError > DescribeReplicationTasksOutcome
Aws::Utils::Outcome< DescribeReplicationInstancesResult, DatabaseMigrationServiceError > DescribeReplicationInstancesOutcome
Aws::Utils::Outcome< DescribeConnectionsResult, DatabaseMigrationServiceError > DescribeConnectionsOutcome
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