7#include <aws/core/client/AWSClient.h>
8#include <aws/core/client/AWSClientAsyncCRTP.h>
9#include <aws/core/client/ClientConfiguration.h>
10#include <aws/core/utils/json/JsonSerializer.h>
11#include <aws/firehose/FirehosePaginationBase.h>
12#include <aws/firehose/FirehoseServiceClientModel.h>
13#include <aws/firehose/FirehoseWaiter.h>
14#include <aws/firehose/Firehose_EXPORTS.h>
43 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr);
56 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
57 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr,
77 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
154 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
156 return SubmitCallable(&FirehoseClient::CreateDeliveryStream, request);
163 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
165 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
166 return SubmitAsync(&FirehoseClient::CreateDeliveryStream, request, handler, context);
196 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
198 return SubmitCallable(&FirehoseClient::DeleteDeliveryStream, request);
205 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
207 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
208 return SubmitAsync(&FirehoseClient::DeleteDeliveryStream, request, handler, context);
232 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
234 return SubmitCallable(&FirehoseClient::DescribeDeliveryStream, request);
241 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
244 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
245 return SubmitAsync(&FirehoseClient::DescribeDeliveryStream, request, handler, context);
268 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
270 return SubmitCallable(&FirehoseClient::ListDeliveryStreams, request);
277 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
279 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
280 const ListDeliveryStreamsRequestT& request = {})
const {
281 return SubmitAsync(&FirehoseClient::ListDeliveryStreams, request, handler, context);
296 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
298 const ListTagsForDeliveryStreamRequestT& request)
const {
299 return SubmitCallable(&FirehoseClient::ListTagsForDeliveryStream, request);
306 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
309 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
310 return SubmitAsync(&FirehoseClient::ListTagsForDeliveryStream, request, handler, context);
365 template <
typename PutRecordRequestT = Model::PutRecordRequest>
367 return SubmitCallable(&FirehoseClient::PutRecord, request);
374 template <
typename PutRecordRequestT = Model::PutRecordRequest>
376 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
377 return SubmitAsync(&FirehoseClient::PutRecord, request, handler, context);
454 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
456 return SubmitCallable(&FirehoseClient::PutRecordBatch, request);
463 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
465 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
466 return SubmitAsync(&FirehoseClient::PutRecordBatch, request, handler, context);
520 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
522 const StartDeliveryStreamEncryptionRequestT& request)
const {
523 return SubmitCallable(&FirehoseClient::StartDeliveryStreamEncryption, request);
530 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
533 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
534 return SubmitAsync(&FirehoseClient::StartDeliveryStreamEncryption, request, handler, context);
569 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
571 const StopDeliveryStreamEncryptionRequestT& request)
const {
572 return SubmitCallable(&FirehoseClient::StopDeliveryStreamEncryption, request);
579 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
582 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
583 return SubmitAsync(&FirehoseClient::StopDeliveryStreamEncryption, request, handler, context);
607 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
609 return SubmitCallable(&FirehoseClient::TagDeliveryStream, request);
616 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
618 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
619 return SubmitAsync(&FirehoseClient::TagDeliveryStream, request, handler, context);
637 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
639 return SubmitCallable(&FirehoseClient::UntagDeliveryStream, request);
646 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
648 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
649 return SubmitAsync(&FirehoseClient::UntagDeliveryStream, request, handler, context);
688 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
690 return SubmitCallable(&FirehoseClient::UpdateDestination, request);
697 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
699 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
700 return SubmitAsync(&FirehoseClient::UpdateDestination, request, handler, context);
715 std::shared_ptr<FirehoseEndpointProviderBase> m_endpointProvider;
FirehoseClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< FirehoseEndpointProviderBase > endpointProvider=nullptr, const Aws::Firehose::FirehoseClientConfiguration &clientConfiguration=Aws::Firehose::FirehoseClientConfiguration())
void CreateDeliveryStreamAsync(const CreateDeliveryStreamRequestT &request, const CreateDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual std::shared_ptr< FirehoseEndpointProviderBase > & accessEndpointProvider()
void PutRecordBatchAsync(const PutRecordBatchRequestT &request, const PutRecordBatchResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::PutRecordOutcome PutRecord(const Model::PutRecordRequest &request) const
Model::DescribeDeliveryStreamOutcomeCallable DescribeDeliveryStreamCallable(const DescribeDeliveryStreamRequestT &request) const
virtual Model::ListDeliveryStreamsOutcome ListDeliveryStreams(const Model::ListDeliveryStreamsRequest &request={}) const
Model::StartDeliveryStreamEncryptionOutcomeCallable StartDeliveryStreamEncryptionCallable(const StartDeliveryStreamEncryptionRequestT &request) const
virtual Model::DeleteDeliveryStreamOutcome DeleteDeliveryStream(const Model::DeleteDeliveryStreamRequest &request) const
FirehoseClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
void StartDeliveryStreamEncryptionAsync(const StartDeliveryStreamEncryptionRequestT &request, const StartDeliveryStreamEncryptionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
FirehoseClientConfiguration ClientConfigurationType
virtual Model::ListTagsForDeliveryStreamOutcome ListTagsForDeliveryStream(const Model::ListTagsForDeliveryStreamRequest &request) const
virtual Model::StartDeliveryStreamEncryptionOutcome StartDeliveryStreamEncryption(const Model::StartDeliveryStreamEncryptionRequest &request) const
Model::PutRecordOutcomeCallable PutRecordCallable(const PutRecordRequestT &request) const
void ListTagsForDeliveryStreamAsync(const ListTagsForDeliveryStreamRequestT &request, const ListTagsForDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void UntagDeliveryStreamAsync(const UntagDeliveryStreamRequestT &request, const UntagDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::TagDeliveryStreamOutcomeCallable TagDeliveryStreamCallable(const TagDeliveryStreamRequestT &request) const
void PutRecordAsync(const PutRecordRequestT &request, const PutRecordResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
static const char * GetServiceName()
virtual Model::PutRecordBatchOutcome PutRecordBatch(const Model::PutRecordBatchRequest &request) const
void StopDeliveryStreamEncryptionAsync(const StopDeliveryStreamEncryptionRequestT &request, const StopDeliveryStreamEncryptionResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ListTagsForDeliveryStreamOutcomeCallable ListTagsForDeliveryStreamCallable(const ListTagsForDeliveryStreamRequestT &request) const
void UpdateDestinationAsync(const UpdateDestinationRequestT &request, const UpdateDestinationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::PutRecordBatchOutcomeCallable PutRecordBatchCallable(const PutRecordBatchRequestT &request) const
virtual void OverrideEndpoint(const Aws::String &endpoint)
FirehoseClient(const Aws::Firehose::FirehoseClientConfiguration &clientConfiguration=Aws::Firehose::FirehoseClientConfiguration(), std::shared_ptr< FirehoseEndpointProviderBase > endpointProvider=nullptr)
void TagDeliveryStreamAsync(const TagDeliveryStreamRequestT &request, const TagDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::CreateDeliveryStreamOutcome CreateDeliveryStream(const Model::CreateDeliveryStreamRequest &request) const
FirehoseClient(const Aws::Client::ClientConfiguration &clientConfiguration)
FirehoseClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::CreateDeliveryStreamOutcomeCallable CreateDeliveryStreamCallable(const CreateDeliveryStreamRequestT &request) const
virtual Model::UpdateDestinationOutcome UpdateDestination(const Model::UpdateDestinationRequest &request) const
virtual Model::StopDeliveryStreamEncryptionOutcome StopDeliveryStreamEncryption(const Model::StopDeliveryStreamEncryptionRequest &request) const
Model::DeleteDeliveryStreamOutcomeCallable DeleteDeliveryStreamCallable(const DeleteDeliveryStreamRequestT &request) const
static const char * GetAllocationTag()
virtual Model::DescribeDeliveryStreamOutcome DescribeDeliveryStream(const Model::DescribeDeliveryStreamRequest &request) const
FirehoseEndpointProvider EndpointProviderType
void DeleteDeliveryStreamAsync(const DeleteDeliveryStreamRequestT &request, const DeleteDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::TagDeliveryStreamOutcome TagDeliveryStream(const Model::TagDeliveryStreamRequest &request) const
virtual Model::UntagDeliveryStreamOutcome UntagDeliveryStream(const Model::UntagDeliveryStreamRequest &request) const
Model::ListDeliveryStreamsOutcomeCallable ListDeliveryStreamsCallable(const ListDeliveryStreamsRequestT &request={}) const
Aws::Client::AWSJsonClient BASECLASS
virtual ~FirehoseClient()
void ListDeliveryStreamsAsync(const ListDeliveryStreamsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListDeliveryStreamsRequestT &request={}) const
FirehoseClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< FirehoseEndpointProviderBase > endpointProvider=nullptr, const Aws::Firehose::FirehoseClientConfiguration &clientConfiguration=Aws::Firehose::FirehoseClientConfiguration())
void DescribeDeliveryStreamAsync(const DescribeDeliveryStreamRequestT &request, const DescribeDeliveryStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::UpdateDestinationOutcomeCallable UpdateDestinationCallable(const UpdateDestinationRequestT &request) const
Model::UntagDeliveryStreamOutcomeCallable UntagDeliveryStreamCallable(const UntagDeliveryStreamRequestT &request) const
Model::StopDeliveryStreamEncryptionOutcomeCallable StopDeliveryStreamEncryptionCallable(const StopDeliveryStreamEncryptionRequestT &request) const
std::future< UpdateDestinationOutcome > UpdateDestinationOutcomeCallable
std::future< DeleteDeliveryStreamOutcome > DeleteDeliveryStreamOutcomeCallable
std::future< DescribeDeliveryStreamOutcome > DescribeDeliveryStreamOutcomeCallable
std::future< CreateDeliveryStreamOutcome > CreateDeliveryStreamOutcomeCallable
std::future< UntagDeliveryStreamOutcome > UntagDeliveryStreamOutcomeCallable
std::future< PutRecordBatchOutcome > PutRecordBatchOutcomeCallable
std::future< ListDeliveryStreamsOutcome > ListDeliveryStreamsOutcomeCallable
std::future< TagDeliveryStreamOutcome > TagDeliveryStreamOutcomeCallable
std::future< StartDeliveryStreamEncryptionOutcome > StartDeliveryStreamEncryptionOutcomeCallable
std::future< StopDeliveryStreamEncryptionOutcome > StopDeliveryStreamEncryptionOutcomeCallable
std::future< PutRecordOutcome > PutRecordOutcomeCallable
std::future< ListTagsForDeliveryStreamOutcome > ListTagsForDeliveryStreamOutcomeCallable
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::StartDeliveryStreamEncryptionRequest &, const Model::StartDeliveryStreamEncryptionOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> StartDeliveryStreamEncryptionResponseReceivedHandler
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::DeleteDeliveryStreamRequest &, const Model::DeleteDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DeleteDeliveryStreamResponseReceivedHandler
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::PutRecordBatchRequest &, const Model::PutRecordBatchOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> PutRecordBatchResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::ListDeliveryStreamsRequest &, const Model::ListDeliveryStreamsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListDeliveryStreamsResponseReceivedHandler
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::DescribeDeliveryStreamRequest &, const Model::DescribeDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> DescribeDeliveryStreamResponseReceivedHandler
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::ListTagsForDeliveryStreamRequest &, const Model::ListTagsForDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListTagsForDeliveryStreamResponseReceivedHandler
std::function< void(const FirehoseClient *, const Model::UntagDeliveryStreamRequest &, const Model::UntagDeliveryStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UntagDeliveryStreamResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String