7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/elasticbeanstalk/ElasticBeanstalkClient.h>
10#include <aws/elasticbeanstalk/model/DescribeEnvironmentsRequest.h>
11#include <aws/elasticbeanstalk/model/DescribeEnvironmentsResult.h>
12#include <aws/elasticbeanstalk/model/EnvironmentStatus.h>
17namespace ElasticBeanstalk {
19template <
typename DerivedClient = ElasticBeanstalkClient>
28 "EnvironmentExistsWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"Ready"),
34 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
38 "EnvironmentExistsWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"Launching"),
44 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
48 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeEnvironments(req); };
50 return waiter.
Wait(request);
59 "EnvironmentTerminatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"Terminated"),
65 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
69 "EnvironmentTerminatedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"Terminating"),
75 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
79 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeEnvironments(req); };
81 return waiter.
Wait(request);
90 "EnvironmentUpdatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"Ready"),
96 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
100 "EnvironmentUpdatedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"Updating"),
103 const auto& result = outcome.
GetResult();
106 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
110 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeEnvironments(req); };
112 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeEnvironmentsOutcome > WaitUntilEnvironmentTerminated(const Model::DescribeEnvironmentsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeEnvironmentsOutcome > WaitUntilEnvironmentExists(const Model::DescribeEnvironmentsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeEnvironmentsOutcome > WaitUntilEnvironmentUpdated(const Model::DescribeEnvironmentsRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeEnvironmentsResult, ElasticBeanstalkError > DescribeEnvironmentsOutcome
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