7#include <aws/bedrock-runtime/BedrockRuntimeErrorMarshaller.h>
8#include <aws/bedrock-runtime/BedrockRuntimeServiceClientModel.h>
9#include <aws/bedrock-runtime/BedrockRuntime_EXPORTS.h>
10#include <aws/core/client/AWSClientAsyncCRTP.h>
11#include <aws/core/client/ClientConfiguration.h>
12#include <smithy/client/AwsSmithyClient.h>
13#include <smithy/client/serializer/JsonOutcomeSerializer.h>
14#include <smithy/identity/auth/built-in/BearerTokenAuthScheme.h>
15#include <smithy/identity/auth/built-in/GenericAuthSchemeResolver.h>
16#include <smithy/identity/auth/built-in/SigV4AuthScheme.h>
19namespace BedrockRuntime {
28 Aws::BedrockRuntime::SERVICE_NAME, Aws::BedrockRuntime::BedrockRuntimeClientConfiguration, smithy::AuthSchemeResolverBase<>,
29 Aws::Crt::Variant<smithy::SigV4AuthScheme, smithy::BearerTokenAuthScheme>, BedrockRuntimeEndpointProviderBase,
30 smithy::client::JsonOutcomeSerializer, smithy::client::JsonOutcome, Aws::Client::BedrockRuntimeErrorMarshaller> {
45 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider =
nullptr,
54 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider =
nullptr);
61 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider =
nullptr,
70 std::shared_ptr<BedrockRuntimeEndpointProviderBase> endpointProvider =
nullptr,
112 template <
typename ApplyGuardrailRequestT = Model::ApplyGuardrailRequest>
114 return SubmitCallable(&BedrockRuntimeClient::ApplyGuardrail, request);
121 template <
typename ApplyGuardrailRequestT = Model::ApplyGuardrailRequest>
123 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
124 return SubmitAsync(&BedrockRuntimeClient::ApplyGuardrail, request, handler, context);
178 template <
typename ConverseRequestT = Model::ConverseRequest>
180 return SubmitCallable(&BedrockRuntimeClient::Converse, request);
187 template <
typename ConverseRequestT = Model::ConverseRequest>
189 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
190 return SubmitAsync(&BedrockRuntimeClient::Converse, request, handler, context);
249 template <
typename ConverseStreamRequestT = Model::ConverseStreamRequest>
251 return SubmitCallable(&BedrockRuntimeClient::ConverseStream, request);
258 template <
typename ConverseStreamRequestT = Model::ConverseStreamRequest>
260 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
261 return SubmitAsync(&BedrockRuntimeClient::ConverseStream, request, handler, context);
293 template <
typename CountTokensRequestT = Model::CountTokensRequest>
295 return SubmitCallable(&BedrockRuntimeClient::CountTokens, request);
302 template <
typename CountTokensRequestT = Model::CountTokensRequest>
304 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
305 return SubmitAsync(&BedrockRuntimeClient::CountTokens, request, handler, context);
319 template <
typename GetAsyncInvokeRequestT = Model::GetAsyncInvokeRequest>
321 return SubmitCallable(&BedrockRuntimeClient::GetAsyncInvoke, request);
328 template <
typename GetAsyncInvokeRequestT = Model::GetAsyncInvokeRequest>
330 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
331 return SubmitAsync(&BedrockRuntimeClient::GetAsyncInvoke, request, handler, context);
364 template <
typename InvokeModelRequestT = Model::InvokeModelRequest>
366 return SubmitCallable(&BedrockRuntimeClient::InvokeModel, request);
373 template <
typename InvokeModelRequestT = Model::InvokeModelRequest>
375 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
376 return SubmitAsync(&BedrockRuntimeClient::InvokeModel, request, handler, context);
399 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& handlerContext =
nullptr)
const;
437 template <
typename InvokeModelWithResponseStreamRequestT = Model::InvokeModelWithResponseStreamRequest>
439 InvokeModelWithResponseStreamRequestT& request)
const {
440 return SubmitCallable(&BedrockRuntimeClient::InvokeModelWithResponseStream, request);
447 template <
typename InvokeModelWithResponseStreamRequestT = Model::InvokeModelWithResponseStreamRequest>
450 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
451 return SubmitAsync(&BedrockRuntimeClient::InvokeModelWithResponseStream, request, handler, context);
465 template <
typename ListAsyncInvokesRequestT = Model::ListAsyncInvokesRequest>
467 return SubmitCallable(&BedrockRuntimeClient::ListAsyncInvokes, request);
474 template <
typename ListAsyncInvokesRequestT = Model::ListAsyncInvokesRequest>
476 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
477 const ListAsyncInvokesRequestT& request = {})
const {
478 return SubmitAsync(&BedrockRuntimeClient::ListAsyncInvokes, request, handler, context);
504 template <
typename StartAsyncInvokeRequestT = Model::StartAsyncInvokeRequest>
506 return SubmitCallable(&BedrockRuntimeClient::StartAsyncInvoke, request);
513 template <
typename StartAsyncInvokeRequestT = Model::StartAsyncInvokeRequest>
515 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
516 return SubmitAsync(&BedrockRuntimeClient::StartAsyncInvoke, request, handler, context);
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
static const char * GetServiceName()
void CountTokensAsync(const CountTokensRequestT &request, const CountTokensResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
BedrockRuntimeClient(const Aws::UnorderedMap< Aws::String, Aws::Crt::Variant< smithy::SigV4AuthScheme, smithy::BearerTokenAuthScheme > > authSchemeMap, std::shared_ptr< BedrockRuntimeEndpointProviderBase > endpointProvider=nullptr, const Aws::BedrockRuntime::BedrockRuntimeClientConfiguration &clientConfiguration=Aws::BedrockRuntime::BedrockRuntimeClientConfiguration())
std::shared_ptr< BedrockRuntimeEndpointProviderBase > & accessEndpointProvider()
static const char * GetAllocationTag()
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
virtual ~BedrockRuntimeClient()
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
const char * GetServiceClientName() const override
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::GetAsyncInvokeRequest &, const Model::GetAsyncInvokeOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetAsyncInvokeResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ConverseRequest &, const Model::ConverseOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ConverseResponseReceivedHandler
AWS_BEDROCKRUNTIME_API const char SERVICE_NAME[]
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::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::ApplyGuardrailRequest &, const Model::ApplyGuardrailOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ApplyGuardrailResponseReceivedHandler
std::function< void(Model::InvokeModelWithBidirectionalStreamInput &)> InvokeModelWithBidirectionalStreamStreamReadyHandler
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::CountTokensRequest &, const Model::CountTokensOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> CountTokensResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::StartAsyncInvokeRequest &, const Model::StartAsyncInvokeOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> StartAsyncInvokeResponseReceivedHandler
std::function< void(const BedrockRuntimeClient *, const Model::ConverseStreamRequest &, const Model::ConverseStreamOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ConverseStreamResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::unordered_map< K, V, std::hash< K >, std::equal_to< K >, Aws::Allocator< std::pair< const K, V > > > UnorderedMap