7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/elasticloadbalancing/ElasticLoadBalancingClient.h>
10#include <aws/elasticloadbalancing/model/DescribeInstanceHealthRequest.h>
11#include <aws/elasticloadbalancing/model/DescribeInstanceHealthResult.h>
16namespace ElasticLoadBalancing {
18template <
typename DerivedClient = ElasticLoadBalancingClient>
27 "AnyInstanceInServiceWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"InService"),
31 return std::any_of(result.GetInstanceStates().begin(), result.GetInstanceStates().end(),
32 [&](
const Model::InstanceState& item) { return item.GetState() == expected.get<Aws::String>(); });
35 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeInstanceHealth(req); };
37 return waiter.
Wait(request);
46 "InstanceDeregisteredWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"OutOfService"),
50 return std::all_of(result.GetInstanceStates().begin(), result.GetInstanceStates().end(),
51 [&](
const Model::InstanceState& item) { return item.GetState() == expected.get<Aws::String>(); });
54 "InstanceDeregisteredWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"InvalidInstance")));
56 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeInstanceHealth(req); };
58 return waiter.
Wait(request);
67 "InstanceInServiceWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"InService"),
71 return std::all_of(result.GetInstanceStates().begin(), result.GetInstanceStates().end(),
72 [&](
const Model::InstanceState& item) { return item.GetState() == expected.get<Aws::String>(); });
77 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeInstanceHealth(req); };
79 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeInstanceHealthOutcome > WaitUntilInstanceDeregistered(const Model::DescribeInstanceHealthRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeInstanceHealthOutcome > WaitUntilInstanceInService(const Model::DescribeInstanceHealthRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeInstanceHealthOutcome > WaitUntilAnyInstanceInService(const Model::DescribeInstanceHealthRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeInstanceHealthResult, ElasticLoadBalancingError > DescribeInstanceHealthOutcome
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