AWS SDK for C++

AWS SDK for C++ Version 1.11.776

Loading...
Searching...
No Matches
CloudWatchWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/monitoring/CloudWatchClient.h>
10#include <aws/monitoring/model/DescribeAlarmsRequest.h>
11#include <aws/monitoring/model/DescribeAlarmsResult.h>
12#include <aws/monitoring/model/GetAlarmMuteRuleRequest.h>
13#include <aws/monitoring/model/GetAlarmMuteRuleResult.h>
14
15#include <algorithm>
16
17namespace Aws {
18namespace CloudWatch {
19
20template <typename DerivedClient = CloudWatchClient>
22 public:
24 using OutcomeT = Model::DescribeAlarmsOutcome;
25 using RequestT = Model::DescribeAlarmsRequest;
28 "AlarmExistsWaiter", Aws::Utils::WaiterState::SUCCESS, true,
29 [](const Model::DescribeAlarmsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
30 if (!outcome.IsSuccess()) return false;
31 const auto& result = outcome.GetResult();
32 return (result.GetMetricAlarms().size() > 0) == expected.get<bool>();
33 }));
34
35 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAlarms(req); };
36 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilAlarmExists");
37 return waiter.Wait(request);
38 }
39
41 using OutcomeT = Model::DescribeAlarmsOutcome;
42 using RequestT = Model::DescribeAlarmsRequest;
45 "CompositeAlarmExistsWaiter", Aws::Utils::WaiterState::SUCCESS, true,
46 [](const Model::DescribeAlarmsOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
47 if (!outcome.IsSuccess()) return false;
48 const auto& result = outcome.GetResult();
49 return (result.GetCompositeAlarms().size() > 0) == expected.get<bool>();
50 }));
51
52 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAlarms(req); };
53 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilCompositeAlarmExists");
54 return waiter.Wait(request);
55 }
56
58 using OutcomeT = Model::GetAlarmMuteRuleOutcome;
59 using RequestT = Model::GetAlarmMuteRuleRequest;
61 acceptors.emplace_back(
62 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("AlarmMuteRuleExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
63 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("AlarmMuteRuleExistsWaiter", Aws::Utils::WaiterState::RETRY,
64 Aws::String("ResourceNotFoundException")));
65
66 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetAlarmMuteRule(req); };
67 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilAlarmMuteRuleExists");
68 return waiter.Wait(request);
69 }
70};
71} // namespace CloudWatch
72} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeAlarmsOutcome > WaitUntilAlarmExists(const Model::DescribeAlarmsRequest &request)
Aws::Utils::WaiterOutcome< Model::GetAlarmMuteRuleOutcome > WaitUntilAlarmMuteRuleExists(const Model::GetAlarmMuteRuleRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeAlarmsOutcome > WaitUntilCompositeAlarmExists(const Model::DescribeAlarmsRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< GetAlarmMuteRuleResult, CloudWatchError > GetAlarmMuteRuleOutcome
Aws::Utils::Outcome< DescribeAlarmsResult, CloudWatchError > DescribeAlarmsOutcome
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