7#include <aws/acm/ACMClient.h>
8#include <aws/acm/model/CertificateStatus.h>
9#include <aws/acm/model/DescribeCertificateRequest.h>
10#include <aws/acm/model/DescribeCertificateResult.h>
11#include <aws/acm/model/DomainStatus.h>
12#include <aws/core/utils/Waiter.h>
13#include <aws/core/utils/memory/AWSMemory.h>
20template <
typename DerivedClient = ACMClient>
29 "CertificateValidatedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"SUCCESS"),
33 return std::all_of(result.GetCertificate().GetDomainValidationOptions().begin(),
35 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
36 expected.get<Aws::String>();
40 "CertificateValidatedWaiter", Aws::Utils::WaiterState::RETRY,
Aws::String(
"PENDING_VALIDATION"),
44 return std::any_of(result.GetCertificate().GetDomainValidationOptions().begin(),
46 return Model::DomainStatusMapper::GetNameForDomainStatus(item.GetValidationStatus()) ==
47 expected.get<Aws::String>();
51 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
59 "CertificateValidatedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ResourceNotFoundException")));
61 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeCertificate(req); };
63 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeCertificateOutcome > WaitUntilCertificateValidated(const Model::DescribeCertificateRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_ACM_API Aws::String GetNameForCertificateStatus(CertificateStatus value)
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