AWS SDK for C++

AWS SDK for C++ Version 1.11.778

Loading...
Searching...
No Matches
NeptuneWaiter.h
1
6#pragma once
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>
12
13#include <algorithm>
14
15namespace Aws {
16namespace Neptune {
17
18template <typename DerivedClient = NeptuneClient>
20 public:
22 const Model::DescribeDBInstancesRequest& request) {
23 using OutcomeT = Model::DescribeDBInstancesOutcome;
24 using RequestT = Model::DescribeDBInstancesRequest;
27 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("available"),
28 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
29 if (!outcome.IsSuccess()) return false;
30 const auto& result = outcome.GetResult();
31 return std::all_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
32 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
33 }));
35 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("deleted"),
36 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
37 if (!outcome.IsSuccess()) return false;
38 const auto& result = outcome.GetResult();
39 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
40 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
41 }));
43 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("deleting"),
44 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
45 if (!outcome.IsSuccess()) return false;
46 const auto& result = outcome.GetResult();
47 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
48 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
49 }));
51 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("failed"),
52 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
53 if (!outcome.IsSuccess()) return false;
54 const auto& result = outcome.GetResult();
55 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
56 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
57 }));
59 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("incompatible-restore"),
60 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
61 if (!outcome.IsSuccess()) return false;
62 const auto& result = outcome.GetResult();
63 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
64 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
65 }));
67 "DBInstanceAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("incompatible-parameters"),
68 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
69 if (!outcome.IsSuccess()) return false;
70 const auto& result = outcome.GetResult();
71 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
72 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
73 }));
74
75 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeDBInstances(req); };
76 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilDBInstanceAvailable");
77 return waiter.Wait(request);
78 }
79
81 const Model::DescribeDBInstancesRequest& request) {
82 using OutcomeT = Model::DescribeDBInstancesOutcome;
83 using RequestT = Model::DescribeDBInstancesRequest;
86 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("deleted"),
87 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
88 if (!outcome.IsSuccess()) return false;
89 const auto& result = outcome.GetResult();
90 return std::all_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
91 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
92 }));
93 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("DBInstanceDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
94 Aws::String("DBInstanceNotFound")));
96 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("creating"),
97 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
98 if (!outcome.IsSuccess()) return false;
99 const auto& result = outcome.GetResult();
100 return std::any_of(result.GetDBInstances().begin(), result.GetDBInstances().end(),
101 [&](const Model::DBInstance& item) { return item.GetDBInstanceStatus() == expected.get<Aws::String>(); });
102 }));
104 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("modifying"),
105 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
106 if (!outcome.IsSuccess()) return false;
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>(); });
110 }));
112 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("rebooting"),
113 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
114 if (!outcome.IsSuccess()) return false;
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>(); });
118 }));
120 "DBInstanceDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("resetting-master-credentials"),
121 [](const Model::DescribeDBInstancesOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
122 if (!outcome.IsSuccess()) return false;
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>(); });
126 }));
127
128 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeDBInstances(req); };
129 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilDBInstanceDeleted");
130 return waiter.Wait(request);
131 }
132};
133} // namespace Neptune
134} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeDBInstancesOutcome > WaitUntilDBInstanceDeleted(const Model::DescribeDBInstancesRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeDBInstancesOutcome > WaitUntilDBInstanceAvailable(const Model::DescribeDBInstancesRequest &request)
bool IsSuccess() const
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