AWS SDK for C++

AWS SDK for C++ Version 1.11.777

Loading...
Searching...
No Matches
ElastiCacheWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/elasticache/ElastiCacheClient.h>
10#include <aws/elasticache/model/DescribeCacheClustersRequest.h>
11#include <aws/elasticache/model/DescribeCacheClustersResult.h>
12#include <aws/elasticache/model/DescribeReplicationGroupsRequest.h>
13#include <aws/elasticache/model/DescribeReplicationGroupsResult.h>
14
15#include <algorithm>
16
17namespace Aws {
18namespace ElastiCache {
19
20template <typename DerivedClient = ElastiCacheClient>
22 public:
29 "CacheClusterAvailableWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("available"),
30 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
31 if (!outcome.IsSuccess()) return false;
32 const auto& result = outcome.GetResult();
33 return std::all_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
34 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
35 }));
37 "CacheClusterAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("deleted"),
38 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
39 if (!outcome.IsSuccess()) return false;
40 const auto& result = outcome.GetResult();
41 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
42 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
43 }));
45 "CacheClusterAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("deleting"),
46 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
47 if (!outcome.IsSuccess()) return false;
48 const auto& result = outcome.GetResult();
49 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
50 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
51 }));
53 "CacheClusterAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("incompatible-network"),
54 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
55 if (!outcome.IsSuccess()) return false;
56 const auto& result = outcome.GetResult();
57 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
58 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
59 }));
61 "CacheClusterAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("restore-failed"),
62 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
63 if (!outcome.IsSuccess()) return false;
64 const auto& result = outcome.GetResult();
65 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
66 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
67 }));
68
69 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCacheClusters(req); };
70 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(15, 8, std::move(acceptors), operation, "WaitUntilCacheClusterAvailable");
71 return waiter.Wait(request);
72 }
73
80 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("deleted"),
81 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
82 if (!outcome.IsSuccess()) return false;
83 const auto& result = outcome.GetResult();
84 return std::all_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
85 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
86 }));
88 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("CacheClusterNotFound")));
90 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("available"),
91 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
92 if (!outcome.IsSuccess()) return false;
93 const auto& result = outcome.GetResult();
94 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
95 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
96 }));
98 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("creating"),
99 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
100 if (!outcome.IsSuccess()) return false;
101 const auto& result = outcome.GetResult();
102 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
103 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
104 }));
106 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("incompatible-network"),
107 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
108 if (!outcome.IsSuccess()) return false;
109 const auto& result = outcome.GetResult();
110 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
111 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
112 }));
114 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("modifying"),
115 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
116 if (!outcome.IsSuccess()) return false;
117 const auto& result = outcome.GetResult();
118 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
119 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
120 }));
122 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("restore-failed"),
123 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
124 if (!outcome.IsSuccess()) return false;
125 const auto& result = outcome.GetResult();
126 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
127 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
128 }));
130 "CacheClusterDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("snapshotting"),
131 [](const Model::DescribeCacheClustersOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
132 if (!outcome.IsSuccess()) return false;
133 const auto& result = outcome.GetResult();
134 return std::any_of(result.GetCacheClusters().begin(), result.GetCacheClusters().end(),
135 [&](const Model::CacheCluster& item) { return item.GetCacheClusterStatus() == expected.get<Aws::String>(); });
136 }));
137
138 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCacheClusters(req); };
139 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(15, 8, std::move(acceptors), operation, "WaitUntilCacheClusterDeleted");
140 return waiter.Wait(request);
141 }
142
149 "ReplicationGroupAvailableWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("available"),
150 [](const Model::DescribeReplicationGroupsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
151 if (!outcome.IsSuccess()) return false;
152 const auto& result = outcome.GetResult();
153 return std::all_of(result.GetReplicationGroups().begin(), result.GetReplicationGroups().end(),
154 [&](const Model::ReplicationGroup& item) { return item.GetStatus() == expected.get<Aws::String>(); });
155 }));
157 "ReplicationGroupAvailableWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("deleted"),
158 [](const Model::DescribeReplicationGroupsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
159 if (!outcome.IsSuccess()) return false;
160 const auto& result = outcome.GetResult();
161 return std::any_of(result.GetReplicationGroups().begin(), result.GetReplicationGroups().end(),
162 [&](const Model::ReplicationGroup& item) { return item.GetStatus() == expected.get<Aws::String>(); });
163 }));
164
165 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeReplicationGroups(req); };
166 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(15, 8, std::move(acceptors), operation, "WaitUntilReplicationGroupAvailable");
167 return waiter.Wait(request);
168 }
169
176 "ReplicationGroupDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("deleted"),
177 [](const Model::DescribeReplicationGroupsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
178 if (!outcome.IsSuccess()) return false;
179 const auto& result = outcome.GetResult();
180 return std::all_of(result.GetReplicationGroups().begin(), result.GetReplicationGroups().end(),
181 [&](const Model::ReplicationGroup& item) { return item.GetStatus() == expected.get<Aws::String>(); });
182 }));
184 "ReplicationGroupDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("available"),
185 [](const Model::DescribeReplicationGroupsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
186 if (!outcome.IsSuccess()) return false;
187 const auto& result = outcome.GetResult();
188 return std::any_of(result.GetReplicationGroups().begin(), result.GetReplicationGroups().end(),
189 [&](const Model::ReplicationGroup& item) { return item.GetStatus() == expected.get<Aws::String>(); });
190 }));
192 "ReplicationGroupDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ReplicationGroupNotFoundFault")));
193
194 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeReplicationGroups(req); };
195 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(15, 8, std::move(acceptors), operation, "WaitUntilReplicationGroupDeleted");
196 return waiter.Wait(request);
197 }
198};
199} // namespace ElastiCache
200} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeReplicationGroupsOutcome > WaitUntilReplicationGroupAvailable(const Model::DescribeReplicationGroupsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeCacheClustersOutcome > WaitUntilCacheClusterDeleted(const Model::DescribeCacheClustersRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeReplicationGroupsOutcome > WaitUntilReplicationGroupDeleted(const Model::DescribeReplicationGroupsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeCacheClustersOutcome > WaitUntilCacheClusterAvailable(const Model::DescribeCacheClustersRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeReplicationGroupsResult, ElastiCacheError > DescribeReplicationGroupsOutcome
Aws::Utils::Outcome< DescribeCacheClustersResult, ElastiCacheError > DescribeCacheClustersOutcome
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