AWS SDK for C++

AWS SDK for C++ Version 1.11.778

Loading...
Searching...
No Matches
Mediapackagev2Waiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/mediapackagev2/Mediapackagev2Client.h>
10#include <aws/mediapackagev2/model/GetHarvestJobRequest.h>
11#include <aws/mediapackagev2/model/GetHarvestJobResult.h>
12#include <aws/mediapackagev2/model/HarvestJobStatus.h>
13
14#include <algorithm>
15
16namespace Aws {
17namespace mediapackagev2 {
18
19template <typename DerivedClient = Mediapackagev2Client>
21 public:
23 using OutcomeT = Model::GetHarvestJobOutcome;
24 using RequestT = Model::GetHarvestJobRequest;
27 "HarvestJobFinishedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("COMPLETED"),
28 [](const Model::GetHarvestJobOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
29 if (!outcome.IsSuccess()) return false;
30 const auto& result = outcome.GetResult();
31 return Model::HarvestJobStatusMapper::GetNameForHarvestJobStatus(result.GetStatus()) == expected.get<Aws::String>();
32 }));
34 "HarvestJobFinishedWaiter", Aws::Utils::WaiterState::SUCCESS, Aws::String("CANCELLED"),
35 [](const Model::GetHarvestJobOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
36 if (!outcome.IsSuccess()) return false;
37 const auto& result = outcome.GetResult();
38 return Model::HarvestJobStatusMapper::GetNameForHarvestJobStatus(result.GetStatus()) == expected.get<Aws::String>();
39 }));
41 "HarvestJobFinishedWaiter", Aws::Utils::WaiterState::FAILURE, Aws::String("FAILED"),
42 [](const Model::GetHarvestJobOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
43 if (!outcome.IsSuccess()) return false;
44 const auto& result = outcome.GetResult();
45 return Model::HarvestJobStatusMapper::GetNameForHarvestJobStatus(result.GetStatus()) == expected.get<Aws::String>();
46 }));
48 "HarvestJobFinishedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("QUEUED"),
49 [](const Model::GetHarvestJobOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
50 if (!outcome.IsSuccess()) return false;
51 const auto& result = outcome.GetResult();
52 return Model::HarvestJobStatusMapper::GetNameForHarvestJobStatus(result.GetStatus()) == expected.get<Aws::String>();
53 }));
55 "HarvestJobFinishedWaiter", Aws::Utils::WaiterState::RETRY, Aws::String("IN_PROGRESS"),
56 [](const Model::GetHarvestJobOutcome& outcome, const Aws::Utils::ExpectedValue& expected) -> bool {
57 if (!outcome.IsSuccess()) return false;
58 const auto& result = outcome.GetResult();
59 return Model::HarvestJobStatusMapper::GetNameForHarvestJobStatus(result.GetStatus()) == expected.get<Aws::String>();
60 }));
61
62 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->GetHarvestJob(req); };
63 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(2, 60, std::move(acceptors), operation, "WaitUntilHarvestJobFinished");
64 return waiter.Wait(request);
65 }
66};
67} // namespace mediapackagev2
68} // namespace Aws
bool IsSuccess() const
const R & GetResult() const
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::WaiterOutcome< Model::GetHarvestJobOutcome > WaitUntilHarvestJobFinished(const Model::GetHarvestJobRequest &request)
Crt::Variant< int, bool, Aws::String > ExpectedValue
AWS_MEDIAPACKAGEV2_API Aws::String GetNameForHarvestJobStatus(HarvestJobStatus value)
Aws::Utils::Outcome< GetHarvestJobResult, Mediapackagev2Error > GetHarvestJobOutcome
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