AWS SDK for C++

AWS SDK for C++ Version 1.11.848

Loading...
Searching...
No Matches
ACMWaiter.h
1
6#pragma once
7#include <aws/acm/ACMClient.h>
8#include <aws/acm/model/AcmeDomainValidationStatus.h>
9#include <aws/acm/model/AcmeEndpointStatus.h>
10#include <aws/acm/model/CertificateStatus.h>
11#include <aws/acm/model/DescribeAcmeDomainValidationRequest.h>
12#include <aws/acm/model/DescribeAcmeDomainValidationResult.h>
13#include <aws/acm/model/DescribeAcmeEndpointRequest.h>
14#include <aws/acm/model/DescribeAcmeEndpointResult.h>
15#include <aws/acm/model/DescribeCertificateRequest.h>
16#include <aws/acm/model/DescribeCertificateResult.h>
17#include <aws/acm/model/DomainStatus.h>
18#include <aws/core/utils/Waiter.h>
19#include <aws/core/utils/memory/AWSMemory.h>
20
21#include <algorithm>
22
23namespace Aws {
24namespace ACM {
25
26template <typename DerivedClient = ACMClient>
27class ACMWaiter {
28 public:
35 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("VALID"),
36 [](const Model::DescribeAcmeDomainValidationOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
37 if (!outcome.IsSuccess()) return false;
38 const auto& result = outcome.GetResult();
40 result.GetAcmeDomainValidation().GetStatus()) == expected.get<Aws::String>();
41 }));
43 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("INVALID"),
44 [](const Model::DescribeAcmeDomainValidationOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
45 if (!outcome.IsSuccess()) return false;
46 const auto& result = outcome.GetResult();
48 result.GetAcmeDomainValidation().GetStatus()) == expected.get<Aws::String>();
49 }));
51 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("VALIDATING"),
52 [](const Model::DescribeAcmeDomainValidationOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
53 if (!outcome.IsSuccess()) return false;
54 const auto& result = outcome.GetResult();
56 result.GetAcmeDomainValidation().GetStatus()) == expected.get<Aws::String>();
57 }));
58
59 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAcmeDomainValidation(req); };
60 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 60, std::move(acceptors), operation, "WaitUntilAcmeDomainValidationValidated");
61 return waiter.Wait(request);
62 }
63
70 "AcmeDomainValidationDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ResourceNotFoundException")));
72 "AcmeDomainValidationDeletedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("DELETING"),
73 [](const Model::DescribeAcmeDomainValidationOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
74 if (!outcome.IsSuccess()) return false;
75 const auto& result = outcome.GetResult();
77 result.GetAcmeDomainValidation().GetStatus()) == expected.get<Aws::String>();
78 }));
79
80 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAcmeDomainValidation(req); };
81 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 60, std::move(acceptors), operation, "WaitUntilAcmeDomainValidationDeleted");
82 return waiter.Wait(request);
83 }
84
91 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ACTIVE"),
92 [](const Model::DescribeAcmeEndpointOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
93 if (!outcome.IsSuccess()) return false;
94 const auto& result = outcome.GetResult();
95 return Model::AcmeEndpointStatusMapper::GetNameForAcmeEndpointStatus(result.GetAcmeEndpoint().GetStatus()) ==
96 expected.get<Aws::String>();
97 }));
99 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
100 [](const Model::DescribeAcmeEndpointOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
101 if (!outcome.IsSuccess()) return false;
102 const auto& result = outcome.GetResult();
103 return Model::AcmeEndpointStatusMapper::GetNameForAcmeEndpointStatus(result.GetAcmeEndpoint().GetStatus()) ==
104 expected.get<Aws::String>();
105 }));
107 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("CREATING"),
108 [](const Model::DescribeAcmeEndpointOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
109 if (!outcome.IsSuccess()) return false;
110 const auto& result = outcome.GetResult();
111 return Model::AcmeEndpointStatusMapper::GetNameForAcmeEndpointStatus(result.GetAcmeEndpoint().GetStatus()) ==
112 expected.get<Aws::String>();
113 }));
114
115 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAcmeEndpoint(req); };
116 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 60, std::move(acceptors), operation, "WaitUntilAcmeEndpointActive");
117 return waiter.Wait(request);
118 }
119
121 const Model::DescribeAcmeEndpointRequest& request) {
122 using OutcomeT = Model::DescribeAcmeEndpointOutcome;
123 using RequestT = Model::DescribeAcmeEndpointRequest;
126 "AcmeEndpointDeletedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("ResourceNotFoundException")));
128 "AcmeEndpointDeletedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("DELETING"),
129 [](const Model::DescribeAcmeEndpointOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
130 if (!outcome.IsSuccess()) return false;
131 const auto& result = outcome.GetResult();
132 return Model::AcmeEndpointStatusMapper::GetNameForAcmeEndpointStatus(result.GetAcmeEndpoint().GetStatus()) ==
133 expected.get<Aws::String>();
134 }));
135
136 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeAcmeEndpoint(req); };
137 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 60, std::move(acceptors), operation, "WaitUntilAcmeEndpointDeleted");
138 return waiter.Wait(request);
139 }
140
142 const Model::DescribeCertificateRequest& request) {
143 using OutcomeT = Model::DescribeCertificateOutcome;
144 using RequestT = Model::DescribeCertificateRequest;
147 "CertificateValidatedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("SUCCESS"),
148 [](const Model::DescribeCertificateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
149 if (!outcome.IsSuccess()) return false;
150 const auto& result = outcome.GetResult();
151 return std::all_of(result.GetCertificate().GetDomainValidationOptions().begin(),
152 result.GetCertificate().GetDomainValidationOptions().end(), [&](const Model::DomainValidation& item) {
153 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
154 expected.get<Aws::String>();
155 });
156 }));
158 "CertificateValidatedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("PENDING_VALIDATION"),
159 [](const Model::DescribeCertificateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
160 if (!outcome.IsSuccess()) return false;
161 const auto& result = outcome.GetResult();
162 return std::any_of(result.GetCertificate().GetDomainValidationOptions().begin(),
163 result.GetCertificate().GetDomainValidationOptions().end(), [&](const Model::DomainValidation& item) {
164 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
165 expected.get<Aws::String>();
166 });
167 }));
169 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
170 [](const Model::DescribeCertificateOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
171 if (!outcome.IsSuccess()) return false;
172 const auto& result = outcome.GetResult();
173 return Model::CertificateStatusMapper::GetNameForCertificateStatus(result.GetCertificate().GetStatus()) ==
174 expected.get<Aws::String>();
175 }));
177 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("ResourceNotFoundException")));
178
179 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->DescribeCertificate(req); };
180 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(60, 2, std::move(acceptors), operation, "WaitUntilCertificateValidated");
181 return waiter.Wait(request);
182 }
183};
184} // namespace ACM
185} // namespace Aws
Aws::Utils::WaiterOutcome< Model::DescribeAcmeDomainValidationOutcome > WaitUntilAcmeDomainValidationDeleted(const Model::DescribeAcmeDomainValidationRequest &request)
Definition ACMWaiter.h:64
Aws::Utils::WaiterOutcome< Model::DescribeCertificateOutcome > WaitUntilCertificateValidated(const Model::DescribeCertificateRequest &request)
Definition ACMWaiter.h:141
Aws::Utils::WaiterOutcome< Model::DescribeAcmeDomainValidationOutcome > WaitUntilAcmeDomainValidationValidated(const Model::DescribeAcmeDomainValidationRequest &request)
Definition ACMWaiter.h:29
Aws::Utils::WaiterOutcome< Model::DescribeAcmeEndpointOutcome > WaitUntilAcmeEndpointDeleted(const Model::DescribeAcmeEndpointRequest &request)
Definition ACMWaiter.h:120
Aws::Utils::WaiterOutcome< Model::DescribeAcmeEndpointOutcome > WaitUntilAcmeEndpointActive(const Model::DescribeAcmeEndpointRequest &request)
Definition ACMWaiter.h:85
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_ACM_API Aws::String GetNameForAcmeDomainValidationStatus(AcmeDomainValidationStatus value)
AWS_ACM_API Aws::String GetNameForAcmeEndpointStatus(AcmeEndpointStatus value)
AWS_ACM_API Aws::String GetNameForCertificateStatus(CertificateStatus value)
Aws::Utils::Outcome< DescribeAcmeEndpointResult, ACMError > DescribeAcmeEndpointOutcome
Aws::Utils::Outcome< DescribeAcmeDomainValidationResult, ACMError > DescribeAcmeDomainValidationOutcome
Aws::Utils::Outcome< DescribeCertificateResult, ACMError > DescribeCertificateOutcome
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