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/cost-optimization-hub/CostOptimizationHubServiceClientModel.h>
12#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
15namespace CostOptimizationHub {
41 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr);
48 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr,
57 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr,
98 template <
typename GetPreferencesRequestT = Model::GetPreferencesRequest>
100 return SubmitCallable(&CostOptimizationHubClient::GetPreferences, request);
107 template <
typename GetPreferencesRequestT = Model::GetPreferencesRequest>
109 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
110 const GetPreferencesRequestT& request = {})
const {
111 return SubmitAsync(&CostOptimizationHubClient::GetPreferences, request, handler, context);
130 template <
typename GetRecommendationRequestT = Model::GetRecommendationRequest>
132 return SubmitCallable(&CostOptimizationHubClient::GetRecommendation, request);
139 template <
typename GetRecommendationRequestT = Model::GetRecommendationRequest>
141 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
142 return SubmitAsync(&CostOptimizationHubClient::GetRecommendation, request, handler, context);
163 template <
typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
165 return SubmitCallable(&CostOptimizationHubClient::ListEfficiencyMetrics, request);
172 template <
typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
174 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
175 return SubmitAsync(&CostOptimizationHubClient::ListEfficiencyMetrics, request, handler, context);
191 template <
typename ListEnrollmentStatusesRequestT = Model::ListEnrollmentStatusesRequest>
193 return SubmitCallable(&CostOptimizationHubClient::ListEnrollmentStatuses, request);
200 template <
typename ListEnrollmentStatusesRequestT = Model::ListEnrollmentStatusesRequest>
202 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
203 const ListEnrollmentStatusesRequestT& request = {})
const {
204 return SubmitAsync(&CostOptimizationHubClient::ListEnrollmentStatuses, request, handler, context);
223 template <
typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
225 const ListRecommendationSummariesRequestT& request)
const {
226 return SubmitCallable(&CostOptimizationHubClient::ListRecommendationSummaries, request);
233 template <
typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
236 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
237 return SubmitAsync(&CostOptimizationHubClient::ListRecommendationSummaries, request, handler, context);
251 template <
typename ListRecommendationsRequestT = Model::ListRecommendationsRequest>
253 return SubmitCallable(&CostOptimizationHubClient::ListRecommendations, request);
260 template <
typename ListRecommendationsRequestT = Model::ListRecommendationsRequest>
262 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
263 const ListRecommendationsRequestT& request = {})
const {
264 return SubmitAsync(&CostOptimizationHubClient::ListRecommendations, request, handler, context);
284 template <
typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
286 return SubmitCallable(&CostOptimizationHubClient::UpdateEnrollmentStatus, request);
293 template <
typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
296 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
297 return SubmitAsync(&CostOptimizationHubClient::UpdateEnrollmentStatus, request, handler, context);
313 template <
typename UpdatePreferencesRequestT = Model::UpdatePreferencesRequest>
315 return SubmitCallable(&CostOptimizationHubClient::UpdatePreferences, request);
322 template <
typename UpdatePreferencesRequestT = Model::UpdatePreferencesRequest>
324 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
325 const UpdatePreferencesRequestT& request = {})
const {
326 return SubmitAsync(&CostOptimizationHubClient::UpdatePreferences, request, handler, context);
337 std::shared_ptr<CostOptimizationHubEndpointProviderBase> m_endpointProvider;
CostOptimizationHubClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, std::shared_ptr< CostOptimizationHubEndpointProviderBase > endpointProvider=nullptr, const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration &clientConfiguration=Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration())
Model::UpdateEnrollmentStatusOutcomeCallable UpdateEnrollmentStatusCallable(const UpdateEnrollmentStatusRequestT &request) const
CostOptimizationHubClient(const std::shared_ptr< Aws::Auth::AWSCredentialsProvider > &credentialsProvider, const Aws::Client::ClientConfiguration &clientConfiguration)
CostOptimizationHubClient(const Aws::Auth::AWSCredentials &credentials, std::shared_ptr< CostOptimizationHubEndpointProviderBase > endpointProvider=nullptr, const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration &clientConfiguration=Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration())
void ListRecommendationsAsync(const ListRecommendationsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListRecommendationsRequestT &request={}) const
void UpdateEnrollmentStatusAsync(const UpdateEnrollmentStatusRequestT &request, const UpdateEnrollmentStatusResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::ListEfficiencyMetricsOutcome ListEfficiencyMetrics(const Model::ListEfficiencyMetricsRequest &request) const
Aws::Client::AWSJsonClient BASECLASS
Model::ListEfficiencyMetricsOutcomeCallable ListEfficiencyMetricsCallable(const ListEfficiencyMetricsRequestT &request) const
void GetRecommendationAsync(const GetRecommendationRequestT &request, const GetRecommendationResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
Model::GetRecommendationOutcomeCallable GetRecommendationCallable(const GetRecommendationRequestT &request) const
virtual Model::UpdatePreferencesOutcome UpdatePreferences(const Model::UpdatePreferencesRequest &request={}) const
void UpdatePreferencesAsync(const UpdatePreferencesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const UpdatePreferencesRequestT &request={}) const
virtual void OverrideEndpoint(const Aws::String &endpoint)
void ListRecommendationSummariesAsync(const ListRecommendationSummariesRequestT &request, const ListRecommendationSummariesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
virtual Model::GetRecommendationOutcome GetRecommendation(const Model::GetRecommendationRequest &request) const
virtual Model::GetPreferencesOutcome GetPreferences(const Model::GetPreferencesRequest &request={}) const
void GetPreferencesAsync(const GetPreferencesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const GetPreferencesRequestT &request={}) const
virtual Model::UpdateEnrollmentStatusOutcome UpdateEnrollmentStatus(const Model::UpdateEnrollmentStatusRequest &request) const
Model::UpdatePreferencesOutcomeCallable UpdatePreferencesCallable(const UpdatePreferencesRequestT &request={}) const
CostOptimizationHubClient(const Aws::Auth::AWSCredentials &credentials, const Aws::Client::ClientConfiguration &clientConfiguration)
Model::ListEnrollmentStatusesOutcomeCallable ListEnrollmentStatusesCallable(const ListEnrollmentStatusesRequestT &request={}) const
CostOptimizationHubClient(const Aws::Client::ClientConfiguration &clientConfiguration)
void ListEfficiencyMetricsAsync(const ListEfficiencyMetricsRequestT &request, const ListEfficiencyMetricsResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr) const
CostOptimizationHubEndpointProvider EndpointProviderType
virtual std::shared_ptr< CostOptimizationHubEndpointProviderBase > & accessEndpointProvider()
CostOptimizationHubClientConfiguration ClientConfigurationType
virtual Model::ListEnrollmentStatusesOutcome ListEnrollmentStatuses(const Model::ListEnrollmentStatusesRequest &request={}) const
virtual Model::ListRecommendationSummariesOutcome ListRecommendationSummaries(const Model::ListRecommendationSummariesRequest &request) const
Model::ListRecommendationsOutcomeCallable ListRecommendationsCallable(const ListRecommendationsRequestT &request={}) const
virtual Model::ListRecommendationsOutcome ListRecommendations(const Model::ListRecommendationsRequest &request={}) const
static const char * GetServiceName()
void ListEnrollmentStatusesAsync(const ListEnrollmentStatusesResponseReceivedHandler &handler, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &context=nullptr, const ListEnrollmentStatusesRequestT &request={}) const
Model::ListRecommendationSummariesOutcomeCallable ListRecommendationSummariesCallable(const ListRecommendationSummariesRequestT &request) const
static const char * GetAllocationTag()
CostOptimizationHubClient(const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration &clientConfiguration=Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration(), std::shared_ptr< CostOptimizationHubEndpointProviderBase > endpointProvider=nullptr)
virtual ~CostOptimizationHubClient()
Model::GetPreferencesOutcomeCallable GetPreferencesCallable(const GetPreferencesRequestT &request={}) const
std::future< ListRecommendationSummariesOutcome > ListRecommendationSummariesOutcomeCallable
std::future< ListRecommendationsOutcome > ListRecommendationsOutcomeCallable
std::future< UpdateEnrollmentStatusOutcome > UpdateEnrollmentStatusOutcomeCallable
std::future< UpdatePreferencesOutcome > UpdatePreferencesOutcomeCallable
std::future< ListEfficiencyMetricsOutcome > ListEfficiencyMetricsOutcomeCallable
std::future< GetRecommendationOutcome > GetRecommendationOutcomeCallable
std::future< GetPreferencesOutcome > GetPreferencesOutcomeCallable
std::future< ListEnrollmentStatusesOutcome > ListEnrollmentStatusesOutcomeCallable
std::function< void(const CostOptimizationHubClient *, const Model::GetPreferencesRequest &, const Model::GetPreferencesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetPreferencesResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::ListRecommendationsRequest &, const Model::ListRecommendationsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListRecommendationsResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::ListEfficiencyMetricsRequest &, const Model::ListEfficiencyMetricsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListEfficiencyMetricsResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::UpdatePreferencesRequest &, const Model::UpdatePreferencesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UpdatePreferencesResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::UpdateEnrollmentStatusRequest &, const Model::UpdateEnrollmentStatusOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> UpdateEnrollmentStatusResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::ListEnrollmentStatusesRequest &, const Model::ListEnrollmentStatusesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListEnrollmentStatusesResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::ListRecommendationSummariesRequest &, const Model::ListRecommendationSummariesOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> ListRecommendationSummariesResponseReceivedHandler
std::function< void(const CostOptimizationHubClient *, const Model::GetRecommendationRequest &, const Model::GetRecommendationOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &)> GetRecommendationResponseReceivedHandler
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String