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/savingsplans/SavingsPlans_EXPORTS.h> 8 #include <aws/savingsplans/SavingsPlansErrors.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/savingsplans/model/CreateSavingsPlanResult.h> 15 #include <aws/savingsplans/model/DeleteQueuedSavingsPlanResult.h> 16 #include <aws/savingsplans/model/DescribeSavingsPlanRatesResult.h> 17 #include <aws/savingsplans/model/DescribeSavingsPlansResult.h> 18 #include <aws/savingsplans/model/DescribeSavingsPlansOfferingRatesResult.h> 19 #include <aws/savingsplans/model/DescribeSavingsPlansOfferingsResult.h> 20 #include <aws/savingsplans/model/ListTagsForResourceResult.h> 21 #include <aws/savingsplans/model/TagResourceResult.h> 22 #include <aws/savingsplans/model/UntagResourceResult.h> 23 #include <aws/core/client/AsyncCallerContext.h> 24 #include <aws/core/http/HttpTypes.h> 25 #include <future> 26 #include <functional> 27 28 namespace Aws 29 { 30 31 namespace Http 32 { 33 class HttpClient; 34 class HttpClientFactory; 35 } // namespace Http 36 37 namespace Utils 38 { 39 template< typename R, typename E> class Outcome; 40 namespace Threading 41 { 42 class Executor; 43 } // namespace Threading 44 } // namespace Utils 45 46 namespace Auth 47 { 48 class AWSCredentials; 49 class AWSCredentialsProvider; 50 } // namespace Auth 51 52 namespace Client 53 { 54 class RetryStrategy; 55 } // namespace Client 56 57 namespace SavingsPlans 58 { 59 60 namespace Model 61 { 62 class CreateSavingsPlanRequest; 63 class DeleteQueuedSavingsPlanRequest; 64 class DescribeSavingsPlanRatesRequest; 65 class DescribeSavingsPlansRequest; 66 class DescribeSavingsPlansOfferingRatesRequest; 67 class DescribeSavingsPlansOfferingsRequest; 68 class ListTagsForResourceRequest; 69 class TagResourceRequest; 70 class UntagResourceRequest; 71 72 typedef Aws::Utils::Outcome<CreateSavingsPlanResult, SavingsPlansError> CreateSavingsPlanOutcome; 73 typedef Aws::Utils::Outcome<DeleteQueuedSavingsPlanResult, SavingsPlansError> DeleteQueuedSavingsPlanOutcome; 74 typedef Aws::Utils::Outcome<DescribeSavingsPlanRatesResult, SavingsPlansError> DescribeSavingsPlanRatesOutcome; 75 typedef Aws::Utils::Outcome<DescribeSavingsPlansResult, SavingsPlansError> DescribeSavingsPlansOutcome; 76 typedef Aws::Utils::Outcome<DescribeSavingsPlansOfferingRatesResult, SavingsPlansError> DescribeSavingsPlansOfferingRatesOutcome; 77 typedef Aws::Utils::Outcome<DescribeSavingsPlansOfferingsResult, SavingsPlansError> DescribeSavingsPlansOfferingsOutcome; 78 typedef Aws::Utils::Outcome<ListTagsForResourceResult, SavingsPlansError> ListTagsForResourceOutcome; 79 typedef Aws::Utils::Outcome<TagResourceResult, SavingsPlansError> TagResourceOutcome; 80 typedef Aws::Utils::Outcome<UntagResourceResult, SavingsPlansError> UntagResourceOutcome; 81 82 typedef std::future<CreateSavingsPlanOutcome> CreateSavingsPlanOutcomeCallable; 83 typedef std::future<DeleteQueuedSavingsPlanOutcome> DeleteQueuedSavingsPlanOutcomeCallable; 84 typedef std::future<DescribeSavingsPlanRatesOutcome> DescribeSavingsPlanRatesOutcomeCallable; 85 typedef std::future<DescribeSavingsPlansOutcome> DescribeSavingsPlansOutcomeCallable; 86 typedef std::future<DescribeSavingsPlansOfferingRatesOutcome> DescribeSavingsPlansOfferingRatesOutcomeCallable; 87 typedef std::future<DescribeSavingsPlansOfferingsOutcome> DescribeSavingsPlansOfferingsOutcomeCallable; 88 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 89 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 90 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 91 } // namespace Model 92 93 class SavingsPlansClient; 94 95 typedef std::function<void(const SavingsPlansClient*, const Model::CreateSavingsPlanRequest&, const Model::CreateSavingsPlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateSavingsPlanResponseReceivedHandler; 96 typedef std::function<void(const SavingsPlansClient*, const Model::DeleteQueuedSavingsPlanRequest&, const Model::DeleteQueuedSavingsPlanOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteQueuedSavingsPlanResponseReceivedHandler; 97 typedef std::function<void(const SavingsPlansClient*, const Model::DescribeSavingsPlanRatesRequest&, const Model::DescribeSavingsPlanRatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSavingsPlanRatesResponseReceivedHandler; 98 typedef std::function<void(const SavingsPlansClient*, const Model::DescribeSavingsPlansRequest&, const Model::DescribeSavingsPlansOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSavingsPlansResponseReceivedHandler; 99 typedef std::function<void(const SavingsPlansClient*, const Model::DescribeSavingsPlansOfferingRatesRequest&, const Model::DescribeSavingsPlansOfferingRatesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSavingsPlansOfferingRatesResponseReceivedHandler; 100 typedef std::function<void(const SavingsPlansClient*, const Model::DescribeSavingsPlansOfferingsRequest&, const Model::DescribeSavingsPlansOfferingsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeSavingsPlansOfferingsResponseReceivedHandler; 101 typedef std::function<void(const SavingsPlansClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 102 typedef std::function<void(const SavingsPlansClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 103 typedef std::function<void(const SavingsPlansClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 104 105 /** 106 * <p>Savings Plans are a pricing model that offer significant savings on AWS usage 107 * (for example, on Amazon EC2 instances). You commit to a consistent amount of 108 * usage, in USD per hour, for a term of 1 or 3 years, and receive a lower price 109 * for that usage. For more information, see the <a 110 * href="https://docs.aws.amazon.com/savingsplans/latest/userguide/">AWS Savings 111 * Plans User Guide</a>.</p> 112 */ 113 class AWS_SAVINGSPLANS_API SavingsPlansClient : public Aws::Client::AWSJsonClient 114 { 115 public: 116 typedef Aws::Client::AWSJsonClient BASECLASS; 117 118 /** 119 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 120 * is not specified, it will be initialized to default values. 121 */ 122 SavingsPlansClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 123 124 /** 125 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 126 * is not specified, it will be initialized to default values. 127 */ 128 SavingsPlansClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 129 130 /** 131 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 132 * the default http client factory will be used 133 */ 134 SavingsPlansClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 135 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 136 137 virtual ~SavingsPlansClient(); 138 139 140 /** 141 * <p>Creates a Savings Plan.</p><p><h3>See Also:</h3> <a 142 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlan">AWS 143 * API Reference</a></p> 144 */ 145 virtual Model::CreateSavingsPlanOutcome CreateSavingsPlan(const Model::CreateSavingsPlanRequest& request) const; 146 147 /** 148 * <p>Creates a Savings Plan.</p><p><h3>See Also:</h3> <a 149 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlan">AWS 150 * API Reference</a></p> 151 * 152 * returns a future to the operation so that it can be executed in parallel to other requests. 153 */ 154 virtual Model::CreateSavingsPlanOutcomeCallable CreateSavingsPlanCallable(const Model::CreateSavingsPlanRequest& request) const; 155 156 /** 157 * <p>Creates a Savings Plan.</p><p><h3>See Also:</h3> <a 158 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/CreateSavingsPlan">AWS 159 * API Reference</a></p> 160 * 161 * Queues the request into a thread executor and triggers associated callback when operation has finished. 162 */ 163 virtual void CreateSavingsPlanAsync(const Model::CreateSavingsPlanRequest& request, const CreateSavingsPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 164 165 /** 166 * <p>Deletes the queued purchase for the specified Savings Plan.</p><p><h3>See 167 * Also:</h3> <a 168 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DeleteQueuedSavingsPlan">AWS 169 * API Reference</a></p> 170 */ 171 virtual Model::DeleteQueuedSavingsPlanOutcome DeleteQueuedSavingsPlan(const Model::DeleteQueuedSavingsPlanRequest& request) const; 172 173 /** 174 * <p>Deletes the queued purchase for the specified Savings Plan.</p><p><h3>See 175 * Also:</h3> <a 176 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DeleteQueuedSavingsPlan">AWS 177 * API Reference</a></p> 178 * 179 * returns a future to the operation so that it can be executed in parallel to other requests. 180 */ 181 virtual Model::DeleteQueuedSavingsPlanOutcomeCallable DeleteQueuedSavingsPlanCallable(const Model::DeleteQueuedSavingsPlanRequest& request) const; 182 183 /** 184 * <p>Deletes the queued purchase for the specified Savings Plan.</p><p><h3>See 185 * Also:</h3> <a 186 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DeleteQueuedSavingsPlan">AWS 187 * API Reference</a></p> 188 * 189 * Queues the request into a thread executor and triggers associated callback when operation has finished. 190 */ 191 virtual void DeleteQueuedSavingsPlanAsync(const Model::DeleteQueuedSavingsPlanRequest& request, const DeleteQueuedSavingsPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 192 193 /** 194 * <p>Describes the specified Savings Plans rates.</p><p><h3>See Also:</h3> <a 195 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRates">AWS 196 * API Reference</a></p> 197 */ 198 virtual Model::DescribeSavingsPlanRatesOutcome DescribeSavingsPlanRates(const Model::DescribeSavingsPlanRatesRequest& request) const; 199 200 /** 201 * <p>Describes the specified Savings Plans rates.</p><p><h3>See Also:</h3> <a 202 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRates">AWS 203 * API Reference</a></p> 204 * 205 * returns a future to the operation so that it can be executed in parallel to other requests. 206 */ 207 virtual Model::DescribeSavingsPlanRatesOutcomeCallable DescribeSavingsPlanRatesCallable(const Model::DescribeSavingsPlanRatesRequest& request) const; 208 209 /** 210 * <p>Describes the specified Savings Plans rates.</p><p><h3>See Also:</h3> <a 211 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlanRates">AWS 212 * API Reference</a></p> 213 * 214 * Queues the request into a thread executor and triggers associated callback when operation has finished. 215 */ 216 virtual void DescribeSavingsPlanRatesAsync(const Model::DescribeSavingsPlanRatesRequest& request, const DescribeSavingsPlanRatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 217 218 /** 219 * <p>Describes the specified Savings Plans.</p><p><h3>See Also:</h3> <a 220 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlans">AWS 221 * API Reference</a></p> 222 */ 223 virtual Model::DescribeSavingsPlansOutcome DescribeSavingsPlans(const Model::DescribeSavingsPlansRequest& request) const; 224 225 /** 226 * <p>Describes the specified Savings Plans.</p><p><h3>See Also:</h3> <a 227 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlans">AWS 228 * API Reference</a></p> 229 * 230 * returns a future to the operation so that it can be executed in parallel to other requests. 231 */ 232 virtual Model::DescribeSavingsPlansOutcomeCallable DescribeSavingsPlansCallable(const Model::DescribeSavingsPlansRequest& request) const; 233 234 /** 235 * <p>Describes the specified Savings Plans.</p><p><h3>See Also:</h3> <a 236 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlans">AWS 237 * API Reference</a></p> 238 * 239 * Queues the request into a thread executor and triggers associated callback when operation has finished. 240 */ 241 virtual void DescribeSavingsPlansAsync(const Model::DescribeSavingsPlansRequest& request, const DescribeSavingsPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 242 243 /** 244 * <p>Describes the specified Savings Plans offering rates.</p><p><h3>See 245 * Also:</h3> <a 246 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRates">AWS 247 * API Reference</a></p> 248 */ 249 virtual Model::DescribeSavingsPlansOfferingRatesOutcome DescribeSavingsPlansOfferingRates(const Model::DescribeSavingsPlansOfferingRatesRequest& request) const; 250 251 /** 252 * <p>Describes the specified Savings Plans offering rates.</p><p><h3>See 253 * Also:</h3> <a 254 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRates">AWS 255 * API Reference</a></p> 256 * 257 * returns a future to the operation so that it can be executed in parallel to other requests. 258 */ 259 virtual Model::DescribeSavingsPlansOfferingRatesOutcomeCallable DescribeSavingsPlansOfferingRatesCallable(const Model::DescribeSavingsPlansOfferingRatesRequest& request) const; 260 261 /** 262 * <p>Describes the specified Savings Plans offering rates.</p><p><h3>See 263 * Also:</h3> <a 264 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferingRates">AWS 265 * API Reference</a></p> 266 * 267 * Queues the request into a thread executor and triggers associated callback when operation has finished. 268 */ 269 virtual void DescribeSavingsPlansOfferingRatesAsync(const Model::DescribeSavingsPlansOfferingRatesRequest& request, const DescribeSavingsPlansOfferingRatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 270 271 /** 272 * <p>Describes the specified Savings Plans offerings.</p><p><h3>See Also:</h3> 273 * <a 274 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferings">AWS 275 * API Reference</a></p> 276 */ 277 virtual Model::DescribeSavingsPlansOfferingsOutcome DescribeSavingsPlansOfferings(const Model::DescribeSavingsPlansOfferingsRequest& request) const; 278 279 /** 280 * <p>Describes the specified Savings Plans offerings.</p><p><h3>See Also:</h3> 281 * <a 282 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferings">AWS 283 * API Reference</a></p> 284 * 285 * returns a future to the operation so that it can be executed in parallel to other requests. 286 */ 287 virtual Model::DescribeSavingsPlansOfferingsOutcomeCallable DescribeSavingsPlansOfferingsCallable(const Model::DescribeSavingsPlansOfferingsRequest& request) const; 288 289 /** 290 * <p>Describes the specified Savings Plans offerings.</p><p><h3>See Also:</h3> 291 * <a 292 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/DescribeSavingsPlansOfferings">AWS 293 * API Reference</a></p> 294 * 295 * Queues the request into a thread executor and triggers associated callback when operation has finished. 296 */ 297 virtual void DescribeSavingsPlansOfferingsAsync(const Model::DescribeSavingsPlansOfferingsRequest& request, const DescribeSavingsPlansOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 298 299 /** 300 * <p>Lists the tags for the specified resource.</p><p><h3>See Also:</h3> <a 301 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResource">AWS 302 * API Reference</a></p> 303 */ 304 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 305 306 /** 307 * <p>Lists the tags for the specified resource.</p><p><h3>See Also:</h3> <a 308 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResource">AWS 309 * API Reference</a></p> 310 * 311 * returns a future to the operation so that it can be executed in parallel to other requests. 312 */ 313 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 314 315 /** 316 * <p>Lists the tags for the specified resource.</p><p><h3>See Also:</h3> <a 317 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/ListTagsForResource">AWS 318 * API Reference</a></p> 319 * 320 * Queues the request into a thread executor and triggers associated callback when operation has finished. 321 */ 322 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 323 324 /** 325 * <p>Adds the specified tags to the specified resource.</p><p><h3>See Also:</h3> 326 * <a 327 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResource">AWS 328 * API Reference</a></p> 329 */ 330 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 331 332 /** 333 * <p>Adds the specified tags to the specified resource.</p><p><h3>See Also:</h3> 334 * <a 335 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResource">AWS 336 * API Reference</a></p> 337 * 338 * returns a future to the operation so that it can be executed in parallel to other requests. 339 */ 340 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 341 342 /** 343 * <p>Adds the specified tags to the specified resource.</p><p><h3>See Also:</h3> 344 * <a 345 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/TagResource">AWS 346 * API Reference</a></p> 347 * 348 * Queues the request into a thread executor and triggers associated callback when operation has finished. 349 */ 350 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 351 352 /** 353 * <p>Removes the specified tags from the specified resource.</p><p><h3>See 354 * Also:</h3> <a 355 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResource">AWS 356 * API Reference</a></p> 357 */ 358 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 359 360 /** 361 * <p>Removes the specified tags from the specified resource.</p><p><h3>See 362 * Also:</h3> <a 363 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResource">AWS 364 * API Reference</a></p> 365 * 366 * returns a future to the operation so that it can be executed in parallel to other requests. 367 */ 368 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 369 370 /** 371 * <p>Removes the specified tags from the specified resource.</p><p><h3>See 372 * Also:</h3> <a 373 * href="http://docs.aws.amazon.com/goto/WebAPI/savingsplans-2019-06-28/UntagResource">AWS 374 * API Reference</a></p> 375 * 376 * Queues the request into a thread executor and triggers associated callback when operation has finished. 377 */ 378 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 379 380 381 void OverrideEndpoint(const Aws::String& endpoint); 382 private: 383 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 384 void CreateSavingsPlanAsyncHelper(const Model::CreateSavingsPlanRequest& request, const CreateSavingsPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 385 void DeleteQueuedSavingsPlanAsyncHelper(const Model::DeleteQueuedSavingsPlanRequest& request, const DeleteQueuedSavingsPlanResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 386 void DescribeSavingsPlanRatesAsyncHelper(const Model::DescribeSavingsPlanRatesRequest& request, const DescribeSavingsPlanRatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 387 void DescribeSavingsPlansAsyncHelper(const Model::DescribeSavingsPlansRequest& request, const DescribeSavingsPlansResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 388 void DescribeSavingsPlansOfferingRatesAsyncHelper(const Model::DescribeSavingsPlansOfferingRatesRequest& request, const DescribeSavingsPlansOfferingRatesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 389 void DescribeSavingsPlansOfferingsAsyncHelper(const Model::DescribeSavingsPlansOfferingsRequest& request, const DescribeSavingsPlansOfferingsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 390 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 391 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 392 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 393 394 Aws::String m_uri; 395 Aws::String m_configScheme; 396 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 397 }; 398 399 } // namespace SavingsPlans 400 } // namespace Aws 401