7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/dynamodb/DynamoDBClient.h>
10#include <aws/dynamodb/model/ContributorInsightsStatus.h>
11#include <aws/dynamodb/model/DescribeContributorInsightsRequest.h>
12#include <aws/dynamodb/model/DescribeContributorInsightsResult.h>
13#include <aws/dynamodb/model/DescribeExportRequest.h>
14#include <aws/dynamodb/model/DescribeExportResult.h>
15#include <aws/dynamodb/model/DescribeImportRequest.h>
16#include <aws/dynamodb/model/DescribeImportResult.h>
17#include <aws/dynamodb/model/DescribeKinesisStreamingDestinationRequest.h>
18#include <aws/dynamodb/model/DescribeKinesisStreamingDestinationResult.h>
19#include <aws/dynamodb/model/DescribeTableRequest.h>
20#include <aws/dynamodb/model/DescribeTableResult.h>
21#include <aws/dynamodb/model/DestinationStatus.h>
22#include <aws/dynamodb/model/ExportStatus.h>
23#include <aws/dynamodb/model/ImportStatus.h>
24#include <aws/dynamodb/model/TableStatus.h>
31template <
typename DerivedClient = DynamoDBClient>
40 "ContributorInsightsEnabledWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ENABLED"),
48 "ContributorInsightsEnabledWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
56 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeContributorInsights(req); };
58 return waiter.
Wait(request);
66 "ExportCompletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"COMPLETED"),
74 "ExportCompletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
82 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeExport(req); };
84 return waiter.
Wait(request);
92 "ImportCompletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"COMPLETED"),
100 "ImportCompletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED"),
103 const auto& result = outcome.
GetResult();
108 "ImportCompletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"CANCELLED"),
111 const auto& result = outcome.
GetResult();
116 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeImport(req); };
118 return waiter.
Wait(request);
127 "KinesisStreamingDestinationActiveWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ACTIVE"),
130 const auto& result = outcome.
GetResult();
131 return std::any_of(result.GetKinesisDataStreamDestinations().begin(), result.GetKinesisDataStreamDestinations().end(),
133 return Model::DestinationStatusMapper::GetNameForDestinationStatus(item.GetDestinationStatus()) ==
134 expected.get<Aws::String>();
138 "KinesisStreamingDestinationActiveWaiter", Aws::Utils::WaiterState::FAILURE,
true,
141 const auto& result = outcome.
GetResult();
142 return ((result.GetKinesisDataStreamDestinations().size() > 0) &&
143 (
static_cast<std::size_t
>(std::count_if(
144 result.GetKinesisDataStreamDestinations().begin(), result.GetKinesisDataStreamDestinations().end(),
147 (Model::DestinationStatusMapper::GetNameForDestinationStatus(item.GetDestinationStatus()) ==
"DISABLED") ||
148 (Model::DestinationStatusMapper::GetNameForDestinationStatus(item.GetDestinationStatus()) ==
"ENABLE_FAILED"));
149 })) == result.GetKinesisDataStreamDestinations().size())) == expected.get<
bool>();
152 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeKinesisStreamingDestination(req); };
154 return waiter.
Wait(request);
162 "TableExistsWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ACTIVE"),
165 const auto& result = outcome.
GetResult();
171 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeTable(req); };
173 return waiter.
Wait(request);
183 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->DescribeTable(req); };
185 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::DescribeExportOutcome > WaitUntilExportCompleted(const Model::DescribeExportRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeTableOutcome > WaitUntilTableNotExists(const Model::DescribeTableRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeTableOutcome > WaitUntilTableExists(const Model::DescribeTableRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeImportOutcome > WaitUntilImportCompleted(const Model::DescribeImportRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeContributorInsightsOutcome > WaitUntilContributorInsightsEnabled(const Model::DescribeContributorInsightsRequest &request)
Aws::Utils::WaiterOutcome< Model::DescribeKinesisStreamingDestinationOutcome > WaitUntilKinesisStreamingDestinationActive(const Model::DescribeKinesisStreamingDestinationRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_DYNAMODB_API Aws::String GetNameForContributorInsightsStatus(ContributorInsightsStatus value)
AWS_DYNAMODB_API Aws::String GetNameForExportStatus(ExportStatus value)
AWS_DYNAMODB_API Aws::String GetNameForImportStatus(ImportStatus value)
AWS_DYNAMODB_API Aws::String GetNameForTableStatus(TableStatus value)
Aws::Utils::Outcome< DescribeExportResult, DynamoDBError > DescribeExportOutcome
Aws::Utils::Outcome< DescribeTableResult, DynamoDBError > DescribeTableOutcome
Aws::Utils::Outcome< DescribeContributorInsightsResult, DynamoDBError > DescribeContributorInsightsOutcome
Aws::Utils::Outcome< DescribeImportResult, DynamoDBError > DescribeImportOutcome
Aws::Utils::Outcome< DescribeKinesisStreamingDestinationResult, DynamoDBError > DescribeKinesisStreamingDestinationOutcome
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