7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/gameliftstreams/GameLiftStreamsClient.h>
10#include <aws/gameliftstreams/model/ApplicationStatus.h>
11#include <aws/gameliftstreams/model/GetApplicationRequest.h>
12#include <aws/gameliftstreams/model/GetApplicationResult.h>
13#include <aws/gameliftstreams/model/GetStreamGroupRequest.h>
14#include <aws/gameliftstreams/model/GetStreamGroupResult.h>
15#include <aws/gameliftstreams/model/GetStreamSessionRequest.h>
16#include <aws/gameliftstreams/model/GetStreamSessionResult.h>
17#include <aws/gameliftstreams/model/StreamGroupStatus.h>
18#include <aws/gameliftstreams/model/StreamSessionStatus.h>
23namespace GameLiftStreams {
25template <
typename DerivedClient = GameLiftStreamsClient>
33 "ApplicationReadyWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"READY"),
40 "ApplicationReadyWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ERROR"),
47 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->GetApplication(req); };
49 return waiter.
Wait(request);
57 "ApplicationDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundException")));
59 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->GetApplication(req); };
61 return waiter.
Wait(request);
69 "StreamGroupActiveWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ACTIVE"),
76 "StreamGroupActiveWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ERROR"),
83 "StreamGroupActiveWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ACTIVE_WITH_ERRORS"),
90 "StreamGroupActiveWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"DELETING"),
97 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->GetStreamGroup(req); };
99 return waiter.
Wait(request);
107 "StreamGroupDeletedWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ResourceNotFoundException")));
109 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->GetStreamGroup(req); };
111 return waiter.
Wait(request);
119 "StreamSessionActiveWaiter", Aws::Utils::WaiterState::SUCCESS,
Aws::String(
"ACTIVE"),
122 const auto& result = outcome.
GetResult();
126 "StreamSessionActiveWaiter", Aws::Utils::WaiterState::FAILURE,
Aws::String(
"ERROR"),
129 const auto& result = outcome.
GetResult();
133 auto operation = [
this](
const RequestT& req) {
return static_cast<DerivedClient*
>(
this)->GetStreamSession(req); };
135 return waiter.
Wait(request);
Aws::Utils::WaiterOutcome< Model::GetStreamGroupOutcome > WaitUntilStreamGroupActive(const Model::GetStreamGroupRequest &request)
Aws::Utils::WaiterOutcome< Model::GetApplicationOutcome > WaitUntilApplicationDeleted(const Model::GetApplicationRequest &request)
Aws::Utils::WaiterOutcome< Model::GetStreamSessionOutcome > WaitUntilStreamSessionActive(const Model::GetStreamSessionRequest &request)
Aws::Utils::WaiterOutcome< Model::GetApplicationOutcome > WaitUntilApplicationReady(const Model::GetApplicationRequest &request)
Aws::Utils::WaiterOutcome< Model::GetStreamGroupOutcome > WaitUntilStreamGroupDeleted(const Model::GetStreamGroupRequest &request)
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
AWS_GAMELIFTSTREAMS_API Aws::String GetNameForApplicationStatus(ApplicationStatus value)
AWS_GAMELIFTSTREAMS_API Aws::String GetNameForStreamGroupStatus(StreamGroupStatus value)
AWS_GAMELIFTSTREAMS_API Aws::String GetNameForStreamSessionStatus(StreamSessionStatus value)
Aws::Utils::Outcome< GetApplicationResult, GameLiftStreamsError > GetApplicationOutcome
Aws::Utils::Outcome< GetStreamGroupResult, GameLiftStreamsError > GetStreamGroupOutcome
Aws::Utils::Outcome< GetStreamSessionResult, GameLiftStreamsError > GetStreamSessionOutcome
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