1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ce/CostExplorer_EXPORTS.h> 8 #include <aws/ce/CostExplorerErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/ce/model/CreateAnomalyMonitorResult.h> 15 #include <aws/ce/model/CreateAnomalySubscriptionResult.h> 16 #include <aws/ce/model/CreateCostCategoryDefinitionResult.h> 17 #include <aws/ce/model/DeleteAnomalyMonitorResult.h> 18 #include <aws/ce/model/DeleteAnomalySubscriptionResult.h> 19 #include <aws/ce/model/DeleteCostCategoryDefinitionResult.h> 20 #include <aws/ce/model/DescribeCostCategoryDefinitionResult.h> 21 #include <aws/ce/model/GetAnomaliesResult.h> 22 #include <aws/ce/model/GetAnomalyMonitorsResult.h> 23 #include <aws/ce/model/GetAnomalySubscriptionsResult.h> 24 #include <aws/ce/model/GetCostAndUsageResult.h> 25 #include <aws/ce/model/GetCostAndUsageWithResourcesResult.h> 26 #include <aws/ce/model/GetCostCategoriesResult.h> 27 #include <aws/ce/model/GetCostForecastResult.h> 28 #include <aws/ce/model/GetDimensionValuesResult.h> 29 #include <aws/ce/model/GetReservationCoverageResult.h> 30 #include <aws/ce/model/GetReservationPurchaseRecommendationResult.h> 31 #include <aws/ce/model/GetReservationUtilizationResult.h> 32 #include <aws/ce/model/GetRightsizingRecommendationResult.h> 33 #include <aws/ce/model/GetSavingsPlansCoverageResult.h> 34 #include <aws/ce/model/GetSavingsPlansPurchaseRecommendationResult.h> 35 #include <aws/ce/model/GetSavingsPlansUtilizationResult.h> 36 #include <aws/ce/model/GetSavingsPlansUtilizationDetailsResult.h> 37 #include <aws/ce/model/GetTagsResult.h> 38 #include <aws/ce/model/GetUsageForecastResult.h> 39 #include <aws/ce/model/ListCostCategoryDefinitionsResult.h> 40 #include <aws/ce/model/ProvideAnomalyFeedbackResult.h> 41 #include <aws/ce/model/UpdateAnomalyMonitorResult.h> 42 #include <aws/ce/model/UpdateAnomalySubscriptionResult.h> 43 #include <aws/ce/model/UpdateCostCategoryDefinitionResult.h> 44 #include <aws/core/client/AsyncCallerContext.h> 45 #include <aws/core/http/HttpTypes.h> 46 #include <future> 47 #include <functional> 48 49 namespace Aws 50 { 51 52 namespace Http 53 { 54 class HttpClient; 55 class HttpClientFactory; 56 } // namespace Http 57 58 namespace Utils 59 { 60 template< typename R, typename E> class Outcome; 61 namespace Threading 62 { 63 class Executor; 64 } // namespace Threading 65 } // namespace Utils 66 67 namespace Auth 68 { 69 class AWSCredentials; 70 class AWSCredentialsProvider; 71 } // namespace Auth 72 73 namespace Client 74 { 75 class RetryStrategy; 76 } // namespace Client 77 78 namespace CostExplorer 79 { 80 81 namespace Model 82 { 83 class CreateAnomalyMonitorRequest; 84 class CreateAnomalySubscriptionRequest; 85 class CreateCostCategoryDefinitionRequest; 86 class DeleteAnomalyMonitorRequest; 87 class DeleteAnomalySubscriptionRequest; 88 class DeleteCostCategoryDefinitionRequest; 89 class DescribeCostCategoryDefinitionRequest; 90 class GetAnomaliesRequest; 91 class GetAnomalyMonitorsRequest; 92 class GetAnomalySubscriptionsRequest; 93 class GetCostAndUsageRequest; 94 class GetCostAndUsageWithResourcesRequest; 95 class GetCostCategoriesRequest; 96 class GetCostForecastRequest; 97 class GetDimensionValuesRequest; 98 class GetReservationCoverageRequest; 99 class GetReservationPurchaseRecommendationRequest; 100 class GetReservationUtilizationRequest; 101 class GetRightsizingRecommendationRequest; 102 class GetSavingsPlansCoverageRequest; 103 class GetSavingsPlansPurchaseRecommendationRequest; 104 class GetSavingsPlansUtilizationRequest; 105 class GetSavingsPlansUtilizationDetailsRequest; 106 class GetTagsRequest; 107 class GetUsageForecastRequest; 108 class ListCostCategoryDefinitionsRequest; 109 class ProvideAnomalyFeedbackRequest; 110 class UpdateAnomalyMonitorRequest; 111 class UpdateAnomalySubscriptionRequest; 112 class UpdateCostCategoryDefinitionRequest; 113 114 typedef Aws::Utils::Outcome<CreateAnomalyMonitorResult, CostExplorerError> CreateAnomalyMonitorOutcome; 115 typedef Aws::Utils::Outcome<CreateAnomalySubscriptionResult, CostExplorerError> CreateAnomalySubscriptionOutcome; 116 typedef Aws::Utils::Outcome<CreateCostCategoryDefinitionResult, CostExplorerError> CreateCostCategoryDefinitionOutcome; 117 typedef Aws::Utils::Outcome<DeleteAnomalyMonitorResult, CostExplorerError> DeleteAnomalyMonitorOutcome; 118 typedef Aws::Utils::Outcome<DeleteAnomalySubscriptionResult, CostExplorerError> DeleteAnomalySubscriptionOutcome; 119 typedef Aws::Utils::Outcome<DeleteCostCategoryDefinitionResult, CostExplorerError> DeleteCostCategoryDefinitionOutcome; 120 typedef Aws::Utils::Outcome<DescribeCostCategoryDefinitionResult, CostExplorerError> DescribeCostCategoryDefinitionOutcome; 121 typedef Aws::Utils::Outcome<GetAnomaliesResult, CostExplorerError> GetAnomaliesOutcome; 122 typedef Aws::Utils::Outcome<GetAnomalyMonitorsResult, CostExplorerError> GetAnomalyMonitorsOutcome; 123 typedef Aws::Utils::Outcome<GetAnomalySubscriptionsResult, CostExplorerError> GetAnomalySubscriptionsOutcome; 124 typedef Aws::Utils::Outcome<GetCostAndUsageResult, CostExplorerError> GetCostAndUsageOutcome; 125 typedef Aws::Utils::Outcome<GetCostAndUsageWithResourcesResult, CostExplorerError> GetCostAndUsageWithResourcesOutcome; 126 typedef Aws::Utils::Outcome<GetCostCategoriesResult, CostExplorerError> GetCostCategoriesOutcome; 127 typedef Aws::Utils::Outcome<GetCostForecastResult, CostExplorerError> GetCostForecastOutcome; 128 typedef Aws::Utils::Outcome<GetDimensionValuesResult, CostExplorerError> GetDimensionValuesOutcome; 129 typedef Aws::Utils::Outcome<GetReservationCoverageResult, CostExplorerError> GetReservationCoverageOutcome; 130 typedef Aws::Utils::Outcome<GetReservationPurchaseRecommendationResult, CostExplorerError> GetReservationPurchaseRecommendationOutcome; 131 typedef Aws::Utils::Outcome<GetReservationUtilizationResult, CostExplorerError> GetReservationUtilizationOutcome; 132 typedef Aws::Utils::Outcome<GetRightsizingRecommendationResult, CostExplorerError> GetRightsizingRecommendationOutcome; 133 typedef Aws::Utils::Outcome<GetSavingsPlansCoverageResult, CostExplorerError> GetSavingsPlansCoverageOutcome; 134 typedef Aws::Utils::Outcome<GetSavingsPlansPurchaseRecommendationResult, CostExplorerError> GetSavingsPlansPurchaseRecommendationOutcome; 135 typedef Aws::Utils::Outcome<GetSavingsPlansUtilizationResult, CostExplorerError> GetSavingsPlansUtilizationOutcome; 136 typedef Aws::Utils::Outcome<GetSavingsPlansUtilizationDetailsResult, CostExplorerError> GetSavingsPlansUtilizationDetailsOutcome; 137 typedef Aws::Utils::Outcome<GetTagsResult, CostExplorerError> GetTagsOutcome; 138 typedef Aws::Utils::Outcome<GetUsageForecastResult, CostExplorerError> GetUsageForecastOutcome; 139 typedef Aws::Utils::Outcome<ListCostCategoryDefinitionsResult, CostExplorerError> ListCostCategoryDefinitionsOutcome; 140 typedef Aws::Utils::Outcome<ProvideAnomalyFeedbackResult, CostExplorerError> ProvideAnomalyFeedbackOutcome; 141 typedef Aws::Utils::Outcome<UpdateAnomalyMonitorResult, CostExplorerError> UpdateAnomalyMonitorOutcome; 142 typedef Aws::Utils::Outcome<UpdateAnomalySubscriptionResult, CostExplorerError> UpdateAnomalySubscriptionOutcome; 143 typedef Aws::Utils::Outcome<UpdateCostCategoryDefinitionResult, CostExplorerError> UpdateCostCategoryDefinitionOutcome; 144 145 typedef std::future<CreateAnomalyMonitorOutcome> CreateAnomalyMonitorOutcomeCallable; 146 typedef std::future<CreateAnomalySubscriptionOutcome> CreateAnomalySubscriptionOutcomeCallable; 147 typedef std::future<CreateCostCategoryDefinitionOutcome> CreateCostCategoryDefinitionOutcomeCallable; 148 typedef std::future<DeleteAnomalyMonitorOutcome> DeleteAnomalyMonitorOutcomeCallable; 149 typedef std::future<DeleteAnomalySubscriptionOutcome> DeleteAnomalySubscriptionOutcomeCallable; 150 typedef std::future<DeleteCostCategoryDefinitionOutcome> DeleteCostCategoryDefinitionOutcomeCallable; 151 typedef std::future<DescribeCostCategoryDefinitionOutcome> DescribeCostCategoryDefinitionOutcomeCallable; 152 typedef std::future<GetAnomaliesOutcome> GetAnomaliesOutcomeCallable; 153 typedef std::future<GetAnomalyMonitorsOutcome> GetAnomalyMonitorsOutcomeCallable; 154 typedef std::future<GetAnomalySubscriptionsOutcome> GetAnomalySubscriptionsOutcomeCallable; 155 typedef std::future<GetCostAndUsageOutcome> GetCostAndUsageOutcomeCallable; 156 typedef std::future<GetCostAndUsageWithResourcesOutcome> GetCostAndUsageWithResourcesOutcomeCallable; 157 typedef std::future<GetCostCategoriesOutcome> GetCostCategoriesOutcomeCallable; 158 typedef std::future<GetCostForecastOutcome> GetCostForecastOutcomeCallable; 159 typedef std::future<GetDimensionValuesOutcome> GetDimensionValuesOutcomeCallable; 160 typedef std::future<GetReservationCoverageOutcome> GetReservationCoverageOutcomeCallable; 161 typedef std::future<GetReservationPurchaseRecommendationOutcome> GetReservationPurchaseRecommendationOutcomeCallable; 162 typedef std::future<GetReservationUtilizationOutcome> GetReservationUtilizationOutcomeCallable; 163 typedef std::future<GetRightsizingRecommendationOutcome> GetRightsizingRecommendationOutcomeCallable; 164 typedef std::future<GetSavingsPlansCoverageOutcome> GetSavingsPlansCoverageOutcomeCallable; 165 typedef std::future<GetSavingsPlansPurchaseRecommendationOutcome> GetSavingsPlansPurchaseRecommendationOutcomeCallable; 166 typedef std::future<GetSavingsPlansUtilizationOutcome> GetSavingsPlansUtilizationOutcomeCallable; 167 typedef std::future<GetSavingsPlansUtilizationDetailsOutcome> GetSavingsPlansUtilizationDetailsOutcomeCallable; 168 typedef std::future<GetTagsOutcome> GetTagsOutcomeCallable; 169 typedef std::future<GetUsageForecastOutcome> GetUsageForecastOutcomeCallable; 170 typedef std::future<ListCostCategoryDefinitionsOutcome> ListCostCategoryDefinitionsOutcomeCallable; 171 typedef std::future<ProvideAnomalyFeedbackOutcome> ProvideAnomalyFeedbackOutcomeCallable; 172 typedef std::future<UpdateAnomalyMonitorOutcome> UpdateAnomalyMonitorOutcomeCallable; 173 typedef std::future<UpdateAnomalySubscriptionOutcome> UpdateAnomalySubscriptionOutcomeCallable; 174 typedef std::future<UpdateCostCategoryDefinitionOutcome> UpdateCostCategoryDefinitionOutcomeCallable; 175 } // namespace Model 176 177 class CostExplorerClient; 178 179 typedef std::function<void(const CostExplorerClient*, const Model::CreateAnomalyMonitorRequest&, const Model::CreateAnomalyMonitorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateAnomalyMonitorResponseReceivedHandler; 180 typedef std::function<void(const CostExplorerClient*, const Model::CreateAnomalySubscriptionRequest&, const Model::CreateAnomalySubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateAnomalySubscriptionResponseReceivedHandler; 181 typedef std::function<void(const CostExplorerClient*, const Model::CreateCostCategoryDefinitionRequest&, const Model::CreateCostCategoryDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateCostCategoryDefinitionResponseReceivedHandler; 182 typedef std::function<void(const CostExplorerClient*, const Model::DeleteAnomalyMonitorRequest&, const Model::DeleteAnomalyMonitorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteAnomalyMonitorResponseReceivedHandler; 183 typedef std::function<void(const CostExplorerClient*, const Model::DeleteAnomalySubscriptionRequest&, const Model::DeleteAnomalySubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteAnomalySubscriptionResponseReceivedHandler; 184 typedef std::function<void(const CostExplorerClient*, const Model::DeleteCostCategoryDefinitionRequest&, const Model::DeleteCostCategoryDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteCostCategoryDefinitionResponseReceivedHandler; 185 typedef std::function<void(const CostExplorerClient*, const Model::DescribeCostCategoryDefinitionRequest&, const Model::DescribeCostCategoryDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeCostCategoryDefinitionResponseReceivedHandler; 186 typedef std::function<void(const CostExplorerClient*, const Model::GetAnomaliesRequest&, const Model::GetAnomaliesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAnomaliesResponseReceivedHandler; 187 typedef std::function<void(const CostExplorerClient*, const Model::GetAnomalyMonitorsRequest&, const Model::GetAnomalyMonitorsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAnomalyMonitorsResponseReceivedHandler; 188 typedef std::function<void(const CostExplorerClient*, const Model::GetAnomalySubscriptionsRequest&, const Model::GetAnomalySubscriptionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetAnomalySubscriptionsResponseReceivedHandler; 189 typedef std::function<void(const CostExplorerClient*, const Model::GetCostAndUsageRequest&, const Model::GetCostAndUsageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCostAndUsageResponseReceivedHandler; 190 typedef std::function<void(const CostExplorerClient*, const Model::GetCostAndUsageWithResourcesRequest&, const Model::GetCostAndUsageWithResourcesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCostAndUsageWithResourcesResponseReceivedHandler; 191 typedef std::function<void(const CostExplorerClient*, const Model::GetCostCategoriesRequest&, const Model::GetCostCategoriesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCostCategoriesResponseReceivedHandler; 192 typedef std::function<void(const CostExplorerClient*, const Model::GetCostForecastRequest&, const Model::GetCostForecastOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetCostForecastResponseReceivedHandler; 193 typedef std::function<void(const CostExplorerClient*, const Model::GetDimensionValuesRequest&, const Model::GetDimensionValuesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetDimensionValuesResponseReceivedHandler; 194 typedef std::function<void(const CostExplorerClient*, const Model::GetReservationCoverageRequest&, const Model::GetReservationCoverageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetReservationCoverageResponseReceivedHandler; 195 typedef std::function<void(const CostExplorerClient*, const Model::GetReservationPurchaseRecommendationRequest&, const Model::GetReservationPurchaseRecommendationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetReservationPurchaseRecommendationResponseReceivedHandler; 196 typedef std::function<void(const CostExplorerClient*, const Model::GetReservationUtilizationRequest&, const Model::GetReservationUtilizationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetReservationUtilizationResponseReceivedHandler; 197 typedef std::function<void(const CostExplorerClient*, const Model::GetRightsizingRecommendationRequest&, const Model::GetRightsizingRecommendationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetRightsizingRecommendationResponseReceivedHandler; 198 typedef std::function<void(const CostExplorerClient*, const Model::GetSavingsPlansCoverageRequest&, const Model::GetSavingsPlansCoverageOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSavingsPlansCoverageResponseReceivedHandler; 199 typedef std::function<void(const CostExplorerClient*, const Model::GetSavingsPlansPurchaseRecommendationRequest&, const Model::GetSavingsPlansPurchaseRecommendationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSavingsPlansPurchaseRecommendationResponseReceivedHandler; 200 typedef std::function<void(const CostExplorerClient*, const Model::GetSavingsPlansUtilizationRequest&, const Model::GetSavingsPlansUtilizationOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSavingsPlansUtilizationResponseReceivedHandler; 201 typedef std::function<void(const CostExplorerClient*, const Model::GetSavingsPlansUtilizationDetailsRequest&, const Model::GetSavingsPlansUtilizationDetailsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetSavingsPlansUtilizationDetailsResponseReceivedHandler; 202 typedef std::function<void(const CostExplorerClient*, const Model::GetTagsRequest&, const Model::GetTagsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetTagsResponseReceivedHandler; 203 typedef std::function<void(const CostExplorerClient*, const Model::GetUsageForecastRequest&, const Model::GetUsageForecastOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetUsageForecastResponseReceivedHandler; 204 typedef std::function<void(const CostExplorerClient*, const Model::ListCostCategoryDefinitionsRequest&, const Model::ListCostCategoryDefinitionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListCostCategoryDefinitionsResponseReceivedHandler; 205 typedef std::function<void(const CostExplorerClient*, const Model::ProvideAnomalyFeedbackRequest&, const Model::ProvideAnomalyFeedbackOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ProvideAnomalyFeedbackResponseReceivedHandler; 206 typedef std::function<void(const CostExplorerClient*, const Model::UpdateAnomalyMonitorRequest&, const Model::UpdateAnomalyMonitorOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAnomalyMonitorResponseReceivedHandler; 207 typedef std::function<void(const CostExplorerClient*, const Model::UpdateAnomalySubscriptionRequest&, const Model::UpdateAnomalySubscriptionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateAnomalySubscriptionResponseReceivedHandler; 208 typedef std::function<void(const CostExplorerClient*, const Model::UpdateCostCategoryDefinitionRequest&, const Model::UpdateCostCategoryDefinitionOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateCostCategoryDefinitionResponseReceivedHandler; 209 210 /** 211 * <p>You can use the Cost Explorer API to programmatically query your cost and 212 * usage data. You can query for aggregated data such as total monthly costs or 213 * total daily usage. You can also query for granular data. This might include the 214 * number of daily write operations for Amazon DynamoDB database tables in your 215 * production environment. </p> <p>Service Endpoint</p> <p>The Cost Explorer API 216 * provides the following endpoint:</p> <ul> <li> <p> 217 * <code>https://ce.us-east-1.amazonaws.com</code> </p> </li> </ul> <p>For 218 * information about the costs that are associated with the Cost Explorer API, see 219 * <a href="http://aws.amazon.com/aws-cost-management/pricing/">Amazon Web Services 220 * Cost Management Pricing</a>.</p> 221 */ 222 class AWS_COSTEXPLORER_API CostExplorerClient : public Aws::Client::AWSJsonClient 223 { 224 public: 225 typedef Aws::Client::AWSJsonClient BASECLASS; 226 227 /** 228 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 229 * is not specified, it will be initialized to default values. 230 */ 231 CostExplorerClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 232 233 /** 234 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 235 * is not specified, it will be initialized to default values. 236 */ 237 CostExplorerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 238 239 /** 240 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 241 * the default http client factory will be used 242 */ 243 CostExplorerClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 244 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 245 246 virtual ~CostExplorerClient(); 247 248 249 /** 250 * <p>Creates a new cost anomaly detection monitor with the requested type and 251 * monitor specification. </p><p><h3>See Also:</h3> <a 252 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor">AWS 253 * API Reference</a></p> 254 */ 255 virtual Model::CreateAnomalyMonitorOutcome CreateAnomalyMonitor(const Model::CreateAnomalyMonitorRequest& request) const; 256 257 /** 258 * <p>Creates a new cost anomaly detection monitor with the requested type and 259 * monitor specification. </p><p><h3>See Also:</h3> <a 260 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor">AWS 261 * API Reference</a></p> 262 * 263 * returns a future to the operation so that it can be executed in parallel to other requests. 264 */ 265 virtual Model::CreateAnomalyMonitorOutcomeCallable CreateAnomalyMonitorCallable(const Model::CreateAnomalyMonitorRequest& request) const; 266 267 /** 268 * <p>Creates a new cost anomaly detection monitor with the requested type and 269 * monitor specification. </p><p><h3>See Also:</h3> <a 270 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitor">AWS 271 * API Reference</a></p> 272 * 273 * Queues the request into a thread executor and triggers associated callback when operation has finished. 274 */ 275 virtual void CreateAnomalyMonitorAsync(const Model::CreateAnomalyMonitorRequest& request, const CreateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 276 277 /** 278 * <p>Adds a subscription to a cost anomaly detection monitor. You can use each 279 * subscription to define subscribers with email or SNS notifications. Email 280 * subscribers can set a dollar threshold and a time frequency for receiving 281 * notifications. </p><p><h3>See Also:</h3> <a 282 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription">AWS 283 * API Reference</a></p> 284 */ 285 virtual Model::CreateAnomalySubscriptionOutcome CreateAnomalySubscription(const Model::CreateAnomalySubscriptionRequest& request) const; 286 287 /** 288 * <p>Adds a subscription to a cost anomaly detection monitor. You can use each 289 * subscription to define subscribers with email or SNS notifications. Email 290 * subscribers can set a dollar threshold and a time frequency for receiving 291 * notifications. </p><p><h3>See Also:</h3> <a 292 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription">AWS 293 * API Reference</a></p> 294 * 295 * returns a future to the operation so that it can be executed in parallel to other requests. 296 */ 297 virtual Model::CreateAnomalySubscriptionOutcomeCallable CreateAnomalySubscriptionCallable(const Model::CreateAnomalySubscriptionRequest& request) const; 298 299 /** 300 * <p>Adds a subscription to a cost anomaly detection monitor. You can use each 301 * subscription to define subscribers with email or SNS notifications. Email 302 * subscribers can set a dollar threshold and a time frequency for receiving 303 * notifications. </p><p><h3>See Also:</h3> <a 304 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscription">AWS 305 * API Reference</a></p> 306 * 307 * Queues the request into a thread executor and triggers associated callback when operation has finished. 308 */ 309 virtual void CreateAnomalySubscriptionAsync(const Model::CreateAnomalySubscriptionRequest& request, const CreateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 310 311 /** 312 * <p>Creates a new Cost Category with the requested name and rules.</p><p><h3>See 313 * Also:</h3> <a 314 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition">AWS 315 * API Reference</a></p> 316 */ 317 virtual Model::CreateCostCategoryDefinitionOutcome CreateCostCategoryDefinition(const Model::CreateCostCategoryDefinitionRequest& request) const; 318 319 /** 320 * <p>Creates a new Cost Category with the requested name and rules.</p><p><h3>See 321 * Also:</h3> <a 322 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition">AWS 323 * API Reference</a></p> 324 * 325 * returns a future to the operation so that it can be executed in parallel to other requests. 326 */ 327 virtual Model::CreateCostCategoryDefinitionOutcomeCallable CreateCostCategoryDefinitionCallable(const Model::CreateCostCategoryDefinitionRequest& request) const; 328 329 /** 330 * <p>Creates a new Cost Category with the requested name and rules.</p><p><h3>See 331 * Also:</h3> <a 332 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateCostCategoryDefinition">AWS 333 * API Reference</a></p> 334 * 335 * Queues the request into a thread executor and triggers associated callback when operation has finished. 336 */ 337 virtual void CreateCostCategoryDefinitionAsync(const Model::CreateCostCategoryDefinitionRequest& request, const CreateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 338 339 /** 340 * <p>Deletes a cost anomaly monitor. </p><p><h3>See Also:</h3> <a 341 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor">AWS 342 * API Reference</a></p> 343 */ 344 virtual Model::DeleteAnomalyMonitorOutcome DeleteAnomalyMonitor(const Model::DeleteAnomalyMonitorRequest& request) const; 345 346 /** 347 * <p>Deletes a cost anomaly monitor. </p><p><h3>See Also:</h3> <a 348 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor">AWS 349 * API Reference</a></p> 350 * 351 * returns a future to the operation so that it can be executed in parallel to other requests. 352 */ 353 virtual Model::DeleteAnomalyMonitorOutcomeCallable DeleteAnomalyMonitorCallable(const Model::DeleteAnomalyMonitorRequest& request) const; 354 355 /** 356 * <p>Deletes a cost anomaly monitor. </p><p><h3>See Also:</h3> <a 357 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitor">AWS 358 * API Reference</a></p> 359 * 360 * Queues the request into a thread executor and triggers associated callback when operation has finished. 361 */ 362 virtual void DeleteAnomalyMonitorAsync(const Model::DeleteAnomalyMonitorRequest& request, const DeleteAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 363 364 /** 365 * <p>Deletes a cost anomaly subscription. </p><p><h3>See Also:</h3> <a 366 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription">AWS 367 * API Reference</a></p> 368 */ 369 virtual Model::DeleteAnomalySubscriptionOutcome DeleteAnomalySubscription(const Model::DeleteAnomalySubscriptionRequest& request) const; 370 371 /** 372 * <p>Deletes a cost anomaly subscription. </p><p><h3>See Also:</h3> <a 373 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription">AWS 374 * API Reference</a></p> 375 * 376 * returns a future to the operation so that it can be executed in parallel to other requests. 377 */ 378 virtual Model::DeleteAnomalySubscriptionOutcomeCallable DeleteAnomalySubscriptionCallable(const Model::DeleteAnomalySubscriptionRequest& request) const; 379 380 /** 381 * <p>Deletes a cost anomaly subscription. </p><p><h3>See Also:</h3> <a 382 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscription">AWS 383 * API Reference</a></p> 384 * 385 * Queues the request into a thread executor and triggers associated callback when operation has finished. 386 */ 387 virtual void DeleteAnomalySubscriptionAsync(const Model::DeleteAnomalySubscriptionRequest& request, const DeleteAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 388 389 /** 390 * <p>Deletes a Cost Category. Expenses from this month going forward will no 391 * longer be categorized with this Cost Category.</p><p><h3>See Also:</h3> <a 392 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition">AWS 393 * API Reference</a></p> 394 */ 395 virtual Model::DeleteCostCategoryDefinitionOutcome DeleteCostCategoryDefinition(const Model::DeleteCostCategoryDefinitionRequest& request) const; 396 397 /** 398 * <p>Deletes a Cost Category. Expenses from this month going forward will no 399 * longer be categorized with this Cost Category.</p><p><h3>See Also:</h3> <a 400 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition">AWS 401 * API Reference</a></p> 402 * 403 * returns a future to the operation so that it can be executed in parallel to other requests. 404 */ 405 virtual Model::DeleteCostCategoryDefinitionOutcomeCallable DeleteCostCategoryDefinitionCallable(const Model::DeleteCostCategoryDefinitionRequest& request) const; 406 407 /** 408 * <p>Deletes a Cost Category. Expenses from this month going forward will no 409 * longer be categorized with this Cost Category.</p><p><h3>See Also:</h3> <a 410 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteCostCategoryDefinition">AWS 411 * API Reference</a></p> 412 * 413 * Queues the request into a thread executor and triggers associated callback when operation has finished. 414 */ 415 virtual void DeleteCostCategoryDefinitionAsync(const Model::DeleteCostCategoryDefinitionRequest& request, const DeleteCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 416 417 /** 418 * <p>Returns the name, ARN, rules, definition, and effective dates of a Cost 419 * Category that's defined in the account.</p> <p>You have the option to use 420 * <code>EffectiveOn</code> to return a Cost Category that is active on a specific 421 * date. If there is no <code>EffectiveOn</code> specified, you’ll see a Cost 422 * Category that is effective on the current date. If Cost Category is still 423 * effective, <code>EffectiveEnd</code> is omitted in the response. </p><p><h3>See 424 * Also:</h3> <a 425 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition">AWS 426 * API Reference</a></p> 427 */ 428 virtual Model::DescribeCostCategoryDefinitionOutcome DescribeCostCategoryDefinition(const Model::DescribeCostCategoryDefinitionRequest& request) const; 429 430 /** 431 * <p>Returns the name, ARN, rules, definition, and effective dates of a Cost 432 * Category that's defined in the account.</p> <p>You have the option to use 433 * <code>EffectiveOn</code> to return a Cost Category that is active on a specific 434 * date. If there is no <code>EffectiveOn</code> specified, you’ll see a Cost 435 * Category that is effective on the current date. If Cost Category is still 436 * effective, <code>EffectiveEnd</code> is omitted in the response. </p><p><h3>See 437 * Also:</h3> <a 438 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition">AWS 439 * API Reference</a></p> 440 * 441 * returns a future to the operation so that it can be executed in parallel to other requests. 442 */ 443 virtual Model::DescribeCostCategoryDefinitionOutcomeCallable DescribeCostCategoryDefinitionCallable(const Model::DescribeCostCategoryDefinitionRequest& request) const; 444 445 /** 446 * <p>Returns the name, ARN, rules, definition, and effective dates of a Cost 447 * Category that's defined in the account.</p> <p>You have the option to use 448 * <code>EffectiveOn</code> to return a Cost Category that is active on a specific 449 * date. If there is no <code>EffectiveOn</code> specified, you’ll see a Cost 450 * Category that is effective on the current date. If Cost Category is still 451 * effective, <code>EffectiveEnd</code> is omitted in the response. </p><p><h3>See 452 * Also:</h3> <a 453 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DescribeCostCategoryDefinition">AWS 454 * API Reference</a></p> 455 * 456 * Queues the request into a thread executor and triggers associated callback when operation has finished. 457 */ 458 virtual void DescribeCostCategoryDefinitionAsync(const Model::DescribeCostCategoryDefinitionRequest& request, const DescribeCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 459 460 /** 461 * <p>Retrieves all of the cost anomalies detected on your account during the time 462 * period that's specified by the <code>DateInterval</code> object. </p><p><h3>See 463 * Also:</h3> <a 464 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies">AWS API 465 * Reference</a></p> 466 */ 467 virtual Model::GetAnomaliesOutcome GetAnomalies(const Model::GetAnomaliesRequest& request) const; 468 469 /** 470 * <p>Retrieves all of the cost anomalies detected on your account during the time 471 * period that's specified by the <code>DateInterval</code> object. </p><p><h3>See 472 * Also:</h3> <a 473 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies">AWS API 474 * Reference</a></p> 475 * 476 * returns a future to the operation so that it can be executed in parallel to other requests. 477 */ 478 virtual Model::GetAnomaliesOutcomeCallable GetAnomaliesCallable(const Model::GetAnomaliesRequest& request) const; 479 480 /** 481 * <p>Retrieves all of the cost anomalies detected on your account during the time 482 * period that's specified by the <code>DateInterval</code> object. </p><p><h3>See 483 * Also:</h3> <a 484 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalies">AWS API 485 * Reference</a></p> 486 * 487 * Queues the request into a thread executor and triggers associated callback when operation has finished. 488 */ 489 virtual void GetAnomaliesAsync(const Model::GetAnomaliesRequest& request, const GetAnomaliesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 490 491 /** 492 * <p>Retrieves the cost anomaly monitor definitions for your account. You can 493 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 494 * </p><p><h3>See Also:</h3> <a 495 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors">AWS 496 * API Reference</a></p> 497 */ 498 virtual Model::GetAnomalyMonitorsOutcome GetAnomalyMonitors(const Model::GetAnomalyMonitorsRequest& request) const; 499 500 /** 501 * <p>Retrieves the cost anomaly monitor definitions for your account. You can 502 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 503 * </p><p><h3>See Also:</h3> <a 504 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors">AWS 505 * API Reference</a></p> 506 * 507 * returns a future to the operation so that it can be executed in parallel to other requests. 508 */ 509 virtual Model::GetAnomalyMonitorsOutcomeCallable GetAnomalyMonitorsCallable(const Model::GetAnomalyMonitorsRequest& request) const; 510 511 /** 512 * <p>Retrieves the cost anomaly monitor definitions for your account. You can 513 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 514 * </p><p><h3>See Also:</h3> <a 515 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitors">AWS 516 * API Reference</a></p> 517 * 518 * Queues the request into a thread executor and triggers associated callback when operation has finished. 519 */ 520 virtual void GetAnomalyMonitorsAsync(const Model::GetAnomalyMonitorsRequest& request, const GetAnomalyMonitorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 521 522 /** 523 * <p>Retrieves the cost anomaly subscription objects for your account. You can 524 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 525 * </p><p><h3>See Also:</h3> <a 526 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions">AWS 527 * API Reference</a></p> 528 */ 529 virtual Model::GetAnomalySubscriptionsOutcome GetAnomalySubscriptions(const Model::GetAnomalySubscriptionsRequest& request) const; 530 531 /** 532 * <p>Retrieves the cost anomaly subscription objects for your account. You can 533 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 534 * </p><p><h3>See Also:</h3> <a 535 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions">AWS 536 * API Reference</a></p> 537 * 538 * returns a future to the operation so that it can be executed in parallel to other requests. 539 */ 540 virtual Model::GetAnomalySubscriptionsOutcomeCallable GetAnomalySubscriptionsCallable(const Model::GetAnomalySubscriptionsRequest& request) const; 541 542 /** 543 * <p>Retrieves the cost anomaly subscription objects for your account. You can 544 * filter using a list of cost anomaly monitor Amazon Resource Names (ARNs). 545 * </p><p><h3>See Also:</h3> <a 546 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptions">AWS 547 * API Reference</a></p> 548 * 549 * Queues the request into a thread executor and triggers associated callback when operation has finished. 550 */ 551 virtual void GetAnomalySubscriptionsAsync(const Model::GetAnomalySubscriptionsRequest& request, const GetAnomalySubscriptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 552 553 /** 554 * <p>Retrieves cost and usage metrics for your account. You can specify which cost 555 * and usage-related metric that you want the request to return. For example, you 556 * can specify <code>BlendedCosts</code> or <code>UsageQuantity</code>. You can 557 * also filter and group your data by various dimensions, such as 558 * <code>SERVICE</code> or <code>AZ</code>, in a specific time range. For a 559 * complete list of valid dimensions, see the <a 560 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 561 * operation. Management account in an organization in Organizations have access to 562 * all member accounts.</p> <p>For information about filter limitations, see <a 563 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-limits.html">Quotas 564 * and restrictions</a> in the <i>Billing and Cost Management User 565 * Guide</i>.</p><p><h3>See Also:</h3> <a 566 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage">AWS 567 * API Reference</a></p> 568 */ 569 virtual Model::GetCostAndUsageOutcome GetCostAndUsage(const Model::GetCostAndUsageRequest& request) const; 570 571 /** 572 * <p>Retrieves cost and usage metrics for your account. You can specify which cost 573 * and usage-related metric that you want the request to return. For example, you 574 * can specify <code>BlendedCosts</code> or <code>UsageQuantity</code>. You can 575 * also filter and group your data by various dimensions, such as 576 * <code>SERVICE</code> or <code>AZ</code>, in a specific time range. For a 577 * complete list of valid dimensions, see the <a 578 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 579 * operation. Management account in an organization in Organizations have access to 580 * all member accounts.</p> <p>For information about filter limitations, see <a 581 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-limits.html">Quotas 582 * and restrictions</a> in the <i>Billing and Cost Management User 583 * Guide</i>.</p><p><h3>See Also:</h3> <a 584 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage">AWS 585 * API Reference</a></p> 586 * 587 * returns a future to the operation so that it can be executed in parallel to other requests. 588 */ 589 virtual Model::GetCostAndUsageOutcomeCallable GetCostAndUsageCallable(const Model::GetCostAndUsageRequest& request) const; 590 591 /** 592 * <p>Retrieves cost and usage metrics for your account. You can specify which cost 593 * and usage-related metric that you want the request to return. For example, you 594 * can specify <code>BlendedCosts</code> or <code>UsageQuantity</code>. You can 595 * also filter and group your data by various dimensions, such as 596 * <code>SERVICE</code> or <code>AZ</code>, in a specific time range. For a 597 * complete list of valid dimensions, see the <a 598 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 599 * operation. Management account in an organization in Organizations have access to 600 * all member accounts.</p> <p>For information about filter limitations, see <a 601 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-limits.html">Quotas 602 * and restrictions</a> in the <i>Billing and Cost Management User 603 * Guide</i>.</p><p><h3>See Also:</h3> <a 604 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsage">AWS 605 * API Reference</a></p> 606 * 607 * Queues the request into a thread executor and triggers associated callback when operation has finished. 608 */ 609 virtual void GetCostAndUsageAsync(const Model::GetCostAndUsageRequest& request, const GetCostAndUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 610 611 /** 612 * <p>Retrieves cost and usage metrics with resources for your account. You can 613 * specify which cost and usage-related metric, such as <code>BlendedCosts</code> 614 * or <code>UsageQuantity</code>, that you want the request to return. You can also 615 * filter and group your data by various dimensions, such as <code>SERVICE</code> 616 * or <code>AZ</code>, in a specific time range. For a complete list of valid 617 * dimensions, see the <a 618 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 619 * operation. Management account in an organization in Organizations have access to 620 * all member accounts. This API is currently available for the Amazon Elastic 621 * Compute Cloud – Compute service only.</p> <p>This is an opt-in only 622 * feature. You can enable this feature from the Cost Explorer Settings page. For 623 * information on how to access the Settings page, see <a 624 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-access.html">Controlling 625 * Access for Cost Explorer</a> in the <i>Billing and Cost Management User 626 * Guide</i>.</p> <p><h3>See Also:</h3> <a 627 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources">AWS 628 * API Reference</a></p> 629 */ 630 virtual Model::GetCostAndUsageWithResourcesOutcome GetCostAndUsageWithResources(const Model::GetCostAndUsageWithResourcesRequest& request) const; 631 632 /** 633 * <p>Retrieves cost and usage metrics with resources for your account. You can 634 * specify which cost and usage-related metric, such as <code>BlendedCosts</code> 635 * or <code>UsageQuantity</code>, that you want the request to return. You can also 636 * filter and group your data by various dimensions, such as <code>SERVICE</code> 637 * or <code>AZ</code>, in a specific time range. For a complete list of valid 638 * dimensions, see the <a 639 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 640 * operation. Management account in an organization in Organizations have access to 641 * all member accounts. This API is currently available for the Amazon Elastic 642 * Compute Cloud – Compute service only.</p> <p>This is an opt-in only 643 * feature. You can enable this feature from the Cost Explorer Settings page. For 644 * information on how to access the Settings page, see <a 645 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-access.html">Controlling 646 * Access for Cost Explorer</a> in the <i>Billing and Cost Management User 647 * Guide</i>.</p> <p><h3>See Also:</h3> <a 648 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources">AWS 649 * API Reference</a></p> 650 * 651 * returns a future to the operation so that it can be executed in parallel to other requests. 652 */ 653 virtual Model::GetCostAndUsageWithResourcesOutcomeCallable GetCostAndUsageWithResourcesCallable(const Model::GetCostAndUsageWithResourcesRequest& request) const; 654 655 /** 656 * <p>Retrieves cost and usage metrics with resources for your account. You can 657 * specify which cost and usage-related metric, such as <code>BlendedCosts</code> 658 * or <code>UsageQuantity</code>, that you want the request to return. You can also 659 * filter and group your data by various dimensions, such as <code>SERVICE</code> 660 * or <code>AZ</code>, in a specific time range. For a complete list of valid 661 * dimensions, see the <a 662 * href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html">GetDimensionValues</a> 663 * operation. Management account in an organization in Organizations have access to 664 * all member accounts. This API is currently available for the Amazon Elastic 665 * Compute Cloud – Compute service only.</p> <p>This is an opt-in only 666 * feature. You can enable this feature from the Cost Explorer Settings page. For 667 * information on how to access the Settings page, see <a 668 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-access.html">Controlling 669 * Access for Cost Explorer</a> in the <i>Billing and Cost Management User 670 * Guide</i>.</p> <p><h3>See Also:</h3> <a 671 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostAndUsageWithResources">AWS 672 * API Reference</a></p> 673 * 674 * Queues the request into a thread executor and triggers associated callback when operation has finished. 675 */ 676 virtual void GetCostAndUsageWithResourcesAsync(const Model::GetCostAndUsageWithResourcesRequest& request, const GetCostAndUsageWithResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 677 678 /** 679 * <p>Retrieves an array of Cost Category names and values incurred cost.</p> 680 * <p>If some Cost Category names and values are not associated with any 681 * cost, they will not be returned by this API.</p> <p><h3>See Also:</h3> 682 * <a 683 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories">AWS 684 * API Reference</a></p> 685 */ 686 virtual Model::GetCostCategoriesOutcome GetCostCategories(const Model::GetCostCategoriesRequest& request) const; 687 688 /** 689 * <p>Retrieves an array of Cost Category names and values incurred cost.</p> 690 * <p>If some Cost Category names and values are not associated with any 691 * cost, they will not be returned by this API.</p> <p><h3>See Also:</h3> 692 * <a 693 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories">AWS 694 * API Reference</a></p> 695 * 696 * returns a future to the operation so that it can be executed in parallel to other requests. 697 */ 698 virtual Model::GetCostCategoriesOutcomeCallable GetCostCategoriesCallable(const Model::GetCostCategoriesRequest& request) const; 699 700 /** 701 * <p>Retrieves an array of Cost Category names and values incurred cost.</p> 702 * <p>If some Cost Category names and values are not associated with any 703 * cost, they will not be returned by this API.</p> <p><h3>See Also:</h3> 704 * <a 705 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostCategories">AWS 706 * API Reference</a></p> 707 * 708 * Queues the request into a thread executor and triggers associated callback when operation has finished. 709 */ 710 virtual void GetCostCategoriesAsync(const Model::GetCostCategoriesRequest& request, const GetCostCategoriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 711 712 /** 713 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 714 * spend over the forecast time period that you select, based on your past costs. 715 * </p><p><h3>See Also:</h3> <a 716 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast">AWS 717 * API Reference</a></p> 718 */ 719 virtual Model::GetCostForecastOutcome GetCostForecast(const Model::GetCostForecastRequest& request) const; 720 721 /** 722 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 723 * spend over the forecast time period that you select, based on your past costs. 724 * </p><p><h3>See Also:</h3> <a 725 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast">AWS 726 * API Reference</a></p> 727 * 728 * returns a future to the operation so that it can be executed in parallel to other requests. 729 */ 730 virtual Model::GetCostForecastOutcomeCallable GetCostForecastCallable(const Model::GetCostForecastRequest& request) const; 731 732 /** 733 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 734 * spend over the forecast time period that you select, based on your past costs. 735 * </p><p><h3>See Also:</h3> <a 736 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCostForecast">AWS 737 * API Reference</a></p> 738 * 739 * Queues the request into a thread executor and triggers associated callback when operation has finished. 740 */ 741 virtual void GetCostForecastAsync(const Model::GetCostForecastRequest& request, const GetCostForecastResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 742 743 /** 744 * <p>Retrieves all available filter values for a specified filter over a period of 745 * time. You can search the dimension values for an arbitrary string. 746 * </p><p><h3>See Also:</h3> <a 747 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues">AWS 748 * API Reference</a></p> 749 */ 750 virtual Model::GetDimensionValuesOutcome GetDimensionValues(const Model::GetDimensionValuesRequest& request) const; 751 752 /** 753 * <p>Retrieves all available filter values for a specified filter over a period of 754 * time. You can search the dimension values for an arbitrary string. 755 * </p><p><h3>See Also:</h3> <a 756 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues">AWS 757 * API Reference</a></p> 758 * 759 * returns a future to the operation so that it can be executed in parallel to other requests. 760 */ 761 virtual Model::GetDimensionValuesOutcomeCallable GetDimensionValuesCallable(const Model::GetDimensionValuesRequest& request) const; 762 763 /** 764 * <p>Retrieves all available filter values for a specified filter over a period of 765 * time. You can search the dimension values for an arbitrary string. 766 * </p><p><h3>See Also:</h3> <a 767 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetDimensionValues">AWS 768 * API Reference</a></p> 769 * 770 * Queues the request into a thread executor and triggers associated callback when operation has finished. 771 */ 772 virtual void GetDimensionValuesAsync(const Model::GetDimensionValuesRequest& request, const GetDimensionValuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 773 774 /** 775 * <p>Retrieves the reservation coverage for your account. This enables you to see 776 * how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon 777 * Relational Database Service, or Amazon Redshift usage is covered by a 778 * reservation. An organization's management account can see the coverage of the 779 * associated member accounts. This supports dimensions, Cost Categories, and 780 * nested expressions. For any time period, you can filter data about reservation 781 * usage by the following dimensions:</p> <ul> <li> <p>AZ</p> </li> <li> 782 * <p>CACHE_ENGINE</p> </li> <li> <p>DATABASE_ENGINE</p> </li> <li> 783 * <p>DEPLOYMENT_OPTION</p> </li> <li> <p>INSTANCE_TYPE</p> </li> <li> 784 * <p>LINKED_ACCOUNT</p> </li> <li> <p>OPERATING_SYSTEM</p> </li> <li> 785 * <p>PLATFORM</p> </li> <li> <p>REGION</p> </li> <li> <p>SERVICE</p> </li> <li> 786 * <p>TAG</p> </li> <li> <p>TENANCY</p> </li> </ul> <p>To determine valid values 787 * for a dimension, use the <code>GetDimensionValues</code> operation. 788 * </p><p><h3>See Also:</h3> <a 789 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage">AWS 790 * API Reference</a></p> 791 */ 792 virtual Model::GetReservationCoverageOutcome GetReservationCoverage(const Model::GetReservationCoverageRequest& request) const; 793 794 /** 795 * <p>Retrieves the reservation coverage for your account. This enables you to see 796 * how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon 797 * Relational Database Service, or Amazon Redshift usage is covered by a 798 * reservation. An organization's management account can see the coverage of the 799 * associated member accounts. This supports dimensions, Cost Categories, and 800 * nested expressions. For any time period, you can filter data about reservation 801 * usage by the following dimensions:</p> <ul> <li> <p>AZ</p> </li> <li> 802 * <p>CACHE_ENGINE</p> </li> <li> <p>DATABASE_ENGINE</p> </li> <li> 803 * <p>DEPLOYMENT_OPTION</p> </li> <li> <p>INSTANCE_TYPE</p> </li> <li> 804 * <p>LINKED_ACCOUNT</p> </li> <li> <p>OPERATING_SYSTEM</p> </li> <li> 805 * <p>PLATFORM</p> </li> <li> <p>REGION</p> </li> <li> <p>SERVICE</p> </li> <li> 806 * <p>TAG</p> </li> <li> <p>TENANCY</p> </li> </ul> <p>To determine valid values 807 * for a dimension, use the <code>GetDimensionValues</code> operation. 808 * </p><p><h3>See Also:</h3> <a 809 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage">AWS 810 * API Reference</a></p> 811 * 812 * returns a future to the operation so that it can be executed in parallel to other requests. 813 */ 814 virtual Model::GetReservationCoverageOutcomeCallable GetReservationCoverageCallable(const Model::GetReservationCoverageRequest& request) const; 815 816 /** 817 * <p>Retrieves the reservation coverage for your account. This enables you to see 818 * how much of your Amazon Elastic Compute Cloud, Amazon ElastiCache, Amazon 819 * Relational Database Service, or Amazon Redshift usage is covered by a 820 * reservation. An organization's management account can see the coverage of the 821 * associated member accounts. This supports dimensions, Cost Categories, and 822 * nested expressions. For any time period, you can filter data about reservation 823 * usage by the following dimensions:</p> <ul> <li> <p>AZ</p> </li> <li> 824 * <p>CACHE_ENGINE</p> </li> <li> <p>DATABASE_ENGINE</p> </li> <li> 825 * <p>DEPLOYMENT_OPTION</p> </li> <li> <p>INSTANCE_TYPE</p> </li> <li> 826 * <p>LINKED_ACCOUNT</p> </li> <li> <p>OPERATING_SYSTEM</p> </li> <li> 827 * <p>PLATFORM</p> </li> <li> <p>REGION</p> </li> <li> <p>SERVICE</p> </li> <li> 828 * <p>TAG</p> </li> <li> <p>TENANCY</p> </li> </ul> <p>To determine valid values 829 * for a dimension, use the <code>GetDimensionValues</code> operation. 830 * </p><p><h3>See Also:</h3> <a 831 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationCoverage">AWS 832 * API Reference</a></p> 833 * 834 * Queues the request into a thread executor and triggers associated callback when operation has finished. 835 */ 836 virtual void GetReservationCoverageAsync(const Model::GetReservationCoverageRequest& request, const GetReservationCoverageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 837 838 /** 839 * <p>Gets recommendations for which reservations to purchase. These 840 * recommendations could help you reduce your costs. Reservations provide a 841 * discounted hourly rate (up to 75%) compared to On-Demand pricing.</p> <p>Amazon 842 * Web Services generates your recommendations by identifying your On-Demand usage 843 * during a specific time period and collecting your usage into categories that are 844 * eligible for a reservation. After Amazon Web Services has these categories, it 845 * simulates every combination of reservations in each category of usage to 846 * identify the best number of each type of RI to purchase to maximize your 847 * estimated savings. </p> <p>For example, Amazon Web Services automatically 848 * aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US 849 * West (Oregon) Region and recommends that you buy size-flexible regional 850 * reservations to apply to the c4 family usage. Amazon Web Services recommends the 851 * smallest size instance in an instance family. This makes it easier to purchase a 852 * size-flexible RI. Amazon Web Services also shows the equal number of normalized 853 * units so that you can purchase any instance size that you want. For this 854 * example, your RI recommendation would be for <code>c4.large</code> because that 855 * is the smallest size instance in the c4 instance family.</p><p><h3>See 856 * Also:</h3> <a 857 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation">AWS 858 * API Reference</a></p> 859 */ 860 virtual Model::GetReservationPurchaseRecommendationOutcome GetReservationPurchaseRecommendation(const Model::GetReservationPurchaseRecommendationRequest& request) const; 861 862 /** 863 * <p>Gets recommendations for which reservations to purchase. These 864 * recommendations could help you reduce your costs. Reservations provide a 865 * discounted hourly rate (up to 75%) compared to On-Demand pricing.</p> <p>Amazon 866 * Web Services generates your recommendations by identifying your On-Demand usage 867 * during a specific time period and collecting your usage into categories that are 868 * eligible for a reservation. After Amazon Web Services has these categories, it 869 * simulates every combination of reservations in each category of usage to 870 * identify the best number of each type of RI to purchase to maximize your 871 * estimated savings. </p> <p>For example, Amazon Web Services automatically 872 * aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US 873 * West (Oregon) Region and recommends that you buy size-flexible regional 874 * reservations to apply to the c4 family usage. Amazon Web Services recommends the 875 * smallest size instance in an instance family. This makes it easier to purchase a 876 * size-flexible RI. Amazon Web Services also shows the equal number of normalized 877 * units so that you can purchase any instance size that you want. For this 878 * example, your RI recommendation would be for <code>c4.large</code> because that 879 * is the smallest size instance in the c4 instance family.</p><p><h3>See 880 * Also:</h3> <a 881 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation">AWS 882 * API Reference</a></p> 883 * 884 * returns a future to the operation so that it can be executed in parallel to other requests. 885 */ 886 virtual Model::GetReservationPurchaseRecommendationOutcomeCallable GetReservationPurchaseRecommendationCallable(const Model::GetReservationPurchaseRecommendationRequest& request) const; 887 888 /** 889 * <p>Gets recommendations for which reservations to purchase. These 890 * recommendations could help you reduce your costs. Reservations provide a 891 * discounted hourly rate (up to 75%) compared to On-Demand pricing.</p> <p>Amazon 892 * Web Services generates your recommendations by identifying your On-Demand usage 893 * during a specific time period and collecting your usage into categories that are 894 * eligible for a reservation. After Amazon Web Services has these categories, it 895 * simulates every combination of reservations in each category of usage to 896 * identify the best number of each type of RI to purchase to maximize your 897 * estimated savings. </p> <p>For example, Amazon Web Services automatically 898 * aggregates your Amazon EC2 Linux, shared tenancy, and c4 family usage in the US 899 * West (Oregon) Region and recommends that you buy size-flexible regional 900 * reservations to apply to the c4 family usage. Amazon Web Services recommends the 901 * smallest size instance in an instance family. This makes it easier to purchase a 902 * size-flexible RI. Amazon Web Services also shows the equal number of normalized 903 * units so that you can purchase any instance size that you want. For this 904 * example, your RI recommendation would be for <code>c4.large</code> because that 905 * is the smallest size instance in the c4 instance family.</p><p><h3>See 906 * Also:</h3> <a 907 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationPurchaseRecommendation">AWS 908 * API Reference</a></p> 909 * 910 * Queues the request into a thread executor and triggers associated callback when operation has finished. 911 */ 912 virtual void GetReservationPurchaseRecommendationAsync(const Model::GetReservationPurchaseRecommendationRequest& request, const GetReservationPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 913 914 /** 915 * <p>Retrieves the reservation utilization for your account. Management account in 916 * an organization have access to member accounts. You can filter data by 917 * dimensions in a time period. You can use <code>GetDimensionValues</code> to 918 * determine the possible dimension values. Currently, you can group only by 919 * <code>SUBSCRIPTION_ID</code>. </p><p><h3>See Also:</h3> <a 920 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization">AWS 921 * API Reference</a></p> 922 */ 923 virtual Model::GetReservationUtilizationOutcome GetReservationUtilization(const Model::GetReservationUtilizationRequest& request) const; 924 925 /** 926 * <p>Retrieves the reservation utilization for your account. Management account in 927 * an organization have access to member accounts. You can filter data by 928 * dimensions in a time period. You can use <code>GetDimensionValues</code> to 929 * determine the possible dimension values. Currently, you can group only by 930 * <code>SUBSCRIPTION_ID</code>. </p><p><h3>See Also:</h3> <a 931 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization">AWS 932 * API Reference</a></p> 933 * 934 * returns a future to the operation so that it can be executed in parallel to other requests. 935 */ 936 virtual Model::GetReservationUtilizationOutcomeCallable GetReservationUtilizationCallable(const Model::GetReservationUtilizationRequest& request) const; 937 938 /** 939 * <p>Retrieves the reservation utilization for your account. Management account in 940 * an organization have access to member accounts. You can filter data by 941 * dimensions in a time period. You can use <code>GetDimensionValues</code> to 942 * determine the possible dimension values. Currently, you can group only by 943 * <code>SUBSCRIPTION_ID</code>. </p><p><h3>See Also:</h3> <a 944 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetReservationUtilization">AWS 945 * API Reference</a></p> 946 * 947 * Queues the request into a thread executor and triggers associated callback when operation has finished. 948 */ 949 virtual void GetReservationUtilizationAsync(const Model::GetReservationUtilizationRequest& request, const GetReservationUtilizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 950 951 /** 952 * <p>Creates recommendations that help you save cost by identifying idle and 953 * underutilized Amazon EC2 instances.</p> <p>Recommendations are generated to 954 * either downsize or terminate instances, along with providing savings detail and 955 * metrics. For details on calculation and function, see <a 956 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html">Optimizing 957 * Your Cost with Rightsizing Recommendations</a> in the <i>Billing and Cost 958 * Management User Guide</i>.</p><p><h3>See Also:</h3> <a 959 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation">AWS 960 * API Reference</a></p> 961 */ 962 virtual Model::GetRightsizingRecommendationOutcome GetRightsizingRecommendation(const Model::GetRightsizingRecommendationRequest& request) const; 963 964 /** 965 * <p>Creates recommendations that help you save cost by identifying idle and 966 * underutilized Amazon EC2 instances.</p> <p>Recommendations are generated to 967 * either downsize or terminate instances, along with providing savings detail and 968 * metrics. For details on calculation and function, see <a 969 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html">Optimizing 970 * Your Cost with Rightsizing Recommendations</a> in the <i>Billing and Cost 971 * Management User Guide</i>.</p><p><h3>See Also:</h3> <a 972 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation">AWS 973 * API Reference</a></p> 974 * 975 * returns a future to the operation so that it can be executed in parallel to other requests. 976 */ 977 virtual Model::GetRightsizingRecommendationOutcomeCallable GetRightsizingRecommendationCallable(const Model::GetRightsizingRecommendationRequest& request) const; 978 979 /** 980 * <p>Creates recommendations that help you save cost by identifying idle and 981 * underutilized Amazon EC2 instances.</p> <p>Recommendations are generated to 982 * either downsize or terminate instances, along with providing savings detail and 983 * metrics. For details on calculation and function, see <a 984 * href="https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-rightsizing.html">Optimizing 985 * Your Cost with Rightsizing Recommendations</a> in the <i>Billing and Cost 986 * Management User Guide</i>.</p><p><h3>See Also:</h3> <a 987 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendation">AWS 988 * API Reference</a></p> 989 * 990 * Queues the request into a thread executor and triggers associated callback when operation has finished. 991 */ 992 virtual void GetRightsizingRecommendationAsync(const Model::GetRightsizingRecommendationRequest& request, const GetRightsizingRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 993 994 /** 995 * <p>Retrieves the Savings Plans covered for your account. This enables you to see 996 * how much of your cost is covered by a Savings Plan. An organization’s management 997 * account can see the coverage of the associated member accounts. This supports 998 * dimensions, Cost Categories, and nested expressions. For any time period, you 999 * can filter data for Savings Plans usage with the following dimensions:</p> <ul> 1000 * <li> <p> <code>LINKED_ACCOUNT</code> </p> </li> <li> <p> <code>REGION</code> 1001 * </p> </li> <li> <p> <code>SERVICE</code> </p> </li> <li> <p> 1002 * <code>INSTANCE_FAMILY</code> </p> </li> </ul> <p>To determine valid values for a 1003 * dimension, use the <code>GetDimensionValues</code> operation.</p><p><h3>See 1004 * Also:</h3> <a 1005 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage">AWS 1006 * API Reference</a></p> 1007 */ 1008 virtual Model::GetSavingsPlansCoverageOutcome GetSavingsPlansCoverage(const Model::GetSavingsPlansCoverageRequest& request) const; 1009 1010 /** 1011 * <p>Retrieves the Savings Plans covered for your account. This enables you to see 1012 * how much of your cost is covered by a Savings Plan. An organization’s management 1013 * account can see the coverage of the associated member accounts. This supports 1014 * dimensions, Cost Categories, and nested expressions. For any time period, you 1015 * can filter data for Savings Plans usage with the following dimensions:</p> <ul> 1016 * <li> <p> <code>LINKED_ACCOUNT</code> </p> </li> <li> <p> <code>REGION</code> 1017 * </p> </li> <li> <p> <code>SERVICE</code> </p> </li> <li> <p> 1018 * <code>INSTANCE_FAMILY</code> </p> </li> </ul> <p>To determine valid values for a 1019 * dimension, use the <code>GetDimensionValues</code> operation.</p><p><h3>See 1020 * Also:</h3> <a 1021 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage">AWS 1022 * API Reference</a></p> 1023 * 1024 * returns a future to the operation so that it can be executed in parallel to other requests. 1025 */ 1026 virtual Model::GetSavingsPlansCoverageOutcomeCallable GetSavingsPlansCoverageCallable(const Model::GetSavingsPlansCoverageRequest& request) const; 1027 1028 /** 1029 * <p>Retrieves the Savings Plans covered for your account. This enables you to see 1030 * how much of your cost is covered by a Savings Plan. An organization’s management 1031 * account can see the coverage of the associated member accounts. This supports 1032 * dimensions, Cost Categories, and nested expressions. For any time period, you 1033 * can filter data for Savings Plans usage with the following dimensions:</p> <ul> 1034 * <li> <p> <code>LINKED_ACCOUNT</code> </p> </li> <li> <p> <code>REGION</code> 1035 * </p> </li> <li> <p> <code>SERVICE</code> </p> </li> <li> <p> 1036 * <code>INSTANCE_FAMILY</code> </p> </li> </ul> <p>To determine valid values for a 1037 * dimension, use the <code>GetDimensionValues</code> operation.</p><p><h3>See 1038 * Also:</h3> <a 1039 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansCoverage">AWS 1040 * API Reference</a></p> 1041 * 1042 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1043 */ 1044 virtual void GetSavingsPlansCoverageAsync(const Model::GetSavingsPlansCoverageRequest& request, const GetSavingsPlansCoverageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1045 1046 /** 1047 * <p>Retrieves your request parameters, Savings Plan Recommendations Summary and 1048 * Details. </p><p><h3>See Also:</h3> <a 1049 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation">AWS 1050 * API Reference</a></p> 1051 */ 1052 virtual Model::GetSavingsPlansPurchaseRecommendationOutcome GetSavingsPlansPurchaseRecommendation(const Model::GetSavingsPlansPurchaseRecommendationRequest& request) const; 1053 1054 /** 1055 * <p>Retrieves your request parameters, Savings Plan Recommendations Summary and 1056 * Details. </p><p><h3>See Also:</h3> <a 1057 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation">AWS 1058 * API Reference</a></p> 1059 * 1060 * returns a future to the operation so that it can be executed in parallel to other requests. 1061 */ 1062 virtual Model::GetSavingsPlansPurchaseRecommendationOutcomeCallable GetSavingsPlansPurchaseRecommendationCallable(const Model::GetSavingsPlansPurchaseRecommendationRequest& request) const; 1063 1064 /** 1065 * <p>Retrieves your request parameters, Savings Plan Recommendations Summary and 1066 * Details. </p><p><h3>See Also:</h3> <a 1067 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansPurchaseRecommendation">AWS 1068 * API Reference</a></p> 1069 * 1070 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1071 */ 1072 virtual void GetSavingsPlansPurchaseRecommendationAsync(const Model::GetSavingsPlansPurchaseRecommendationRequest& request, const GetSavingsPlansPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1073 1074 /** 1075 * <p>Retrieves the Savings Plans utilization for your account across date ranges 1076 * with daily or monthly granularity. Management account in an organization have 1077 * access to member accounts. You can use <code>GetDimensionValues</code> in 1078 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1079 * <p>You cannot group by any dimension values for 1080 * <code>GetSavingsPlansUtilization</code>.</p> <p><h3>See Also:</h3> <a 1081 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization">AWS 1082 * API Reference</a></p> 1083 */ 1084 virtual Model::GetSavingsPlansUtilizationOutcome GetSavingsPlansUtilization(const Model::GetSavingsPlansUtilizationRequest& request) const; 1085 1086 /** 1087 * <p>Retrieves the Savings Plans utilization for your account across date ranges 1088 * with daily or monthly granularity. Management account in an organization have 1089 * access to member accounts. You can use <code>GetDimensionValues</code> in 1090 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1091 * <p>You cannot group by any dimension values for 1092 * <code>GetSavingsPlansUtilization</code>.</p> <p><h3>See Also:</h3> <a 1093 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization">AWS 1094 * API Reference</a></p> 1095 * 1096 * returns a future to the operation so that it can be executed in parallel to other requests. 1097 */ 1098 virtual Model::GetSavingsPlansUtilizationOutcomeCallable GetSavingsPlansUtilizationCallable(const Model::GetSavingsPlansUtilizationRequest& request) const; 1099 1100 /** 1101 * <p>Retrieves the Savings Plans utilization for your account across date ranges 1102 * with daily or monthly granularity. Management account in an organization have 1103 * access to member accounts. You can use <code>GetDimensionValues</code> in 1104 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1105 * <p>You cannot group by any dimension values for 1106 * <code>GetSavingsPlansUtilization</code>.</p> <p><h3>See Also:</h3> <a 1107 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilization">AWS 1108 * API Reference</a></p> 1109 * 1110 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1111 */ 1112 virtual void GetSavingsPlansUtilizationAsync(const Model::GetSavingsPlansUtilizationRequest& request, const GetSavingsPlansUtilizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1113 1114 /** 1115 * <p>Retrieves attribute data along with aggregate utilization and savings data 1116 * for a given time period. This doesn't support granular or grouped data 1117 * (daily/monthly) in response. You can't retrieve data by dates in a single 1118 * response similar to <code>GetSavingsPlanUtilization</code>, but you have the 1119 * option to make multiple calls to <code>GetSavingsPlanUtilizationDetails</code> 1120 * by providing individual dates. You can use <code>GetDimensionValues</code> in 1121 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1122 * <p> <code>GetSavingsPlanUtilizationDetails</code> internally groups data 1123 * by <code>SavingsPlansArn</code>.</p> <p><h3>See Also:</h3> <a 1124 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails">AWS 1125 * API Reference</a></p> 1126 */ 1127 virtual Model::GetSavingsPlansUtilizationDetailsOutcome GetSavingsPlansUtilizationDetails(const Model::GetSavingsPlansUtilizationDetailsRequest& request) const; 1128 1129 /** 1130 * <p>Retrieves attribute data along with aggregate utilization and savings data 1131 * for a given time period. This doesn't support granular or grouped data 1132 * (daily/monthly) in response. You can't retrieve data by dates in a single 1133 * response similar to <code>GetSavingsPlanUtilization</code>, but you have the 1134 * option to make multiple calls to <code>GetSavingsPlanUtilizationDetails</code> 1135 * by providing individual dates. You can use <code>GetDimensionValues</code> in 1136 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1137 * <p> <code>GetSavingsPlanUtilizationDetails</code> internally groups data 1138 * by <code>SavingsPlansArn</code>.</p> <p><h3>See Also:</h3> <a 1139 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails">AWS 1140 * API Reference</a></p> 1141 * 1142 * returns a future to the operation so that it can be executed in parallel to other requests. 1143 */ 1144 virtual Model::GetSavingsPlansUtilizationDetailsOutcomeCallable GetSavingsPlansUtilizationDetailsCallable(const Model::GetSavingsPlansUtilizationDetailsRequest& request) const; 1145 1146 /** 1147 * <p>Retrieves attribute data along with aggregate utilization and savings data 1148 * for a given time period. This doesn't support granular or grouped data 1149 * (daily/monthly) in response. You can't retrieve data by dates in a single 1150 * response similar to <code>GetSavingsPlanUtilization</code>, but you have the 1151 * option to make multiple calls to <code>GetSavingsPlanUtilizationDetails</code> 1152 * by providing individual dates. You can use <code>GetDimensionValues</code> in 1153 * <code>SAVINGS_PLANS</code> to determine the possible dimension values.</p> 1154 * <p> <code>GetSavingsPlanUtilizationDetails</code> internally groups data 1155 * by <code>SavingsPlansArn</code>.</p> <p><h3>See Also:</h3> <a 1156 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlansUtilizationDetails">AWS 1157 * API Reference</a></p> 1158 * 1159 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1160 */ 1161 virtual void GetSavingsPlansUtilizationDetailsAsync(const Model::GetSavingsPlansUtilizationDetailsRequest& request, const GetSavingsPlansUtilizationDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1162 1163 /** 1164 * <p>Queries for available tag keys and tag values for a specified period. You can 1165 * search the tag values for an arbitrary string. </p><p><h3>See Also:</h3> <a 1166 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags">AWS API 1167 * Reference</a></p> 1168 */ 1169 virtual Model::GetTagsOutcome GetTags(const Model::GetTagsRequest& request) const; 1170 1171 /** 1172 * <p>Queries for available tag keys and tag values for a specified period. You can 1173 * search the tag values for an arbitrary string. </p><p><h3>See Also:</h3> <a 1174 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags">AWS API 1175 * Reference</a></p> 1176 * 1177 * returns a future to the operation so that it can be executed in parallel to other requests. 1178 */ 1179 virtual Model::GetTagsOutcomeCallable GetTagsCallable(const Model::GetTagsRequest& request) const; 1180 1181 /** 1182 * <p>Queries for available tag keys and tag values for a specified period. You can 1183 * search the tag values for an arbitrary string. </p><p><h3>See Also:</h3> <a 1184 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetTags">AWS API 1185 * Reference</a></p> 1186 * 1187 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1188 */ 1189 virtual void GetTagsAsync(const Model::GetTagsRequest& request, const GetTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1190 1191 /** 1192 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 1193 * use over the forecast time period that you select, based on your past usage. 1194 * </p><p><h3>See Also:</h3> <a 1195 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast">AWS 1196 * API Reference</a></p> 1197 */ 1198 virtual Model::GetUsageForecastOutcome GetUsageForecast(const Model::GetUsageForecastRequest& request) const; 1199 1200 /** 1201 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 1202 * use over the forecast time period that you select, based on your past usage. 1203 * </p><p><h3>See Also:</h3> <a 1204 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast">AWS 1205 * API Reference</a></p> 1206 * 1207 * returns a future to the operation so that it can be executed in parallel to other requests. 1208 */ 1209 virtual Model::GetUsageForecastOutcomeCallable GetUsageForecastCallable(const Model::GetUsageForecastRequest& request) const; 1210 1211 /** 1212 * <p>Retrieves a forecast for how much Amazon Web Services predicts that you will 1213 * use over the forecast time period that you select, based on your past usage. 1214 * </p><p><h3>See Also:</h3> <a 1215 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetUsageForecast">AWS 1216 * API Reference</a></p> 1217 * 1218 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1219 */ 1220 virtual void GetUsageForecastAsync(const Model::GetUsageForecastRequest& request, const GetUsageForecastResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1221 1222 /** 1223 * <p>Returns the name, ARN, <code>NumberOfRules</code> and effective dates of all 1224 * Cost Categories defined in the account. You have the option to use 1225 * <code>EffectiveOn</code> to return a list of Cost Categories that were active on 1226 * a specific date. If there is no <code>EffectiveOn</code> specified, you’ll see 1227 * Cost Categories that are effective on the current date. If Cost Category is 1228 * still effective, <code>EffectiveEnd</code> is omitted in the response. 1229 * <code>ListCostCategoryDefinitions</code> supports pagination. The request can 1230 * have a <code>MaxResults</code> range up to 100.</p><p><h3>See Also:</h3> <a 1231 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions">AWS 1232 * API Reference</a></p> 1233 */ 1234 virtual Model::ListCostCategoryDefinitionsOutcome ListCostCategoryDefinitions(const Model::ListCostCategoryDefinitionsRequest& request) const; 1235 1236 /** 1237 * <p>Returns the name, ARN, <code>NumberOfRules</code> and effective dates of all 1238 * Cost Categories defined in the account. You have the option to use 1239 * <code>EffectiveOn</code> to return a list of Cost Categories that were active on 1240 * a specific date. If there is no <code>EffectiveOn</code> specified, you’ll see 1241 * Cost Categories that are effective on the current date. If Cost Category is 1242 * still effective, <code>EffectiveEnd</code> is omitted in the response. 1243 * <code>ListCostCategoryDefinitions</code> supports pagination. The request can 1244 * have a <code>MaxResults</code> range up to 100.</p><p><h3>See Also:</h3> <a 1245 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions">AWS 1246 * API Reference</a></p> 1247 * 1248 * returns a future to the operation so that it can be executed in parallel to other requests. 1249 */ 1250 virtual Model::ListCostCategoryDefinitionsOutcomeCallable ListCostCategoryDefinitionsCallable(const Model::ListCostCategoryDefinitionsRequest& request) const; 1251 1252 /** 1253 * <p>Returns the name, ARN, <code>NumberOfRules</code> and effective dates of all 1254 * Cost Categories defined in the account. You have the option to use 1255 * <code>EffectiveOn</code> to return a list of Cost Categories that were active on 1256 * a specific date. If there is no <code>EffectiveOn</code> specified, you’ll see 1257 * Cost Categories that are effective on the current date. If Cost Category is 1258 * still effective, <code>EffectiveEnd</code> is omitted in the response. 1259 * <code>ListCostCategoryDefinitions</code> supports pagination. The request can 1260 * have a <code>MaxResults</code> range up to 100.</p><p><h3>See Also:</h3> <a 1261 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostCategoryDefinitions">AWS 1262 * API Reference</a></p> 1263 * 1264 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1265 */ 1266 virtual void ListCostCategoryDefinitionsAsync(const Model::ListCostCategoryDefinitionsRequest& request, const ListCostCategoryDefinitionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1267 1268 /** 1269 * <p>Modifies the feedback property of a given cost anomaly. </p><p><h3>See 1270 * Also:</h3> <a 1271 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback">AWS 1272 * API Reference</a></p> 1273 */ 1274 virtual Model::ProvideAnomalyFeedbackOutcome ProvideAnomalyFeedback(const Model::ProvideAnomalyFeedbackRequest& request) const; 1275 1276 /** 1277 * <p>Modifies the feedback property of a given cost anomaly. </p><p><h3>See 1278 * Also:</h3> <a 1279 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback">AWS 1280 * API Reference</a></p> 1281 * 1282 * returns a future to the operation so that it can be executed in parallel to other requests. 1283 */ 1284 virtual Model::ProvideAnomalyFeedbackOutcomeCallable ProvideAnomalyFeedbackCallable(const Model::ProvideAnomalyFeedbackRequest& request) const; 1285 1286 /** 1287 * <p>Modifies the feedback property of a given cost anomaly. </p><p><h3>See 1288 * Also:</h3> <a 1289 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedback">AWS 1290 * API Reference</a></p> 1291 * 1292 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1293 */ 1294 virtual void ProvideAnomalyFeedbackAsync(const Model::ProvideAnomalyFeedbackRequest& request, const ProvideAnomalyFeedbackResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1295 1296 /** 1297 * <p>Updates an existing cost anomaly monitor. The changes made are applied going 1298 * forward, and doesn'tt change anomalies detected in the past. </p><p><h3>See 1299 * Also:</h3> <a 1300 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor">AWS 1301 * API Reference</a></p> 1302 */ 1303 virtual Model::UpdateAnomalyMonitorOutcome UpdateAnomalyMonitor(const Model::UpdateAnomalyMonitorRequest& request) const; 1304 1305 /** 1306 * <p>Updates an existing cost anomaly monitor. The changes made are applied going 1307 * forward, and doesn'tt change anomalies detected in the past. </p><p><h3>See 1308 * Also:</h3> <a 1309 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor">AWS 1310 * API Reference</a></p> 1311 * 1312 * returns a future to the operation so that it can be executed in parallel to other requests. 1313 */ 1314 virtual Model::UpdateAnomalyMonitorOutcomeCallable UpdateAnomalyMonitorCallable(const Model::UpdateAnomalyMonitorRequest& request) const; 1315 1316 /** 1317 * <p>Updates an existing cost anomaly monitor. The changes made are applied going 1318 * forward, and doesn'tt change anomalies detected in the past. </p><p><h3>See 1319 * Also:</h3> <a 1320 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitor">AWS 1321 * API Reference</a></p> 1322 * 1323 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1324 */ 1325 virtual void UpdateAnomalyMonitorAsync(const Model::UpdateAnomalyMonitorRequest& request, const UpdateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1326 1327 /** 1328 * <p>Updates an existing cost anomaly monitor subscription. </p><p><h3>See 1329 * Also:</h3> <a 1330 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription">AWS 1331 * API Reference</a></p> 1332 */ 1333 virtual Model::UpdateAnomalySubscriptionOutcome UpdateAnomalySubscription(const Model::UpdateAnomalySubscriptionRequest& request) const; 1334 1335 /** 1336 * <p>Updates an existing cost anomaly monitor subscription. </p><p><h3>See 1337 * Also:</h3> <a 1338 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription">AWS 1339 * API Reference</a></p> 1340 * 1341 * returns a future to the operation so that it can be executed in parallel to other requests. 1342 */ 1343 virtual Model::UpdateAnomalySubscriptionOutcomeCallable UpdateAnomalySubscriptionCallable(const Model::UpdateAnomalySubscriptionRequest& request) const; 1344 1345 /** 1346 * <p>Updates an existing cost anomaly monitor subscription. </p><p><h3>See 1347 * Also:</h3> <a 1348 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscription">AWS 1349 * API Reference</a></p> 1350 * 1351 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1352 */ 1353 virtual void UpdateAnomalySubscriptionAsync(const Model::UpdateAnomalySubscriptionRequest& request, const UpdateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1354 1355 /** 1356 * <p>Updates an existing Cost Category. Changes made to the Cost Category rules 1357 * will be used to categorize the current month’s expenses and future expenses. 1358 * This won’t change categorization for the previous months.</p><p><h3>See 1359 * Also:</h3> <a 1360 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition">AWS 1361 * API Reference</a></p> 1362 */ 1363 virtual Model::UpdateCostCategoryDefinitionOutcome UpdateCostCategoryDefinition(const Model::UpdateCostCategoryDefinitionRequest& request) const; 1364 1365 /** 1366 * <p>Updates an existing Cost Category. Changes made to the Cost Category rules 1367 * will be used to categorize the current month’s expenses and future expenses. 1368 * This won’t change categorization for the previous months.</p><p><h3>See 1369 * Also:</h3> <a 1370 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition">AWS 1371 * API Reference</a></p> 1372 * 1373 * returns a future to the operation so that it can be executed in parallel to other requests. 1374 */ 1375 virtual Model::UpdateCostCategoryDefinitionOutcomeCallable UpdateCostCategoryDefinitionCallable(const Model::UpdateCostCategoryDefinitionRequest& request) const; 1376 1377 /** 1378 * <p>Updates an existing Cost Category. Changes made to the Cost Category rules 1379 * will be used to categorize the current month’s expenses and future expenses. 1380 * This won’t change categorization for the previous months.</p><p><h3>See 1381 * Also:</h3> <a 1382 * href="http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateCostCategoryDefinition">AWS 1383 * API Reference</a></p> 1384 * 1385 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1386 */ 1387 virtual void UpdateCostCategoryDefinitionAsync(const Model::UpdateCostCategoryDefinitionRequest& request, const UpdateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1388 1389 1390 void OverrideEndpoint(const Aws::String& endpoint); 1391 private: 1392 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 1393 void CreateAnomalyMonitorAsyncHelper(const Model::CreateAnomalyMonitorRequest& request, const CreateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1394 void CreateAnomalySubscriptionAsyncHelper(const Model::CreateAnomalySubscriptionRequest& request, const CreateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1395 void CreateCostCategoryDefinitionAsyncHelper(const Model::CreateCostCategoryDefinitionRequest& request, const CreateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1396 void DeleteAnomalyMonitorAsyncHelper(const Model::DeleteAnomalyMonitorRequest& request, const DeleteAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1397 void DeleteAnomalySubscriptionAsyncHelper(const Model::DeleteAnomalySubscriptionRequest& request, const DeleteAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1398 void DeleteCostCategoryDefinitionAsyncHelper(const Model::DeleteCostCategoryDefinitionRequest& request, const DeleteCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1399 void DescribeCostCategoryDefinitionAsyncHelper(const Model::DescribeCostCategoryDefinitionRequest& request, const DescribeCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1400 void GetAnomaliesAsyncHelper(const Model::GetAnomaliesRequest& request, const GetAnomaliesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1401 void GetAnomalyMonitorsAsyncHelper(const Model::GetAnomalyMonitorsRequest& request, const GetAnomalyMonitorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1402 void GetAnomalySubscriptionsAsyncHelper(const Model::GetAnomalySubscriptionsRequest& request, const GetAnomalySubscriptionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1403 void GetCostAndUsageAsyncHelper(const Model::GetCostAndUsageRequest& request, const GetCostAndUsageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1404 void GetCostAndUsageWithResourcesAsyncHelper(const Model::GetCostAndUsageWithResourcesRequest& request, const GetCostAndUsageWithResourcesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1405 void GetCostCategoriesAsyncHelper(const Model::GetCostCategoriesRequest& request, const GetCostCategoriesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1406 void GetCostForecastAsyncHelper(const Model::GetCostForecastRequest& request, const GetCostForecastResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1407 void GetDimensionValuesAsyncHelper(const Model::GetDimensionValuesRequest& request, const GetDimensionValuesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1408 void GetReservationCoverageAsyncHelper(const Model::GetReservationCoverageRequest& request, const GetReservationCoverageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1409 void GetReservationPurchaseRecommendationAsyncHelper(const Model::GetReservationPurchaseRecommendationRequest& request, const GetReservationPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1410 void GetReservationUtilizationAsyncHelper(const Model::GetReservationUtilizationRequest& request, const GetReservationUtilizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1411 void GetRightsizingRecommendationAsyncHelper(const Model::GetRightsizingRecommendationRequest& request, const GetRightsizingRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1412 void GetSavingsPlansCoverageAsyncHelper(const Model::GetSavingsPlansCoverageRequest& request, const GetSavingsPlansCoverageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1413 void GetSavingsPlansPurchaseRecommendationAsyncHelper(const Model::GetSavingsPlansPurchaseRecommendationRequest& request, const GetSavingsPlansPurchaseRecommendationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1414 void GetSavingsPlansUtilizationAsyncHelper(const Model::GetSavingsPlansUtilizationRequest& request, const GetSavingsPlansUtilizationResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1415 void GetSavingsPlansUtilizationDetailsAsyncHelper(const Model::GetSavingsPlansUtilizationDetailsRequest& request, const GetSavingsPlansUtilizationDetailsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1416 void GetTagsAsyncHelper(const Model::GetTagsRequest& request, const GetTagsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1417 void GetUsageForecastAsyncHelper(const Model::GetUsageForecastRequest& request, const GetUsageForecastResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1418 void ListCostCategoryDefinitionsAsyncHelper(const Model::ListCostCategoryDefinitionsRequest& request, const ListCostCategoryDefinitionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1419 void ProvideAnomalyFeedbackAsyncHelper(const Model::ProvideAnomalyFeedbackRequest& request, const ProvideAnomalyFeedbackResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1420 void UpdateAnomalyMonitorAsyncHelper(const Model::UpdateAnomalyMonitorRequest& request, const UpdateAnomalyMonitorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1421 void UpdateAnomalySubscriptionAsyncHelper(const Model::UpdateAnomalySubscriptionRequest& request, const UpdateAnomalySubscriptionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1422 void UpdateCostCategoryDefinitionAsyncHelper(const Model::UpdateCostCategoryDefinitionRequest& request, const UpdateCostCategoryDefinitionResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1423 1424 Aws::String m_uri; 1425 Aws::String m_configScheme; 1426 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1427 }; 1428 1429 } // namespace CostExplorer 1430 } // namespace Aws 1431