7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/inspector2/Inspector2Client.h>
10#include <aws/inspector2/model/ConnectorHealthStatus.h>
11#include <aws/inspector2/model/EnablementStatus.h>
12#include <aws/inspector2/model/ListConnectorsRequest.h>
13#include <aws/inspector2/model/ListConnectorsResult.h>
20template <
typename DerivedClient = Inspector2Client>
28 "ConnectorEnabledWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ENABLED"),
32 return std::all_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
33 return Model::EnablementStatusMapper::GetNameForEnablementStatus(item.GetEnablementStatus()) == expected.get<Aws::String>();
37 "ConnectorEnabledWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED_TO_ENABLE"),
41 return std::any_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
42 return Model::EnablementStatusMapper::GetNameForEnablementStatus(item.GetEnablementStatus()) == expected.get<Aws::String>();
46 "ConnectorEnabledWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED_TO_UPDATE"),
50 return std::any_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
51 return Model::EnablementStatusMapper::GetNameForEnablementStatus(item.GetEnablementStatus()) == expected.get<Aws::String>();
55 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->ListConnectors(req); };
57 return waiter.
Wait(request);
65 "ConnectorDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
true,
69 return (result.GetItems().size() == 0) == expected.get<
bool>();
72 "ConnectorDeletedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED_TO_DELETE"),
76 return std::any_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
77 return Model::EnablementStatusMapper::GetNameForEnablementStatus(item.GetEnablementStatus()) == expected.get<Aws::String>();
81 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->ListConnectors(req); };
83 return waiter.
Wait(request);
91 "ConnectorConnectedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"CONNECTED"),
95 return std::all_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
96 return Model::ConnectorHealthStatusMapper::GetNameForConnectorHealthStatus(item.GetHealth().GetConnectorStatus()) ==
97 expected.get<Aws::String>();
101 "ConnectorConnectedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED_TO_CONNECT"),
104 const auto& result = outcome.
GetResult();
105 return std::any_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
106 return Model::ConnectorHealthStatusMapper::GetNameForConnectorHealthStatus(item.GetHealth().GetConnectorStatus()) ==
107 expected.get<Aws::String>();
111 "ConnectorConnectedWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"FAILED_TO_ENABLE"),
114 const auto& result = outcome.
GetResult();
115 return std::any_of(result.GetItems().begin(), result.GetItems().end(), [&](
const Model::Connector& item) {
116 return Model::EnablementStatusMapper::GetNameForEnablementStatus(item.GetEnablementStatus()) == expected.get<Aws::String>();
120 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->ListConnectors(req); };
122 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::ListConnectorsOutcome > WaitUntilConnectorDeleted(const Model::ListConnectorsRequest &request)
Aws::Utils::WaiterOutcome< Model::ListConnectorsOutcome > WaitUntilConnectorEnabled(const Model::ListConnectorsRequest &request)
Aws::Utils::WaiterOutcome< Model::ListConnectorsOutcome > WaitUntilConnectorConnected(const Model::ListConnectorsRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< ListConnectorsResult, Inspector2Error > ListConnectorsOutcome
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