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/Firehose_EXPORTS.h>
41 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr);
54 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
55 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr,
75 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
152 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
154 return SubmitCallable(&FirehoseClient::CreateDeliveryStream, request);
161 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
163 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
164 return SubmitAsync(&FirehoseClient::CreateDeliveryStream, request, handler, context);
194 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
196 return SubmitCallable(&FirehoseClient::DeleteDeliveryStream, request);
203 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
205 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
206 return SubmitAsync(&FirehoseClient::DeleteDeliveryStream, request, handler, context);
230 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
232 return SubmitCallable(&FirehoseClient::DescribeDeliveryStream, request);
239 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
242 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
243 return SubmitAsync(&FirehoseClient::DescribeDeliveryStream, request, handler, context);
266 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
268 return SubmitCallable(&FirehoseClient::ListDeliveryStreams, request);
275 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
277 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
278 const ListDeliveryStreamsRequestT& request = {})
const {
279 return SubmitAsync(&FirehoseClient::ListDeliveryStreams, request, handler, context);
294 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
296 const ListTagsForDeliveryStreamRequestT& request)
const {
297 return SubmitCallable(&FirehoseClient::ListTagsForDeliveryStream, request);
304 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
307 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
308 return SubmitAsync(&FirehoseClient::ListTagsForDeliveryStream, request, handler, context);
363 template <
typename PutRecordRequestT = Model::PutRecordRequest>
365 return SubmitCallable(&FirehoseClient::PutRecord, request);
372 template <
typename PutRecordRequestT = Model::PutRecordRequest>
374 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
375 return SubmitAsync(&FirehoseClient::PutRecord, request, handler, context);
452 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
454 return SubmitCallable(&FirehoseClient::PutRecordBatch, request);
461 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
463 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
464 return SubmitAsync(&FirehoseClient::PutRecordBatch, request, handler, context);
518 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
520 const StartDeliveryStreamEncryptionRequestT& request)
const {
521 return SubmitCallable(&FirehoseClient::StartDeliveryStreamEncryption, request);
528 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
531 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
532 return SubmitAsync(&FirehoseClient::StartDeliveryStreamEncryption, request, handler, context);
567 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
569 const StopDeliveryStreamEncryptionRequestT& request)
const {
570 return SubmitCallable(&FirehoseClient::StopDeliveryStreamEncryption, request);
577 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
580 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
581 return SubmitAsync(&FirehoseClient::StopDeliveryStreamEncryption, request, handler, context);
605 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
607 return SubmitCallable(&FirehoseClient::TagDeliveryStream, request);
614 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
616 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
617 return SubmitAsync(&FirehoseClient::TagDeliveryStream, request, handler, context);
635 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
637 return SubmitCallable(&FirehoseClient::UntagDeliveryStream, request);
644 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
646 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
647 return SubmitAsync(&FirehoseClient::UntagDeliveryStream, request, handler, context);
686 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
688 return SubmitCallable(&FirehoseClient::UpdateDestination, request);
695 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
697 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
698 return SubmitAsync(&FirehoseClient::UpdateDestination, request, handler, context);
709 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