7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/neptune/NeptuneClient.h>
10#include <aws/neptune/model/DescribeDBInstancesRequest.h>
11#include <aws/neptune/model/DescribeDBInstancesResult.h>
18template <
typename DerivedClient = NeptuneClient>
27 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"available"),
31 return std::all_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
32 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
35 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleted"),
39 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
40 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
43 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"deleting"),
47 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
48 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
51 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"failed"),
55 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
56 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
59 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"incompatible-restore"),
63 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
64 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
67 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"incompatible-parameters"),
71 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
72 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
75 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeDBInstances(req); };
77 return waiter.
Wait(request);
86 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"deleted"),
90 return std::all_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
91 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
96 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"creating"),
100 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
101 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
104 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"modifying"),
107 const auto& result = outcome.
GetResult();
108 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
109 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
112 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"rebooting"),
115 const auto& result = outcome.
GetResult();
116 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
117 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
120 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"resetting-master-credentials"),
123 const auto& result = outcome.
GetResult();
124 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
125 [&](
const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
128 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeDBInstances(req); };
130 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeDBInstancesOutcome > WaitUntilDBInstanceDeleted(const Model::DescribeDBInstancesRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeDBInstancesOutcome > WaitUntilDBInstanceAvailable(const Model::DescribeDBInstancesRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeDBInstancesResult, NeptuneError > DescribeDBInstancesOutcome
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