AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
IAMWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/iam/IAMClient.h>
10#include <aws/iam/model/GetInstanceProfileRequest.h>
11#include <aws/iam/model/GetInstanceProfileResult.h>
12#include <aws/iam/model/GetPolicyRequest.h>
13#include <aws/iam/model/GetPolicyResult.h>
14#include <aws/iam/model/GetRoleRequest.h>
15#include <aws/iam/model/GetRoleResult.h>
16#include <aws/iam/model/GetUserRequest.h>
17#include <aws/iam/model/GetUserResult.h>
18
19#include <algorithm>
20
21namespace Aws {
22namespace IAM {
23
24template <typename DerivedClient = IAMClient>
25class IAMWaiter {
26 public:
28 const Model::GetInstanceProfileRequest& request) {
29 using OutcomeT = Model::GetInstanceProfileOutcome;
30 using RequestT = Model::GetInstanceProfileRequest;
32 acceptors.emplace_back(
33 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("InstanceProfileExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
35 "InstanceProfileExistsWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("NoSuchEntityException")));
36
37 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetInstanceProfile(req); };
38 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(1, 120, std::move(acceptors), operation, "WaitUntilInstanceProfileExists");
39 return waiter.Wait(request);
40 }
41
43 using OutcomeT = Model::GetPolicyOutcome;
44 using RequestT = Model::GetPolicyRequest;
46 acceptors.emplace_back(
47 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("PolicyExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
48 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("PolicyExistsWaiter", Aws::Utils::WaiterState::RETRY,
49 Aws::String("NoSuchEntity")));
50
51 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetPolicy(req); };
52 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(1, 120, std::move(acceptors), operation, "WaitUntilPolicyExists");
53 return waiter.Wait(request);
54 }
55
57 using OutcomeT = Model::GetRoleOutcome;
58 using RequestT = Model::GetRoleRequest;
60 acceptors.emplace_back(
61 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("RoleExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
62 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("RoleExistsWaiter", Aws::Utils::WaiterState::RETRY,
63 Aws::String("NoSuchEntity")));
64
65 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetRole(req); };
66 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(1, 120, std::move(acceptors), operation, "WaitUntilRoleExists");
67 return waiter.Wait(request);
68 }
69
71 using OutcomeT = Model::GetUserOutcome;
72 using RequestT = Model::GetUserRequest;
74 acceptors.emplace_back(
75 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("UserExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
76 acceptors.emplace_back(Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("UserExistsWaiter", Aws::Utils::WaiterState::RETRY,
77 Aws::String("NoSuchEntity")));
78
79 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetUser(req); };
80 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(1, 120, std::move(acceptors), operation, "WaitUntilUserExists");
81 return waiter.Wait(request);
82 }
83};
84} // namespace IAM
85} // namespace Aws
Aws::Utils::WaiterOutcome< Model::GetRoleOutcome > WaitUntilRoleExists(const Model::GetRoleRequest &request)
Definition IAMWaiter.h:56
Aws::Utils::WaiterOutcome< Model::GetPolicyOutcome > WaitUntilPolicyExists(const Model::GetPolicyRequest &request)
Definition IAMWaiter.h:42
Aws::Utils::WaiterOutcome< Model::GetUserOutcome > WaitUntilUserExists(const Model::GetUserRequest &request)
Definition IAMWaiter.h:70
Aws::Utils::WaiterOutcome< Model::GetInstanceProfileOutcome > WaitUntilInstanceProfileExists(const Model::GetInstanceProfileRequest &request)
Definition IAMWaiter.h:27
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< GetUserResult, IAMError > GetUserOutcome
Aws::Utils::Outcome< GetRoleResult, IAMError > GetRoleOutcome
Aws::Utils::Outcome< GetPolicyResult, IAMError > GetPolicyOutcome
Aws::Utils::Outcome< GetInstanceProfileResult, IAMError > GetInstanceProfileOutcome
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