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/FirehoseServiceClientModel.h>
12#include <aws/firehose/Firehose_EXPORTS.h>
39 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr);
52 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
53 std::shared_ptr<FirehoseEndpointProviderBase> endpointProvider =
nullptr,
73 FirehoseClient(
const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
150 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
152 return SubmitCallable(&FirehoseClient::CreateDeliveryStream, request);
159 template <
typename CreateDeliveryStreamRequestT = Model::CreateDeliveryStreamRequest>
161 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
162 return SubmitAsync(&FirehoseClient::CreateDeliveryStream, request, handler, context);
192 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
194 return SubmitCallable(&FirehoseClient::DeleteDeliveryStream, request);
201 template <
typename DeleteDeliveryStreamRequestT = Model::DeleteDeliveryStreamRequest>
203 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
204 return SubmitAsync(&FirehoseClient::DeleteDeliveryStream, request, handler, context);
228 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
230 return SubmitCallable(&FirehoseClient::DescribeDeliveryStream, request);
237 template <
typename DescribeDeliveryStreamRequestT = Model::DescribeDeliveryStreamRequest>
240 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
241 return SubmitAsync(&FirehoseClient::DescribeDeliveryStream, request, handler, context);
264 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
266 return SubmitCallable(&FirehoseClient::ListDeliveryStreams, request);
273 template <
typename ListDeliveryStreamsRequestT = Model::ListDeliveryStreamsRequest>
275 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
276 const ListDeliveryStreamsRequestT& request = {})
const {
277 return SubmitAsync(&FirehoseClient::ListDeliveryStreams, request, handler, context);
292 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
294 const ListTagsForDeliveryStreamRequestT& request)
const {
295 return SubmitCallable(&FirehoseClient::ListTagsForDeliveryStream, request);
302 template <
typename ListTagsForDeliveryStreamRequestT = Model::ListTagsForDeliveryStreamRequest>
305 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
306 return SubmitAsync(&FirehoseClient::ListTagsForDeliveryStream, request, handler, context);
361 template <
typename PutRecordRequestT = Model::PutRecordRequest>
363 return SubmitCallable(&FirehoseClient::PutRecord, request);
370 template <
typename PutRecordRequestT = Model::PutRecordRequest>
372 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
373 return SubmitAsync(&FirehoseClient::PutRecord, request, handler, context);
450 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
452 return SubmitCallable(&FirehoseClient::PutRecordBatch, request);
459 template <
typename PutRecordBatchRequestT = Model::PutRecordBatchRequest>
461 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
462 return SubmitAsync(&FirehoseClient::PutRecordBatch, request, handler, context);
516 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
518 const StartDeliveryStreamEncryptionRequestT& request)
const {
519 return SubmitCallable(&FirehoseClient::StartDeliveryStreamEncryption, request);
526 template <
typename StartDeliveryStreamEncryptionRequestT = Model::StartDeliveryStreamEncryptionRequest>
529 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
530 return SubmitAsync(&FirehoseClient::StartDeliveryStreamEncryption, request, handler, context);
565 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
567 const StopDeliveryStreamEncryptionRequestT& request)
const {
568 return SubmitCallable(&FirehoseClient::StopDeliveryStreamEncryption, request);
575 template <
typename StopDeliveryStreamEncryptionRequestT = Model::StopDeliveryStreamEncryptionRequest>
578 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
579 return SubmitAsync(&FirehoseClient::StopDeliveryStreamEncryption, request, handler, context);
603 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
605 return SubmitCallable(&FirehoseClient::TagDeliveryStream, request);
612 template <
typename TagDeliveryStreamRequestT = Model::TagDeliveryStreamRequest>
614 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
615 return SubmitAsync(&FirehoseClient::TagDeliveryStream, request, handler, context);
633 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
635 return SubmitCallable(&FirehoseClient::UntagDeliveryStream, request);
642 template <
typename UntagDeliveryStreamRequestT = Model::UntagDeliveryStreamRequest>
644 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
645 return SubmitAsync(&FirehoseClient::UntagDeliveryStream, request, handler, context);
684 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
686 return SubmitCallable(&FirehoseClient::UpdateDestination, request);
693 template <
typename UpdateDestinationRequestT = Model::UpdateDestinationRequest>
695 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
696 return SubmitAsync(&FirehoseClient::UpdateDestination, request, handler, context);
707 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
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
std::shared_ptr< FirehoseEndpointProviderBase > & accessEndpointProvider()
Model::PutRecordBatchOutcomeCallable PutRecordBatchCallable(const PutRecordBatchRequestT &request) const
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
void OverrideEndpoint(const Aws::String &endpoint)
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