AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
AppStreamWaiter.h
1
6#pragma once
7#include <aws/appstream/AppStreamClient.h>
8#include <aws/appstream/model/DescribeFleetsRequest.h>
9#include <aws/appstream/model/DescribeFleetsResult.h>
10#include <aws/appstream/model/FleetState.h>
11#include <aws/core/utils/Waiter.h>
12#include <aws/core/utils/memory/AWSMemory.h>
13
14#include <algorithm>
15
16namespace Aws {
17namespace AppStream {
18
19template <typename DerivedClient = AppStreamClient>
21 public:
23 using OutcomeT = Model::DescribeFleetsOutcome;
24 using RequestT = Model::DescribeFleetsRequest;
27 "FleetStartedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("RUNNING"),
28 [](const Model::DescribeFleetsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
29 if (!outcome.IsSuccess()) return false;
30 const auto& result = outcome.GetResult();
31 return std::all_of(result.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
32 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
33 });
34 }));
36 "FleetStartedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("STOPPING"),
37 [](const Model::DescribeFleetsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
38 if (!outcome.IsSuccess()) return false;
39 const auto& result = outcome.GetResult();
40 return std::any_of(result.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
41 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
42 });
43 }));
45 "FleetStartedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("STOPPED"),
46 [](const Model::DescribeFleetsOutcome& 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.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
50 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
51 });
52 }));
53
54 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFleets(req); };
55 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilFleetStarted");
56 return waiter.Wait(request);
57 }
58
60 using OutcomeT = Model::DescribeFleetsOutcome;
61 using RequestT = Model::DescribeFleetsRequest;
64 "FleetStoppedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("STOPPED"),
65 [](const Model::DescribeFleetsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
66 if (!outcome.IsSuccess()) return false;
67 const auto& result = outcome.GetResult();
68 return std::all_of(result.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
69 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
70 });
71 }));
73 "FleetStoppedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("STARTING"),
74 [](const Model::DescribeFleetsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
75 if (!outcome.IsSuccess()) return false;
76 const auto& result = outcome.GetResult();
77 return std::any_of(result.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
78 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
79 });
80 }));
82 "FleetStoppedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("RUNNING"),
83 [](const Model::DescribeFleetsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
84 if (!outcome.IsSuccess()) return false;
85 const auto& result = outcome.GetResult();
86 return std::any_of(result.GetFleets().begin(), result.GetFleets().end(), [&](const Model::Fleet& item) {
87 return Model::FleetStateMapper::GetNameForFleetState(item.GetState()) == expected.get<Aws::String>();
88 });
89 }));
90
91 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeFleets(req); };
92 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(30, 4, std::move(acceptors), operation, "WaitUntilFleetStopped");
93 return waiter.Wait(request);
94 }
95};
96} // namespace AppStream
97} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeFleetsOutcome > WaitUntilFleetStopped(const Model::DescribeFleetsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeFleetsOutcome > WaitUntilFleetStarted(const Model::DescribeFleetsRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeFleetsResult, AppStreamError > DescribeFleetsOutcome
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