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>
26template <
typename DerivedClient = ACMClient>
35 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"VALID"),
40 result.GetAcmeDomainValidation().GetStatus()) == expected.get<
Aws::String>();
43 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"INVALID"),
48 result.GetAcmeDomainValidation().GetStatus()) == expected.get<
Aws::String>();
51 "AcmeDomainValidationValidatedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"VALIDATING"),
56 result.GetAcmeDomainValidation().GetStatus()) == expected.get<
Aws::String>();
59 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeAcmeDomainValidation(req); };
61 return waiter.
Wait(request);
70 "AcmeDomainValidationDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundException")));
72 "AcmeDomainValidationDeletedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"DELETING"),
77 result.GetAcmeDomainValidation().GetStatus()) == expected.get<
Aws::String>();
80 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeAcmeDomainValidation(req); };
82 return waiter.
Wait(request);
91 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ACTIVE"),
99 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
102 const auto& result = outcome.
GetResult();
107 "AcmeEndpointActiveWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"CREATING"),
110 const auto& result = outcome.
GetResult();
115 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeAcmeEndpoint(req); };
117 return waiter.
Wait(request);
126 "AcmeEndpointDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundException")));
128 "AcmeEndpointDeletedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"DELETING"),
131 const auto& result = outcome.
GetResult();
136 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeAcmeEndpoint(req); };
138 return waiter.
Wait(request);
147 "CertificateValidatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"SUCCESS"),
150 const auto& result = outcome.
GetResult();
151 return std::all_of(result.GetCertificate().GetDomainValidationOptions().begin(),
153 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
154 expected.get<Aws::String>();
158 "CertificateValidatedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"PENDING_VALIDATION"),
161 const auto& result = outcome.
GetResult();
162 return std::any_of(result.GetCertificate().GetDomainValidationOptions().begin(),
164 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
165 expected.get<Aws::String>();
169 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
172 const auto& result = outcome.
GetResult();
177 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ResourceNotFoundException")));
179 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeCertificate(req); };
181 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeAcmeDomainValidationOutcome > WaitUntilAcmeDomainValidationDeleted(const Model::DescribeAcmeDomainValidationRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeCertificateOutcome > WaitUntilCertificateValidated(const Model::DescribeCertificateRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeAcmeDomainValidationOutcome > WaitUntilAcmeDomainValidationValidated(const Model::DescribeAcmeDomainValidationRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeAcmeEndpointOutcome > WaitUntilAcmeEndpointDeleted(const Model::DescribeAcmeEndpointRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeAcmeEndpointOutcome > WaitUntilAcmeEndpointActive(const Model::DescribeAcmeEndpointRequest &request)
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