AWS SDK for C++

AWS SDK for C++ Version 1.11.776

Loading...
Searching...
No Matches
S3CrtWaiter.h
1
6#pragma once
7#include <aws/core/utils/Waiter.h>
8#include <aws/core/utils/memory/AWSMemory.h>
9#include <aws/s3-crt/S3CrtClient.h>
10#include <aws/s3-crt/model/HeadBucketRequest.h>
11#include <aws/s3-crt/model/HeadBucketResult.h>
12#include <aws/s3-crt/model/HeadObjectRequest.h>
13#include <aws/s3-crt/model/HeadObjectResult.h>
14
15#include <algorithm>
16
17namespace Aws {
18namespace S3Crt {
19
20template <typename DerivedClient = S3CrtClient>
22 public:
24 using OutcomeT = Model::HeadBucketOutcome;
25 using RequestT = Model::HeadBucketRequest;
27 acceptors.emplace_back(
28 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("BucketExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
29 acceptors.emplace_back(
30 Aws::MakeUnique<Aws::Utils::StatusAcceptor<OutcomeT>>("BucketExistsWaiter", Aws::Utils::WaiterState::RETRY, 404));
31
32 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->HeadBucket(req); };
33 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilBucketExists");
34 return waiter.Wait(request);
35 }
36
38 using OutcomeT = Model::HeadBucketOutcome;
39 using RequestT = Model::HeadBucketRequest;
41 acceptors.emplace_back(
42 Aws::MakeUnique<Aws::Utils::StatusAcceptor<OutcomeT>>("BucketNotExistsWaiter", Aws::Utils::WaiterState::SUCCESS, 404));
43
44 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->HeadBucket(req); };
45 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilBucketNotExists");
46 return waiter.Wait(request);
47 }
48
50 using OutcomeT = Model::HeadObjectOutcome;
51 using RequestT = Model::HeadObjectRequest;
53 acceptors.emplace_back(
54 Aws::MakeUnique<Aws::Utils::ErrorAcceptor<OutcomeT>>("ObjectExistsWaiter", Aws::Utils::WaiterState::SUCCESS, false));
55 acceptors.emplace_back(
56 Aws::MakeUnique<Aws::Utils::StatusAcceptor<OutcomeT>>("ObjectExistsWaiter", Aws::Utils::WaiterState::RETRY, 404));
57
58 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->HeadObject(req); };
59 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilObjectExists");
60 return waiter.Wait(request);
61 }
62
64 using OutcomeT = Model::HeadObjectOutcome;
65 using RequestT = Model::HeadObjectRequest;
67 acceptors.emplace_back(
68 Aws::MakeUnique<Aws::Utils::StatusAcceptor<OutcomeT>>("ObjectNotExistsWaiter", Aws::Utils::WaiterState::SUCCESS, 404));
69
70 auto operation = [this](const RequestT& req) { return static_cast<DerivedClient*>(this)->HeadObject(req); };
71 Aws::Utils::Waiter<RequestT, OutcomeT> waiter(5, 24, std::move(acceptors), operation, "WaitUntilObjectNotExists");
72 return waiter.Wait(request);
73 }
74};
75} // namespace S3Crt
76} // namespace Aws
Aws::Utils::WaiterOutcome< Model::HeadObjectOutcome > WaitUntilObjectNotExists(const Model::HeadObjectRequest &request)
Definition S3CrtWaiter.h:63
Aws::Utils::WaiterOutcome< Model::HeadBucketOutcome > WaitUntilBucketExists(const Model::HeadBucketRequest &request)
Definition S3CrtWaiter.h:23
Aws::Utils::WaiterOutcome< Model::HeadBucketOutcome > WaitUntilBucketNotExists(const Model::HeadBucketRequest &request)
Definition S3CrtWaiter.h:37
Aws::Utils::WaiterOutcome< Model::HeadObjectOutcome > WaitUntilObjectExists(const Model::HeadObjectRequest &request)
Definition S3CrtWaiter.h:49
WaiterOutcome< OutcomeT > Wait(const RequestT &request)
Aws::Utils::Outcome< HeadBucketResult, S3CrtError > HeadBucketOutcome
Aws::Utils::Outcome< HeadObjectResult, S3CrtError > HeadObjectOutcome
UniquePtr< T > MakeUnique(const char *allocationTag, ArgTypes &&... args)
std::vector< T, Aws::Allocator< T > > Vector