AWS SDK for C++

AWS SDK for C++ Version 1.11.787

Loading...
Searching...
No Matches
CloudControlApiWaiter.h
1
6#pragma once
7#include <aws/cloudcontrol/CloudControlApiClient.h>
8#include <aws/cloudcontrol/model/GetResourceRequestStatusRequest.h>
9#include <aws/cloudcontrol/model/GetResourceRequestStatusResult.h>
10#include <aws/cloudcontrol/model/OperationStatus.h>
11#include <aws/core/utils/Waiter.h>
12#include <aws/core/utils/memory/AWSMemory.h>
13
14#include <algorithm>
15
16namespace Aws {
17namespace CloudControlApi {
18
19template <typename DerivedClient = CloudControlApiClient>
21 public:
28 "ResourceRequestSuccessWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCESS"),
29 [](const Model::GetResourceRequestStatusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
30 if (!outcome.IsSuccess()) return false;
31 const auto& result = outcome.GetResult();
32 return Model::OperationStatusMapper::GetNameForOperationStatus(result.GetProgressEvent().GetOperationStatus()) ==
33 expected.get<Aws::String>();
34 }));
36 "ResourceRequestSuccessWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
37 [](const Model::GetResourceRequestStatusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
38 if (!outcome.IsSuccess()) return false;
39 const auto& result = outcome.GetResult();
40 return Model::OperationStatusMapper::GetNameForOperationStatus(result.GetProgressEvent().GetOperationStatus()) ==
41 expected.get<Aws::String>();
42 }));
44 "ResourceRequestSuccessWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("CANCEL_COMPLETE"),
45 [](const Model::GetResourceRequestStatusOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
46 if (!outcome.IsSuccess()) return false;
47 const auto& result = outcome.GetResult();
48 return Model::OperationStatusMapper::GetNameForOperationStatus(result.GetProgressEvent().GetOperationStatus()) ==
49 expected.get<Aws::String>();
50 }));
51
52 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetResourceRequestStatus(req); };
53 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilResourceRequestSuccess");
54 return waiter.Wait(request);
55 }
56};
57} // namespace CloudControlApi
58} // namespace Aws
Aws::Utils::WaiterOutcome< Model::GetResourceRequestStatusOutcome > WaitUntilResourceRequestSuccess(const Model::GetResourceRequestStatusRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_CLOUDCONTROLAPI_API Aws::String GetNameForOperationStatus(OperationStatus value)
Aws::Utils::Outcome< GetResourceRequestStatusResult, CloudControlApiError > GetResourceRequestStatusOutcome
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