AWS SDK for C++

AWS SDK for C++ Version 1.11.778

Loading...
Searching...
No Matches
ElasticBeanstalkWaiter.h
1
6#pragma once
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>
13
14#include <algorithm>
15
16namespace Aws {
17namespace ElasticBeanstalk {
18
19template <typename DerivedClient = ElasticBeanstalkClient>
21 public:
28 "EnvironmentExistsWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("Ready"),
29 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
30 if (!outcome.IsSuccess()) return false;
31 const auto& result = outcome.GetResult();
32 return std::all_of(
33 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
34 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
35 });
36 }));
38 "EnvironmentExistsWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("Launching"),
39 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
40 if (!outcome.IsSuccess()) return false;
41 const auto& result = outcome.GetResult();
42 return std::all_of(
43 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
44 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
45 });
46 }));
47
48 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeEnvironments(req); };
49 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(20, 6, std::move(acceptors), operation, "WaitUntilEnvironmentExists");
50 return waiter.Wait(request);
51 }
52
59 "EnvironmentTerminatedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("Terminated"),
60 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
61 if (!outcome.IsSuccess()) return false;
62 const auto& result = outcome.GetResult();
63 return std::all_of(
64 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
65 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
66 });
67 }));
69 "EnvironmentTerminatedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("Terminating"),
70 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
71 if (!outcome.IsSuccess()) return false;
72 const auto& result = outcome.GetResult();
73 return std::all_of(
74 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
75 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
76 });
77 }));
78
79 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeEnvironments(req); };
80 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(20, 6, std::move(acceptors), operation, "WaitUntilEnvironmentTerminated");
81 return waiter.Wait(request);
82 }
83
90 "EnvironmentUpdatedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("Ready"),
91 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
92 if (!outcome.IsSuccess()) return false;
93 const auto& result = outcome.GetResult();
94 return std::all_of(
95 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
96 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
97 });
98 }));
100 "EnvironmentUpdatedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("Updating"),
101 [](const Model::DescribeEnvironmentsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
102 if (!outcome.IsSuccess()) return false;
103 const auto& result = outcome.GetResult();
104 return std::all_of(
105 result.GetEnvironments().begin(), result.GetEnvironments().end(), [&](const Model::EnvironmentDescription& item) {
106 return Model::EnvironmentStatusMapper::GetNameForEnvironmentStatus(item.GetStatus()) == expected.get<Aws::String>();
107 });
108 }));
109
110 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeEnvironments(req); };
111 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(20, 6, std::move(acceptors), operation, "WaitUntilEnvironmentUpdated");
112 return waiter.Wait(request);
113 }
114};
115} // namespace ElasticBeanstalk
116} // namespace Aws
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)
bool IsSuccess() const
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