AWS SDK for C++  1.8.95
AWS SDK for C++
FirehoseClient.h
Go to the documentation of this file.
1 
6 #pragma once
28 #include <future>
29 #include <functional>
30 
31 namespace Aws
32 {
33 
34 namespace Http
35 {
36  class HttpClient;
37  class HttpClientFactory;
38 } // namespace Http
39 
40 namespace Utils
41 {
42  template< typename R, typename E> class Outcome;
43 namespace Threading
44 {
45  class Executor;
46 } // namespace Threading
47 } // namespace Utils
48 
49 namespace Auth
50 {
51  class AWSCredentials;
52  class AWSCredentialsProvider;
53 } // namespace Auth
54 
55 namespace Client
56 {
57  class RetryStrategy;
58 } // namespace Client
59 
60 namespace Firehose
61 {
62 
63 namespace Model
64 {
70  class PutRecordRequest;
77 
90 
91  typedef std::future<CreateDeliveryStreamOutcome> CreateDeliveryStreamOutcomeCallable;
92  typedef std::future<DeleteDeliveryStreamOutcome> DeleteDeliveryStreamOutcomeCallable;
93  typedef std::future<DescribeDeliveryStreamOutcome> DescribeDeliveryStreamOutcomeCallable;
94  typedef std::future<ListDeliveryStreamsOutcome> ListDeliveryStreamsOutcomeCallable;
95  typedef std::future<ListTagsForDeliveryStreamOutcome> ListTagsForDeliveryStreamOutcomeCallable;
96  typedef std::future<PutRecordOutcome> PutRecordOutcomeCallable;
97  typedef std::future<PutRecordBatchOutcome> PutRecordBatchOutcomeCallable;
98  typedef std::future<StartDeliveryStreamEncryptionOutcome> StartDeliveryStreamEncryptionOutcomeCallable;
99  typedef std::future<StopDeliveryStreamEncryptionOutcome> StopDeliveryStreamEncryptionOutcomeCallable;
100  typedef std::future<TagDeliveryStreamOutcome> TagDeliveryStreamOutcomeCallable;
101  typedef std::future<UntagDeliveryStreamOutcome> UntagDeliveryStreamOutcomeCallable;
102  typedef std::future<UpdateDestinationOutcome> UpdateDestinationOutcomeCallable;
103 } // namespace Model
104 
106 
107  typedef std::function<void(const FirehoseClient*, const Model::CreateDeliveryStreamRequest&, const Model::CreateDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateDeliveryStreamResponseReceivedHandler;
108  typedef std::function<void(const FirehoseClient*, const Model::DeleteDeliveryStreamRequest&, const Model::DeleteDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteDeliveryStreamResponseReceivedHandler;
109  typedef std::function<void(const FirehoseClient*, const Model::DescribeDeliveryStreamRequest&, const Model::DescribeDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeDeliveryStreamResponseReceivedHandler;
110  typedef std::function<void(const FirehoseClient*, const Model::ListDeliveryStreamsRequest&, const Model::ListDeliveryStreamsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListDeliveryStreamsResponseReceivedHandler;
111  typedef std::function<void(const FirehoseClient*, const Model::ListTagsForDeliveryStreamRequest&, const Model::ListTagsForDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForDeliveryStreamResponseReceivedHandler;
112  typedef std::function<void(const FirehoseClient*, const Model::PutRecordRequest&, const Model::PutRecordOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutRecordResponseReceivedHandler;
113  typedef std::function<void(const FirehoseClient*, const Model::PutRecordBatchRequest&, const Model::PutRecordBatchOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutRecordBatchResponseReceivedHandler;
114  typedef std::function<void(const FirehoseClient*, const Model::StartDeliveryStreamEncryptionRequest&, const Model::StartDeliveryStreamEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StartDeliveryStreamEncryptionResponseReceivedHandler;
115  typedef std::function<void(const FirehoseClient*, const Model::StopDeliveryStreamEncryptionRequest&, const Model::StopDeliveryStreamEncryptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > StopDeliveryStreamEncryptionResponseReceivedHandler;
116  typedef std::function<void(const FirehoseClient*, const Model::TagDeliveryStreamRequest&, const Model::TagDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagDeliveryStreamResponseReceivedHandler;
117  typedef std::function<void(const FirehoseClient*, const Model::UntagDeliveryStreamRequest&, const Model::UntagDeliveryStreamOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagDeliveryStreamResponseReceivedHandler;
118  typedef std::function<void(const FirehoseClient*, const Model::UpdateDestinationRequest&, const Model::UpdateDestinationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateDestinationResponseReceivedHandler;
119 
127  {
128  public:
130 
136 
142 
147  FirehoseClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
149 
150  virtual ~FirehoseClient();
151 
152 
218  virtual Model::CreateDeliveryStreamOutcome CreateDeliveryStream(const Model::CreateDeliveryStreamRequest& request) const;
219 
287  virtual Model::CreateDeliveryStreamOutcomeCallable CreateDeliveryStreamCallable(const Model::CreateDeliveryStreamRequest& request) const;
288 
356  virtual void CreateDeliveryStreamAsync(const Model::CreateDeliveryStreamRequest& request, const CreateDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
357 
374  virtual Model::DeleteDeliveryStreamOutcome DeleteDeliveryStream(const Model::DeleteDeliveryStreamRequest& request) const;
375 
394  virtual Model::DeleteDeliveryStreamOutcomeCallable DeleteDeliveryStreamCallable(const Model::DeleteDeliveryStreamRequest& request) const;
395 
414  virtual void DeleteDeliveryStreamAsync(const Model::DeleteDeliveryStreamRequest& request, const DeleteDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
415 
431  virtual Model::DescribeDeliveryStreamOutcome DescribeDeliveryStream(const Model::DescribeDeliveryStreamRequest& request) const;
432 
450  virtual Model::DescribeDeliveryStreamOutcomeCallable DescribeDeliveryStreamCallable(const Model::DescribeDeliveryStreamRequest& request) const;
451 
469  virtual void DescribeDeliveryStreamAsync(const Model::DescribeDeliveryStreamRequest& request, const DescribeDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
470 
485  virtual Model::ListDeliveryStreamsOutcome ListDeliveryStreams(const Model::ListDeliveryStreamsRequest& request) const;
486 
503  virtual Model::ListDeliveryStreamsOutcomeCallable ListDeliveryStreamsCallable(const Model::ListDeliveryStreamsRequest& request) const;
504 
521  virtual void ListDeliveryStreamsAsync(const Model::ListDeliveryStreamsRequest& request, const ListDeliveryStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
522 
529  virtual Model::ListTagsForDeliveryStreamOutcome ListTagsForDeliveryStream(const Model::ListTagsForDeliveryStreamRequest& request) const;
530 
539  virtual Model::ListTagsForDeliveryStreamOutcomeCallable ListTagsForDeliveryStreamCallable(const Model::ListTagsForDeliveryStreamRequest& request) const;
540 
549  virtual void ListTagsForDeliveryStreamAsync(const Model::ListTagsForDeliveryStreamRequest& request, const ListTagsForDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
550 
586  virtual Model::PutRecordOutcome PutRecord(const Model::PutRecordRequest& request) const;
587 
625  virtual Model::PutRecordOutcomeCallable PutRecordCallable(const Model::PutRecordRequest& request) const;
626 
664  virtual void PutRecordAsync(const Model::PutRecordRequest& request, const PutRecordResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
665 
722  virtual Model::PutRecordBatchOutcome PutRecordBatch(const Model::PutRecordBatchRequest& request) const;
723 
782  virtual Model::PutRecordBatchOutcomeCallable PutRecordBatchCallable(const Model::PutRecordBatchRequest& request) const;
783 
842  virtual void PutRecordBatchAsync(const Model::PutRecordBatchRequest& request, const PutRecordBatchResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
843 
885  virtual Model::StartDeliveryStreamEncryptionOutcome StartDeliveryStreamEncryption(const Model::StartDeliveryStreamEncryptionRequest& request) const;
886 
930  virtual Model::StartDeliveryStreamEncryptionOutcomeCallable StartDeliveryStreamEncryptionCallable(const Model::StartDeliveryStreamEncryptionRequest& request) const;
931 
975  virtual void StartDeliveryStreamEncryptionAsync(const Model::StartDeliveryStreamEncryptionRequest& request, const StartDeliveryStreamEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
976 
1002  virtual Model::StopDeliveryStreamEncryptionOutcome StopDeliveryStreamEncryption(const Model::StopDeliveryStreamEncryptionRequest& request) const;
1003 
1031  virtual Model::StopDeliveryStreamEncryptionOutcomeCallable StopDeliveryStreamEncryptionCallable(const Model::StopDeliveryStreamEncryptionRequest& request) const;
1032 
1060  virtual void StopDeliveryStreamEncryptionAsync(const Model::StopDeliveryStreamEncryptionRequest& request, const StopDeliveryStreamEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1061 
1077  virtual Model::TagDeliveryStreamOutcome TagDeliveryStream(const Model::TagDeliveryStreamRequest& request) const;
1078 
1096  virtual Model::TagDeliveryStreamOutcomeCallable TagDeliveryStreamCallable(const Model::TagDeliveryStreamRequest& request) const;
1097 
1115  virtual void TagDeliveryStreamAsync(const Model::TagDeliveryStreamRequest& request, const TagDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1116 
1126  virtual Model::UntagDeliveryStreamOutcome UntagDeliveryStream(const Model::UntagDeliveryStreamRequest& request) const;
1127 
1139  virtual Model::UntagDeliveryStreamOutcomeCallable UntagDeliveryStreamCallable(const Model::UntagDeliveryStreamRequest& request) const;
1140 
1152  virtual void UntagDeliveryStreamAsync(const Model::UntagDeliveryStreamRequest& request, const UntagDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1153 
1184  virtual Model::UpdateDestinationOutcome UpdateDestination(const Model::UpdateDestinationRequest& request) const;
1185 
1218  virtual Model::UpdateDestinationOutcomeCallable UpdateDestinationCallable(const Model::UpdateDestinationRequest& request) const;
1219 
1252  virtual void UpdateDestinationAsync(const Model::UpdateDestinationRequest& request, const UpdateDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
1253 
1254 
1255  void OverrideEndpoint(const Aws::String& endpoint);
1256  private:
1257  void init(const Aws::Client::ClientConfiguration& clientConfiguration);
1258  void CreateDeliveryStreamAsyncHelper(const Model::CreateDeliveryStreamRequest& request, const CreateDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1259  void DeleteDeliveryStreamAsyncHelper(const Model::DeleteDeliveryStreamRequest& request, const DeleteDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1260  void DescribeDeliveryStreamAsyncHelper(const Model::DescribeDeliveryStreamRequest& request, const DescribeDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1261  void ListDeliveryStreamsAsyncHelper(const Model::ListDeliveryStreamsRequest& request, const ListDeliveryStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1262  void ListTagsForDeliveryStreamAsyncHelper(const Model::ListTagsForDeliveryStreamRequest& request, const ListTagsForDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1263  void PutRecordAsyncHelper(const Model::PutRecordRequest& request, const PutRecordResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1264  void PutRecordBatchAsyncHelper(const Model::PutRecordBatchRequest& request, const PutRecordBatchResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1265  void StartDeliveryStreamEncryptionAsyncHelper(const Model::StartDeliveryStreamEncryptionRequest& request, const StartDeliveryStreamEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1266  void StopDeliveryStreamEncryptionAsyncHelper(const Model::StopDeliveryStreamEncryptionRequest& request, const StopDeliveryStreamEncryptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1267  void TagDeliveryStreamAsyncHelper(const Model::TagDeliveryStreamRequest& request, const TagDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1268  void UntagDeliveryStreamAsyncHelper(const Model::UntagDeliveryStreamRequest& request, const UntagDeliveryStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1269  void UpdateDestinationAsyncHelper(const Model::UpdateDestinationRequest& request, const UpdateDestinationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
1270 
1271  Aws::String m_uri;
1272  Aws::String m_configScheme;
1273  std::shared_ptr<Aws::Utils::Threading::Executor> m_executor;
1274  };
1275 
1276 } // namespace Firehose
1277 } // namespace Aws
Aws::Utils::Outcome< TagDeliveryStreamResult, FirehoseError > TagDeliveryStreamOutcome
std::future< UntagDeliveryStreamOutcome > UntagDeliveryStreamOutcomeCallable
Aws::Utils::Outcome< PutRecordBatchResult, FirehoseError > PutRecordBatchOutcome
Aws::Utils::Outcome< ListTagsForDeliveryStreamResult, FirehoseError > ListTagsForDeliveryStreamOutcome
std::future< TagDeliveryStreamOutcome > TagDeliveryStreamOutcomeCallable
std::future< ListTagsForDeliveryStreamOutcome > ListTagsForDeliveryStreamOutcomeCallable
Aws::Utils::Outcome< DescribeDeliveryStreamResult, FirehoseError > DescribeDeliveryStreamOutcome
std::function< void(const FirehoseClient *, const Model::PutRecordRequest &, const Model::PutRecordOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutRecordResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::PutRecordBatchRequest &, const Model::PutRecordBatchOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutRecordBatchResponseReceivedHandler
Aws::Utils::Outcome< ListDeliveryStreamsResult, FirehoseError > ListDeliveryStreamsOutcome
Aws::Utils::Outcome< StartDeliveryStreamEncryptionResult, FirehoseError > StartDeliveryStreamEncryptionOutcome
#define AWS_FIREHOSE_API
std::future< DescribeDeliveryStreamOutcome > DescribeDeliveryStreamOutcomeCallable
std::future< DeleteDeliveryStreamOutcome > DeleteDeliveryStreamOutcomeCallable
std::function< void(const FirehoseClient *, const Model::StopDeliveryStreamEncryptionRequest &, const Model::StopDeliveryStreamEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StopDeliveryStreamEncryptionResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::CreateDeliveryStreamRequest &, const Model::CreateDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CreateDeliveryStreamResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::ListDeliveryStreamsRequest &, const Model::ListDeliveryStreamsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListDeliveryStreamsResponseReceivedHandler
std::future< StopDeliveryStreamEncryptionOutcome > StopDeliveryStreamEncryptionOutcomeCallable
Aws::Utils::Outcome< UpdateDestinationResult, FirehoseError > UpdateDestinationOutcome
std::future< PutRecordBatchOutcome > PutRecordBatchOutcomeCallable
Aws::Utils::Outcome< UntagDeliveryStreamResult, FirehoseError > UntagDeliveryStreamOutcome
std::future< StartDeliveryStreamEncryptionOutcome > StartDeliveryStreamEncryptionOutcomeCallable
Aws::Utils::Outcome< DeleteDeliveryStreamResult, FirehoseError > DeleteDeliveryStreamOutcome
std::function< void(const FirehoseClient *, const Model::UpdateDestinationRequest &, const Model::UpdateDestinationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UpdateDestinationResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::UntagDeliveryStreamRequest &, const Model::UntagDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > UntagDeliveryStreamResponseReceivedHandler
std::future< UpdateDestinationOutcome > UpdateDestinationOutcomeCallable
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Aws::Utils::Outcome< StopDeliveryStreamEncryptionResult, FirehoseError > StopDeliveryStreamEncryptionOutcome
Aws::Utils::Outcome< CreateDeliveryStreamResult, FirehoseError > CreateDeliveryStreamOutcome
Aws::Client::AWSJsonClient BASECLASS
std::function< void(const FirehoseClient *, const Model::TagDeliveryStreamRequest &, const Model::TagDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > TagDeliveryStreamResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::ListTagsForDeliveryStreamRequest &, const Model::ListTagsForDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListTagsForDeliveryStreamResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::DeleteDeliveryStreamRequest &, const Model::DeleteDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteDeliveryStreamResponseReceivedHandler
std::future< PutRecordOutcome > PutRecordOutcomeCallable
std::future< ListDeliveryStreamsOutcome > ListDeliveryStreamsOutcomeCallable
std::function< void(const FirehoseClient *, const Model::StartDeliveryStreamEncryptionRequest &, const Model::StartDeliveryStreamEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartDeliveryStreamEncryptionResponseReceivedHandler
std::future< CreateDeliveryStreamOutcome > CreateDeliveryStreamOutcomeCallable
Aws::Utils::Outcome< PutRecordResult, FirehoseError > PutRecordOutcome
std::function< void(const FirehoseClient *, const Model::DescribeDeliveryStreamRequest &, const Model::DescribeDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeDeliveryStreamResponseReceivedHandler