AWS SDK for C++

AWS SDK for C++ Version 1.11.788

Loading...
Searching...
No Matches
CostOptimizationHubClient.h
1
6#pragma once
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>
15
16namespace Aws {
17namespace CostOptimizationHub {
26class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubClient : public Aws::Client::AWSJsonClient,
27 public Aws::Client::ClientWithAsyncTemplateMethods<CostOptimizationHubClient>,
28 public CostOptimizationHubPaginationBase<CostOptimizationHubClient>,
29 public CostOptimizationHubWaiter<CostOptimizationHubClient> {
30 public:
32 static const char* GetServiceName();
33 static const char* GetAllocationTag();
34
37
44 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider = nullptr);
45
51 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider = nullptr,
54
59 CostOptimizationHubClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
60 std::shared_ptr<CostOptimizationHubEndpointProviderBase> endpointProvider = nullptr,
63
64 /* Legacy constructors due deprecation */
70
76
81 CostOptimizationHubClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider,
82 const Aws::Client::ClientConfiguration& clientConfiguration);
83
84 /* End of legacy constructors due deprecation */
86
97
101 template <typename GetPreferencesRequestT = Model::GetPreferencesRequest>
102 Model::GetPreferencesOutcomeCallable GetPreferencesCallable(const GetPreferencesRequestT& request = {}) const {
103 return SubmitCallable(&CostOptimizationHubClient::GetPreferences, request);
104 }
105
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);
115 }
116
128
133 template <typename GetRecommendationRequestT = Model::GetRecommendationRequest>
134 Model::GetRecommendationOutcomeCallable GetRecommendationCallable(const GetRecommendationRequestT& request) const {
135 return SubmitCallable(&CostOptimizationHubClient::GetRecommendation, request);
136 }
137
142 template <typename GetRecommendationRequestT = Model::GetRecommendationRequest>
143 void GetRecommendationAsync(const GetRecommendationRequestT& request, const GetRecommendationResponseReceivedHandler& handler,
144 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
145 return SubmitAsync(&CostOptimizationHubClient::GetRecommendation, request, handler, context);
146 }
147
161
166 template <typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
167 Model::ListEfficiencyMetricsOutcomeCallable ListEfficiencyMetricsCallable(const ListEfficiencyMetricsRequestT& request) const {
168 return SubmitCallable(&CostOptimizationHubClient::ListEfficiencyMetrics, request);
169 }
170
175 template <typename ListEfficiencyMetricsRequestT = Model::ListEfficiencyMetricsRequest>
176 void ListEfficiencyMetricsAsync(const ListEfficiencyMetricsRequestT& request, const ListEfficiencyMetricsResponseReceivedHandler& handler,
177 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
178 return SubmitAsync(&CostOptimizationHubClient::ListEfficiencyMetrics, request, handler, context);
179 }
180
189
194 template <typename ListEnrollmentStatusesRequestT = Model::ListEnrollmentStatusesRequest>
195 Model::ListEnrollmentStatusesOutcomeCallable ListEnrollmentStatusesCallable(const ListEnrollmentStatusesRequestT& request = {}) const {
196 return SubmitCallable(&CostOptimizationHubClient::ListEnrollmentStatuses, request);
197 }
198
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);
208 }
209
220 const Model::ListRecommendationSummariesRequest& request) const;
221
226 template <typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
228 const ListRecommendationSummariesRequestT& request) const {
229 return SubmitCallable(&CostOptimizationHubClient::ListRecommendationSummaries, request);
230 }
231
236 template <typename ListRecommendationSummariesRequestT = Model::ListRecommendationSummariesRequest>
237 void ListRecommendationSummariesAsync(const ListRecommendationSummariesRequestT& request,
239 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
240 return SubmitAsync(&CostOptimizationHubClient::ListRecommendationSummaries, request, handler, context);
241 }
242
249
254 template <typename ListRecommendationsRequestT = Model::ListRecommendationsRequest>
255 Model::ListRecommendationsOutcomeCallable ListRecommendationsCallable(const ListRecommendationsRequestT& request = {}) const {
256 return SubmitCallable(&CostOptimizationHubClient::ListRecommendations, request);
257 }
258
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);
268 }
269
282
287 template <typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
288 Model::UpdateEnrollmentStatusOutcomeCallable UpdateEnrollmentStatusCallable(const UpdateEnrollmentStatusRequestT& request) const {
289 return SubmitCallable(&CostOptimizationHubClient::UpdateEnrollmentStatus, request);
290 }
291
296 template <typename UpdateEnrollmentStatusRequestT = Model::UpdateEnrollmentStatusRequest>
297 void UpdateEnrollmentStatusAsync(const UpdateEnrollmentStatusRequestT& request,
299 const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const {
300 return SubmitAsync(&CostOptimizationHubClient::UpdateEnrollmentStatus, request, handler, context);
301 }
302
311
316 template <typename UpdatePreferencesRequestT = Model::UpdatePreferencesRequest>
317 Model::UpdatePreferencesOutcomeCallable UpdatePreferencesCallable(const UpdatePreferencesRequestT& request = {}) const {
318 return SubmitCallable(&CostOptimizationHubClient::UpdatePreferences, request);
319 }
320
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);
330 }
331
332 virtual void OverrideEndpoint(const Aws::String& endpoint);
333 virtual std::shared_ptr<CostOptimizationHubEndpointProviderBase>& accessEndpointProvider();
334
335 private:
337 void init(const CostOptimizationHubClientConfiguration& clientConfiguration);
338
340
341 InvokeOperationOutcome InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const;
342
343 CostOptimizationHubClientConfiguration m_clientConfiguration;
344 std::shared_ptr<CostOptimizationHubEndpointProviderBase> m_endpointProvider;
345};
346
347} // namespace CostOptimizationHub
348} // namespace Aws
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
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
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
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
CostOptimizationHubClient(const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration &clientConfiguration=Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration(), std::shared_ptr< CostOptimizationHubEndpointProviderBase > endpointProvider=nullptr)
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