AWS SDK for C++

AWS SDK for C++ Version 1.11.637

Loading...
Searching...
No Matches
BedrockRuntimeClient.h
1
6#pragma once
7#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
8#include <aws/core/client/ClientConfiguration.h>
9#include <aws/core/client/AWSClient.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/utils/json/JsonSerializer.h>
12#include <aws/bedrock-runtime/BedrockRuntimeServiceClientModel.h>
13
14namespace Aws
15{
16namespace BedrockRuntime
17{
22 class AWS_BEDROCKRUNTIME_API BedrockRuntimeClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods<BedrockRuntimeClient>
23 {
24 public:
26 static const char* GetServiceName();
27 static const char* GetAllocationTag();
28
31
37 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider = nullptr);
38
44 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider = nullptr,
46
51 BedrockRuntimeClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
52 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider = nullptr,
54
55
56 /* Legacy constructors due deprecation */
62
68 const Aws::Client::ClientConfiguration& clientConfiguration);
69
74 BedrockRuntimeClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
75 const Aws::Client::ClientConfiguration& clientConfiguration);
76
77 /* End of legacy constructors due deprecation */
79
91
95 template<typename ApplyGuardrailRequestT = Model::ApplyGuardrailRequest>
96 Model::ApplyGuardrailOutcomeCallable ApplyGuardrailCallable(const ApplyGuardrailRequestT& request) const
97 {
98 return SubmitCallable(&BedrockRuntimeClient::ApplyGuardrail, request);
99 }
100
104 template<typename ApplyGuardrailRequestT = Model::ApplyGuardrailRequest>
105 void ApplyGuardrailAsync(const ApplyGuardrailRequestT& request, const ApplyGuardrailResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
106 {
107 return SubmitAsync(&BedrockRuntimeClient::ApplyGuardrail, request, handler, context);
108 }
109
157
161 template<typename ConverseRequestT = Model::ConverseRequest>
162 Model::ConverseOutcomeCallable ConverseCallable(const ConverseRequestT& request) const
163 {
164 return SubmitCallable(&BedrockRuntimeClient::Converse, request);
165 }
166
170 template<typename ConverseRequestT = Model::ConverseRequest>
171 void ConverseAsync(const ConverseRequestT& request, const ConverseResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
172 {
173 return SubmitAsync(&BedrockRuntimeClient::Converse, request, handler, context);
174 }
175
228
232 template<typename ConverseStreamRequestT = Model::ConverseStreamRequest>
234 {
235 return SubmitCallable(&BedrockRuntimeClient::ConverseStream, request);
236 }
237
241 template<typename ConverseStreamRequestT = Model::ConverseStreamRequest>
242 void ConverseStreamAsync(ConverseStreamRequestT& request, const ConverseStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
243 {
244 return SubmitAsync(&BedrockRuntimeClient::ConverseStream, request, handler, context);
245 }
246
272
276 template<typename CountTokensRequestT = Model::CountTokensRequest>
277 Model::CountTokensOutcomeCallable CountTokensCallable(const CountTokensRequestT& request) const
278 {
279 return SubmitCallable(&BedrockRuntimeClient::CountTokens, request);
280 }
281
285 template<typename CountTokensRequestT = Model::CountTokensRequest>
286 void CountTokensAsync(const CountTokensRequestT& request, const CountTokensResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
287 {
288 return SubmitAsync(&BedrockRuntimeClient::CountTokens, request, handler, context);
289 }
290
298
302 template<typename GetAsyncInvokeRequestT = Model::GetAsyncInvokeRequest>
303 Model::GetAsyncInvokeOutcomeCallable GetAsyncInvokeCallable(const GetAsyncInvokeRequestT& request) const
304 {
305 return SubmitCallable(&BedrockRuntimeClient::GetAsyncInvoke, request);
306 }
307
311 template<typename GetAsyncInvokeRequestT = Model::GetAsyncInvokeRequest>
312 void GetAsyncInvokeAsync(const GetAsyncInvokeRequestT& request, const GetAsyncInvokeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
313 {
314 return SubmitAsync(&BedrockRuntimeClient::GetAsyncInvoke, request, handler, context);
315 }
316
343
347 template<typename InvokeModelRequestT = Model::InvokeModelRequest>
348 Model::InvokeModelOutcomeCallable InvokeModelCallable(const InvokeModelRequestT& request) const
349 {
350 return SubmitCallable(&BedrockRuntimeClient::InvokeModel, request);
351 }
352
356 template<typename InvokeModelRequestT = Model::InvokeModelRequest>
357 void InvokeModelAsync(const InvokeModelRequestT& request, const InvokeModelResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
358 {
359 return SubmitAsync(&BedrockRuntimeClient::InvokeModel, request, handler, context);
360 }
361
381 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& handlerContext = nullptr) const;
382
413
417 template<typename InvokeModelWithResponseStreamRequestT = Model::InvokeModelWithResponseStreamRequest>
419 {
420 return SubmitCallable(&BedrockRuntimeClient::InvokeModelWithResponseStream, request);
421 }
422
426 template<typename InvokeModelWithResponseStreamRequestT = Model::InvokeModelWithResponseStreamRequest>
427 void InvokeModelWithResponseStreamAsync(InvokeModelWithResponseStreamRequestT& request, const InvokeModelWithResponseStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
428 {
429 return SubmitAsync(&BedrockRuntimeClient::InvokeModelWithResponseStream, request, handler, context);
430 }
431
438
442 template<typename ListAsyncInvokesRequestT = Model::ListAsyncInvokesRequest>
443 Model::ListAsyncInvokesOutcomeCallable ListAsyncInvokesCallable(const ListAsyncInvokesRequestT& request = {}) const
444 {
445 return SubmitCallable(&BedrockRuntimeClient::ListAsyncInvokes, request);
446 }
447
451 template<typename ListAsyncInvokesRequestT = Model::ListAsyncInvokesRequest>
452 void ListAsyncInvokesAsync(const ListAsyncInvokesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr, const ListAsyncInvokesRequestT& request = {}) const
453 {
454 return SubmitAsync(&BedrockRuntimeClient::ListAsyncInvokes, request, handler, context);
455 }
456
475
479 template<typename StartAsyncInvokeRequestT = Model::StartAsyncInvokeRequest>
480 Model::StartAsyncInvokeOutcomeCallable StartAsyncInvokeCallable(const StartAsyncInvokeRequestT& request) const
481 {
482 return SubmitCallable(&BedrockRuntimeClient::StartAsyncInvoke, request);
483 }
484
488 template<typename StartAsyncInvokeRequestT = Model::StartAsyncInvokeRequest>
489 void StartAsyncInvokeAsync(const StartAsyncInvokeRequestT& request, const StartAsyncInvokeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const
490 {
491 return SubmitAsync(&BedrockRuntimeClient::StartAsyncInvoke, request, handler, context);
492 }
493
494
495 void OverrideEndpoint(const Aws::String& endpoint);
496 std::shared_ptr<BedrockRuntimeEndpointProviderBase>& accessEndpointProvider();
497 private:
499 void init(const BedrockRuntimeClientConfiguration& clientConfiguration);
500
501 BedrockRuntimeClientConfiguration m_clientConfiguration;
502 std::shared_ptr<BedrockRuntimeEndpointProviderBase> m_endpointProvider;
503 };
504
505} // namespace BedrockRuntime
506} // namespace Aws
BedrockRuntimeEndpointProvider EndpointProviderType
BedrockRuntimeClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void OverrideEndpoint(const Aws::String &endpoint)
virtual void InvokeModelWithBidirectionalStreamAsync(Model::InvokeModelWithBidirectionalStreamRequest &request, const InvokeModelWithBidirectionalStreamStreamReadyHandler &streamReadyHandler, const InvokeModelWithBidirectionalStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &handlerContext=nullptr) const
void CountTokensAsync(const CountTokensRequestT &request, const CountTokensResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
std::shared_ptr< BedrockRuntimeEndpointProviderBase > & accessEndpointProvider()
virtual Model::CountTokensOutcome CountTokens(const Model::CountTokensRequest &request) const
BedrockRuntimeClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< BedrockRuntimeEndpointProviderBase > endpointProvider=nullptr, const Aws::BedrockRuntime::BedrockRuntimeClientConfiguration &clientConfiguration=Aws::BedrockRuntime::BedrockRuntimeClientConfiguration())
void GetAsyncInvokeAsync(const GetAsyncInvokeRequestT &request, const GetAsyncInvokeResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::InvokeModelOutcomeCallable InvokeModelCallable(const InvokeModelRequestT &request) const
virtual Model::StartAsyncInvokeOutcome StartAsyncInvoke(const Model::StartAsyncInvokeRequest &request) const
Model::ListAsyncInvokesOutcomeCallable ListAsyncInvokesCallable(const ListAsyncInvokesRequestT &request={}) const
BedrockRuntimeClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
virtual Model::ConverseOutcome Converse(const Model::ConverseRequest &request) const
void StartAsyncInvokeAsync(const StartAsyncInvokeRequestT &request, const StartAsyncInvokeResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
BedrockRuntimeClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< BedrockRuntimeEndpointProviderBase > endpointProvider=nullptr, const Aws::BedrockRuntime::BedrockRuntimeClientConfiguration &clientConfiguration=Aws::BedrockRuntime::BedrockRuntimeClientConfiguration())
virtual Model::ApplyGuardrailOutcome ApplyGuardrail(const Model::ApplyGuardrailRequest &request) const
void ConverseAsync(const ConverseRequestT &request, const ConverseResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::InvokeModelWithResponseStreamOutcome InvokeModelWithResponseStream(Model::InvokeModelWithResponseStreamRequest &request) const
Model::ApplyGuardrailOutcomeCallable ApplyGuardrailCallable(const ApplyGuardrailRequestT &request) const
virtual Model::ListAsyncInvokesOutcome ListAsyncInvokes(const Model::ListAsyncInvokesRequest &request={}) const
Model::GetAsyncInvokeOutcomeCallable GetAsyncInvokeCallable(const GetAsyncInvokeRequestT &request) const
void ListAsyncInvokesAsync(const ListAsyncInvokesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListAsyncInvokesRequestT &request={}) const
Model::InvokeModelWithResponseStreamOutcomeCallable InvokeModelWithResponseStreamCallable(InvokeModelWithResponseStreamRequestT &request) const
virtual Model::ConverseStreamOutcome ConverseStream(Model::ConverseStreamRequest &request) const
BedrockRuntimeClient(const Aws::BedrockRuntime::BedrockRuntimeClientConfiguration &clientConfiguration=Aws::BedrockRuntime::BedrockRuntimeClientConfiguration(), std::shared_ptr< BedrockRuntimeEndpointProviderBase > endpointProvider=nullptr)
void InvokeModelWithResponseStreamAsync(InvokeModelWithResponseStreamRequestT &request, const InvokeModelWithResponseStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ConverseStreamOutcomeCallable ConverseStreamCallable(ConverseStreamRequestT &request) const
BedrockRuntimeClientConfiguration ClientConfigurationType
Model::StartAsyncInvokeOutcomeCallable StartAsyncInvokeCallable(const StartAsyncInvokeRequestT &request) const
void ConverseStreamAsync(ConverseStreamRequestT &request, const ConverseStreamResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetAsyncInvokeOutcome GetAsyncInvoke(const Model::GetAsyncInvokeRequest &request) const
void InvokeModelAsync(const InvokeModelRequestT &request, const InvokeModelResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
void ApplyGuardrailAsync(const ApplyGuardrailRequestT &request, const ApplyGuardrailResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::ConverseOutcomeCallable ConverseCallable(const ConverseRequestT &request) const
Model::CountTokensOutcomeCallable CountTokensCallable(const CountTokensRequestT &request) const
virtual Model::InvokeModelOutcome InvokeModel(const Model::InvokeModelRequest &request) const
BedrockRuntimeClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
std::future< InvokeModelWithResponseStreamOutcome > InvokeModelWithResponseStreamOutcomeCallable
std::future< GetAsyncInvokeOutcome > GetAsyncInvokeOutcomeCallable
std::future< StartAsyncInvokeOutcome > StartAsyncInvokeOutcomeCallable
std::future< CountTokensOutcome > CountTokensOutcomeCallable
std::future< InvokeModelOutcome > InvokeModelOutcomeCallable
std::future< ConverseOutcome > ConverseOutcomeCallable
std::future< ConverseStreamOutcome > ConverseStreamOutcomeCallable
std::future< ApplyGuardrailOutcome > ApplyGuardrailOutcomeCallable
std::future< ListAsyncInvokesOutcome > ListAsyncInvokesOutcomeCallable
std::function< void(const BedrockRuntimeClient *, const Model::InvokeModelRequest &, Model::InvokeModelOutcome, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > InvokeModelResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ApplyGuardrailRequest &, const Model::ApplyGuardrailOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ApplyGuardrailResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::InvokeModelWithBidirectionalStreamRequest &, const Model::InvokeModelWithBidirectionalStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > InvokeModelWithBidirectionalStreamResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ConverseRequest &, const Model::ConverseOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ConverseResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ConverseStreamRequest &, const Model::ConverseStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ConverseStreamResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::StartAsyncInvokeRequest &, const Model::StartAsyncInvokeOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > StartAsyncInvokeResponseReceivedHandler
std::function< void(Model::InvokeModelWithBidirectionalStreamInput &)> InvokeModelWithBidirectionalStreamStreamReadyHandler
std::function< void(const BedrockRuntimeClient *, const Model::GetAsyncInvokeRequest &, const Model::GetAsyncInvokeOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetAsyncInvokeResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::InvokeModelWithResponseStreamRequest &, const Model::InvokeModelWithResponseStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > InvokeModelWithResponseStreamResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ListAsyncInvokesRequest &, const Model::ListAsyncInvokesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListAsyncInvokesResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::CountTokensRequest &, const Model::CountTokensOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > CountTokensResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String