AWS SDK for C++

AWS SDK for C++ Version 1.11.901

Loading...
Searching...
No Matches
EventBridgeV2Waiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/eventbridgev2/EventBridgeV2Client.h>
10#include <aws/eventbridgev2/model/BusState.h>
11#include <aws/eventbridgev2/model/DescribeEventBusRequest.h>
12#include <aws/eventbridgev2/model/DescribeEventBusResult.h>
13
14#include <algorithm>
15
16namespace Aws {
17namespace EventBridgeV2 {
18
19template <typename DerivedClient = EventBridgeV2Client>
21 public:
23 using OutcomeT = Model::DescribeEventBusOutcome;
24 using RequestT = Model::DescribeEventBusRequest;
27 "EventBusActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CREATE_FAILED"),
28 [](const Model::DescribeEventBusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
29 if (!outcome.IsSuccess()) return false;
30 const auto& result = outcome.GetResult();
31 return Model::BusStateMapper::GetNameForBusState(result.GetState()) == expected.get<Aws::String>();
32 }));
34 "EventBusActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("UPDATE_FAILED"),
35 [](const Model::DescribeEventBusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
36 if (!outcome.IsSuccess()) return false;
37 const auto& result = outcome.GetResult();
38 return Model::BusStateMapper::GetNameForBusState(result.GetState()) == expected.get<Aws::String>();
39 }));
41 "EventBusActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
42 [](const Model::DescribeEventBusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
43 if (!outcome.IsSuccess()) return false;
44 const auto& result = outcome.GetResult();
45 return Model::BusStateMapper::GetNameForBusState(result.GetState()) == expected.get<Aws::String>();
46 }));
48 "EventBusActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
49 [](const Model::DescribeEventBusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
50 if (!outcome.IsSuccess()) return false;
51 const auto& result = outcome.GetResult();
52 return Model::BusStateMapper::GetNameForBusState(result.GetState()) == expected.get<Aws::String>();
53 }));
54
55 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeEventBus(req); };
56 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(2, 60, std::move(acceptors), operation, "WaitUntilEventBusActive");
57 return waiter.Wait(request);
58 }
59
61 using OutcomeT = Model::DescribeEventBusOutcome;
62 using RequestT = Model::DescribeEventBusRequest;
65 "EventBusDeletedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("DELETE_FAILED"),
66 [](const Model::DescribeEventBusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
67 if (!outcome.IsSuccess()) return false;
68 const auto& result = outcome.GetResult();
69 return Model::BusStateMapper::GetNameForBusState(result.GetState()) == expected.get<Aws::String>();
70 }));
71 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("EventBusDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
72 Aws::String("ResourceNotFoundException")));
73
74 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeEventBus(req); };
75 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(2, 60, std::move(acceptors), operation, "WaitUntilEventBusDeleted");
76 return waiter.Wait(request);
77 }
78};
79} // namespace EventBridgeV2
80} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeEventBusOutcome > WaitUntilEventBusDeleted(const Model::DescribeEventBusRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeEventBusOutcome > WaitUntilEventBusActive(const Model::DescribeEventBusRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_EVENTBRIDGEV2_API Aws::String GetNameForBusState(BusState value)
Aws::Utils::Outcome< DescribeEventBusResult, EventBridgeV2Error > DescribeEventBusOutcome
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