AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
DirectoryServiceWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/ds/DirectoryServiceClient.h>
10#include <aws/ds/model/DescribeHybridADUpdateRequest.h>
11#include <aws/ds/model/DescribeHybridADUpdateResult.h>
12#include <aws/ds/model/UpdateStatus.h>
13
14#include <algorithm>
15
16namespace Aws {
17namespace DirectoryService {
18
19template <typename DerivedClient = DirectoryServiceClient>
21 public:
28 "HybridADUpdatedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("Updated"),
29 [](const Model::DescribeHybridADUpdateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
30 if (!outcome.IsSuccess()) return false;
31 const auto& result = outcome.GetResult();
32 return std::all_of(result.GetUpdateActivities().GetSelfManagedInstances().begin(),
33 result.GetUpdateActivities().GetSelfManagedInstances().end(), [&](const Model::HybridUpdateInfoEntry& item) {
34 return Model::UpdateStatusMapper::GetNameForUpdateStatus(item.GetStatus()) == expected.get<Aws::String>();
35 });
36 }));
38 "HybridADUpdatedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("UpdateFailed"),
39 [](const Model::DescribeHybridADUpdateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
40 if (!outcome.IsSuccess()) return false;
41 const auto& result = outcome.GetResult();
42 return std::any_of(result.GetUpdateActivities().GetSelfManagedInstances().begin(),
43 result.GetUpdateActivities().GetSelfManagedInstances().end(), [&](const Model::HybridUpdateInfoEntry& item) {
44 return Model::UpdateStatusMapper::GetNameForUpdateStatus(item.GetStatus()) == expected.get<Aws::String>();
45 });
46 }));
47
48 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeHybridADUpdate(req); };
49 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(120, 1, std::move(acceptors), operation, "WaitUntilHybridADUpdated");
50 return waiter.Wait(request);
51 }
52};
53} // namespace DirectoryService
54} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeHybridADUpdateOutcome > WaitUntilHybridADUpdated(const Model::DescribeHybridADUpdateRequest &request)
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< DescribeHybridADUpdateResult, DirectoryServiceError > DescribeHybridADUpdateOutcome
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