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/CostOptimizationHubPaginationBase.h>
12#include <aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h>
13#include <aws/cost-optimization-hub/CostOptimizationHubWaiter.h>
14#include <aws/cost-optimization-hub/CostOptimizationHub_EXPORTS.h>
17namespace CostOptimizationHub {
44 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr);
51 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr,
60 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider =
nullptr,
101 template <
typename GetPreferencesRequestT = Model::GetPreferencesRequest>
103 return SubmitCallable(&CostOptimizationHubClient::GetPreferences, request);
110 template <
typename GetPreferencesRequestT = Model::GetPreferencesRequest>
112 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
113 const GetPreferencesRequestT& request = {})
const {
114 return SubmitAsync(&CostOptimizationHubClient::GetPreferences, request, handler, context);
133 template <
typename GetRecommendationRequestT = Model::GetRecommendationRequest>
135 return SubmitCallable(&CostOptimizationHubClient::GetRecommendation, request);
142 template <
typename GetRecommendationRequestT = Model::GetRecommendationRequest>
144 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
145 return SubmitAsync(&CostOptimizationHubClient::GetRecommendation, request, handler, context);
166 template <
typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
168 return SubmitCallable(&CostOptimizationHubClient::ListEfficiencyMetrics, request);
175 template <
typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
177 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
178 return SubmitAsync(&CostOptimizationHubClient::ListEfficiencyMetrics, request, handler, context);
194 template <
typename ListEnrollmentStatusesRequestT = Model::ListEnrollmentStatusesRequest>
196 return SubmitCallable(&CostOptimizationHubClient::ListEnrollmentStatuses, request);
203 template <
typename ListEnrollmentStatusesRequestT = Model::ListEnrollmentStatusesRequest>
205 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
206 const ListEnrollmentStatusesRequestT& request = {})
const {
207 return SubmitAsync(&CostOptimizationHubClient::ListEnrollmentStatuses, request, handler, context);
226 template <
typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
228 const ListRecommendationSummariesRequestT& request)
const {
229 return SubmitCallable(&CostOptimizationHubClient::ListRecommendationSummaries, request);
236 template <
typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
239 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
240 return SubmitAsync(&CostOptimizationHubClient::ListRecommendationSummaries, request, handler, context);
254 template <
typename ListRecommendationsRequestT = Model::ListRecommendationsRequest>
256 return SubmitCallable(&CostOptimizationHubClient::ListRecommendations, request);
263 template <
typename ListRecommendationsRequestT = Model::ListRecommendationsRequest>
265 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
266 const ListRecommendationsRequestT& request = {})
const {
267 return SubmitAsync(&CostOptimizationHubClient::ListRecommendations, request, handler, context);
287 template <
typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
289 return SubmitCallable(&CostOptimizationHubClient::UpdateEnrollmentStatus, request);
296 template <
typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
299 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr)
const {
300 return SubmitAsync(&CostOptimizationHubClient::UpdateEnrollmentStatus, request, handler, context);
316 template <
typename UpdatePreferencesRequestT = Model::UpdatePreferencesRequest>
318 return SubmitCallable(&CostOptimizationHubClient::UpdatePreferences, request);
325 template <
typename UpdatePreferencesRequestT = Model::UpdatePreferencesRequest>
327 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context =
nullptr,
328 const UpdatePreferencesRequestT& request = {})
const {
329 return SubmitAsync(&CostOptimizationHubClient::UpdatePreferences, request, handler, context);
344 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