1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/core/utils/Outcome.h>
7 #include <aws/core/auth/AWSAuthSigner.h>
8 #include <aws/core/client/CoreErrors.h>
9 #include <aws/core/client/RetryStrategy.h>
10 #include <aws/core/http/HttpClient.h>
11 #include <aws/core/http/HttpResponse.h>
12 #include <aws/core/http/HttpClientFactory.h>
13 #include <aws/core/auth/AWSCredentialsProviderChain.h>
14 #include <aws/core/utils/xml/XmlSerializer.h>
15 #include <aws/core/utils/memory/stl/AWSStringStream.h>
16 #include <aws/core/utils/threading/Executor.h>
17 #include <aws/core/utils/DNS.h>
18 #include <aws/core/utils/logging/LogMacros.h>
19 
20 #include <aws/monitoring/CloudWatchClient.h>
21 #include <aws/monitoring/CloudWatchEndpoint.h>
22 #include <aws/monitoring/CloudWatchErrorMarshaller.h>
23 #include <aws/monitoring/model/DeleteAlarmsRequest.h>
24 #include <aws/monitoring/model/DeleteAnomalyDetectorRequest.h>
25 #include <aws/monitoring/model/DeleteDashboardsRequest.h>
26 #include <aws/monitoring/model/DeleteInsightRulesRequest.h>
27 #include <aws/monitoring/model/DeleteMetricStreamRequest.h>
28 #include <aws/monitoring/model/DescribeAlarmHistoryRequest.h>
29 #include <aws/monitoring/model/DescribeAlarmsRequest.h>
30 #include <aws/monitoring/model/DescribeAlarmsForMetricRequest.h>
31 #include <aws/monitoring/model/DescribeAnomalyDetectorsRequest.h>
32 #include <aws/monitoring/model/DescribeInsightRulesRequest.h>
33 #include <aws/monitoring/model/DisableAlarmActionsRequest.h>
34 #include <aws/monitoring/model/DisableInsightRulesRequest.h>
35 #include <aws/monitoring/model/EnableAlarmActionsRequest.h>
36 #include <aws/monitoring/model/EnableInsightRulesRequest.h>
37 #include <aws/monitoring/model/GetDashboardRequest.h>
38 #include <aws/monitoring/model/GetInsightRuleReportRequest.h>
39 #include <aws/monitoring/model/GetMetricDataRequest.h>
40 #include <aws/monitoring/model/GetMetricStatisticsRequest.h>
41 #include <aws/monitoring/model/GetMetricStreamRequest.h>
42 #include <aws/monitoring/model/GetMetricWidgetImageRequest.h>
43 #include <aws/monitoring/model/ListDashboardsRequest.h>
44 #include <aws/monitoring/model/ListMetricStreamsRequest.h>
45 #include <aws/monitoring/model/ListMetricsRequest.h>
46 #include <aws/monitoring/model/ListTagsForResourceRequest.h>
47 #include <aws/monitoring/model/PutAnomalyDetectorRequest.h>
48 #include <aws/monitoring/model/PutCompositeAlarmRequest.h>
49 #include <aws/monitoring/model/PutDashboardRequest.h>
50 #include <aws/monitoring/model/PutInsightRuleRequest.h>
51 #include <aws/monitoring/model/PutMetricAlarmRequest.h>
52 #include <aws/monitoring/model/PutMetricDataRequest.h>
53 #include <aws/monitoring/model/PutMetricStreamRequest.h>
54 #include <aws/monitoring/model/SetAlarmStateRequest.h>
55 #include <aws/monitoring/model/StartMetricStreamsRequest.h>
56 #include <aws/monitoring/model/StopMetricStreamsRequest.h>
57 #include <aws/monitoring/model/TagResourceRequest.h>
58 #include <aws/monitoring/model/UntagResourceRequest.h>
59 
60 using namespace Aws;
61 using namespace Aws::Auth;
62 using namespace Aws::Client;
63 using namespace Aws::CloudWatch;
64 using namespace Aws::CloudWatch::Model;
65 using namespace Aws::Http;
66 using namespace Aws::Utils::Xml;
67 
68 
69 static const char* SERVICE_NAME = "monitoring";
70 static const char* ALLOCATION_TAG = "CloudWatchClient";
71 
72 
CloudWatchClient(const Client::ClientConfiguration & clientConfiguration)73 CloudWatchClient::CloudWatchClient(const Client::ClientConfiguration& clientConfiguration) :
74   BASECLASS(clientConfiguration,
75     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<DefaultAWSCredentialsProviderChain>(ALLOCATION_TAG),
76         SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
77     Aws::MakeShared<CloudWatchErrorMarshaller>(ALLOCATION_TAG)),
78     m_executor(clientConfiguration.executor)
79 {
80   init(clientConfiguration);
81 }
82 
CloudWatchClient(const AWSCredentials & credentials,const Client::ClientConfiguration & clientConfiguration)83 CloudWatchClient::CloudWatchClient(const AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) :
84   BASECLASS(clientConfiguration,
85     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, Aws::MakeShared<SimpleAWSCredentialsProvider>(ALLOCATION_TAG, credentials),
86          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
87     Aws::MakeShared<CloudWatchErrorMarshaller>(ALLOCATION_TAG)),
88     m_executor(clientConfiguration.executor)
89 {
90   init(clientConfiguration);
91 }
92 
CloudWatchClient(const std::shared_ptr<AWSCredentialsProvider> & credentialsProvider,const Client::ClientConfiguration & clientConfiguration)93 CloudWatchClient::CloudWatchClient(const std::shared_ptr<AWSCredentialsProvider>& credentialsProvider,
94   const Client::ClientConfiguration& clientConfiguration) :
95   BASECLASS(clientConfiguration,
96     Aws::MakeShared<AWSAuthV4Signer>(ALLOCATION_TAG, credentialsProvider,
97          SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)),
98     Aws::MakeShared<CloudWatchErrorMarshaller>(ALLOCATION_TAG)),
99     m_executor(clientConfiguration.executor)
100 {
101   init(clientConfiguration);
102 }
103 
~CloudWatchClient()104 CloudWatchClient::~CloudWatchClient()
105 {
106 }
107 
init(const Client::ClientConfiguration & config)108 void CloudWatchClient::init(const Client::ClientConfiguration& config)
109 {
110   SetServiceClientName("CloudWatch");
111   m_configScheme = SchemeMapper::ToString(config.scheme);
112   if (config.endpointOverride.empty())
113   {
114       m_uri = m_configScheme + "://" + CloudWatchEndpoint::ForRegion(config.region, config.useDualStack);
115   }
116   else
117   {
118       OverrideEndpoint(config.endpointOverride);
119   }
120 }
121 
OverrideEndpoint(const Aws::String & endpoint)122 void CloudWatchClient::OverrideEndpoint(const Aws::String& endpoint)
123 {
124   if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0)
125   {
126       m_uri = endpoint;
127   }
128   else
129   {
130       m_uri = m_configScheme + "://" + endpoint;
131   }
132 }
133 
ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest & requestToConvert,const char * region) const134 Aws::String CloudWatchClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const
135 {
136   Aws::StringStream ss;
137   ss << "https://" << CloudWatchEndpoint::ForRegion(region);
138   ss << "?" << requestToConvert.SerializePayload();
139 
140   URI uri(ss.str());
141   return GeneratePresignedUrl(uri, Aws::Http::HttpMethod::HTTP_GET, region, 3600);
142 }
143 
DeleteAlarms(const DeleteAlarmsRequest & request) const144 DeleteAlarmsOutcome CloudWatchClient::DeleteAlarms(const DeleteAlarmsRequest& request) const
145 {
146   Aws::Http::URI uri = m_uri;
147   return DeleteAlarmsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
148 }
149 
DeleteAlarmsCallable(const DeleteAlarmsRequest & request) const150 DeleteAlarmsOutcomeCallable CloudWatchClient::DeleteAlarmsCallable(const DeleteAlarmsRequest& request) const
151 {
152   auto task = Aws::MakeShared< std::packaged_task< DeleteAlarmsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteAlarms(request); } );
153   auto packagedFunction = [task]() { (*task)(); };
154   m_executor->Submit(packagedFunction);
155   return task->get_future();
156 }
157 
DeleteAlarmsAsync(const DeleteAlarmsRequest & request,const DeleteAlarmsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const158 void CloudWatchClient::DeleteAlarmsAsync(const DeleteAlarmsRequest& request, const DeleteAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
159 {
160   m_executor->Submit( [this, request, handler, context](){ this->DeleteAlarmsAsyncHelper( request, handler, context ); } );
161 }
162 
DeleteAlarmsAsyncHelper(const DeleteAlarmsRequest & request,const DeleteAlarmsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const163 void CloudWatchClient::DeleteAlarmsAsyncHelper(const DeleteAlarmsRequest& request, const DeleteAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
164 {
165   handler(this, request, DeleteAlarms(request), context);
166 }
167 
DeleteAnomalyDetector(const DeleteAnomalyDetectorRequest & request) const168 DeleteAnomalyDetectorOutcome CloudWatchClient::DeleteAnomalyDetector(const DeleteAnomalyDetectorRequest& request) const
169 {
170   Aws::Http::URI uri = m_uri;
171   return DeleteAnomalyDetectorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
172 }
173 
DeleteAnomalyDetectorCallable(const DeleteAnomalyDetectorRequest & request) const174 DeleteAnomalyDetectorOutcomeCallable CloudWatchClient::DeleteAnomalyDetectorCallable(const DeleteAnomalyDetectorRequest& request) const
175 {
176   auto task = Aws::MakeShared< std::packaged_task< DeleteAnomalyDetectorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteAnomalyDetector(request); } );
177   auto packagedFunction = [task]() { (*task)(); };
178   m_executor->Submit(packagedFunction);
179   return task->get_future();
180 }
181 
DeleteAnomalyDetectorAsync(const DeleteAnomalyDetectorRequest & request,const DeleteAnomalyDetectorResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const182 void CloudWatchClient::DeleteAnomalyDetectorAsync(const DeleteAnomalyDetectorRequest& request, const DeleteAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
183 {
184   m_executor->Submit( [this, request, handler, context](){ this->DeleteAnomalyDetectorAsyncHelper( request, handler, context ); } );
185 }
186 
DeleteAnomalyDetectorAsyncHelper(const DeleteAnomalyDetectorRequest & request,const DeleteAnomalyDetectorResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const187 void CloudWatchClient::DeleteAnomalyDetectorAsyncHelper(const DeleteAnomalyDetectorRequest& request, const DeleteAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
188 {
189   handler(this, request, DeleteAnomalyDetector(request), context);
190 }
191 
DeleteDashboards(const DeleteDashboardsRequest & request) const192 DeleteDashboardsOutcome CloudWatchClient::DeleteDashboards(const DeleteDashboardsRequest& request) const
193 {
194   Aws::Http::URI uri = m_uri;
195   return DeleteDashboardsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
196 }
197 
DeleteDashboardsCallable(const DeleteDashboardsRequest & request) const198 DeleteDashboardsOutcomeCallable CloudWatchClient::DeleteDashboardsCallable(const DeleteDashboardsRequest& request) const
199 {
200   auto task = Aws::MakeShared< std::packaged_task< DeleteDashboardsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteDashboards(request); } );
201   auto packagedFunction = [task]() { (*task)(); };
202   m_executor->Submit(packagedFunction);
203   return task->get_future();
204 }
205 
DeleteDashboardsAsync(const DeleteDashboardsRequest & request,const DeleteDashboardsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const206 void CloudWatchClient::DeleteDashboardsAsync(const DeleteDashboardsRequest& request, const DeleteDashboardsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
207 {
208   m_executor->Submit( [this, request, handler, context](){ this->DeleteDashboardsAsyncHelper( request, handler, context ); } );
209 }
210 
DeleteDashboardsAsyncHelper(const DeleteDashboardsRequest & request,const DeleteDashboardsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const211 void CloudWatchClient::DeleteDashboardsAsyncHelper(const DeleteDashboardsRequest& request, const DeleteDashboardsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
212 {
213   handler(this, request, DeleteDashboards(request), context);
214 }
215 
DeleteInsightRules(const DeleteInsightRulesRequest & request) const216 DeleteInsightRulesOutcome CloudWatchClient::DeleteInsightRules(const DeleteInsightRulesRequest& request) const
217 {
218   Aws::Http::URI uri = m_uri;
219   return DeleteInsightRulesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
220 }
221 
DeleteInsightRulesCallable(const DeleteInsightRulesRequest & request) const222 DeleteInsightRulesOutcomeCallable CloudWatchClient::DeleteInsightRulesCallable(const DeleteInsightRulesRequest& request) const
223 {
224   auto task = Aws::MakeShared< std::packaged_task< DeleteInsightRulesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteInsightRules(request); } );
225   auto packagedFunction = [task]() { (*task)(); };
226   m_executor->Submit(packagedFunction);
227   return task->get_future();
228 }
229 
DeleteInsightRulesAsync(const DeleteInsightRulesRequest & request,const DeleteInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const230 void CloudWatchClient::DeleteInsightRulesAsync(const DeleteInsightRulesRequest& request, const DeleteInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
231 {
232   m_executor->Submit( [this, request, handler, context](){ this->DeleteInsightRulesAsyncHelper( request, handler, context ); } );
233 }
234 
DeleteInsightRulesAsyncHelper(const DeleteInsightRulesRequest & request,const DeleteInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const235 void CloudWatchClient::DeleteInsightRulesAsyncHelper(const DeleteInsightRulesRequest& request, const DeleteInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
236 {
237   handler(this, request, DeleteInsightRules(request), context);
238 }
239 
DeleteMetricStream(const DeleteMetricStreamRequest & request) const240 DeleteMetricStreamOutcome CloudWatchClient::DeleteMetricStream(const DeleteMetricStreamRequest& request) const
241 {
242   Aws::Http::URI uri = m_uri;
243   return DeleteMetricStreamOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
244 }
245 
DeleteMetricStreamCallable(const DeleteMetricStreamRequest & request) const246 DeleteMetricStreamOutcomeCallable CloudWatchClient::DeleteMetricStreamCallable(const DeleteMetricStreamRequest& request) const
247 {
248   auto task = Aws::MakeShared< std::packaged_task< DeleteMetricStreamOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DeleteMetricStream(request); } );
249   auto packagedFunction = [task]() { (*task)(); };
250   m_executor->Submit(packagedFunction);
251   return task->get_future();
252 }
253 
DeleteMetricStreamAsync(const DeleteMetricStreamRequest & request,const DeleteMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const254 void CloudWatchClient::DeleteMetricStreamAsync(const DeleteMetricStreamRequest& request, const DeleteMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
255 {
256   m_executor->Submit( [this, request, handler, context](){ this->DeleteMetricStreamAsyncHelper( request, handler, context ); } );
257 }
258 
DeleteMetricStreamAsyncHelper(const DeleteMetricStreamRequest & request,const DeleteMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const259 void CloudWatchClient::DeleteMetricStreamAsyncHelper(const DeleteMetricStreamRequest& request, const DeleteMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
260 {
261   handler(this, request, DeleteMetricStream(request), context);
262 }
263 
DescribeAlarmHistory(const DescribeAlarmHistoryRequest & request) const264 DescribeAlarmHistoryOutcome CloudWatchClient::DescribeAlarmHistory(const DescribeAlarmHistoryRequest& request) const
265 {
266   Aws::Http::URI uri = m_uri;
267   return DescribeAlarmHistoryOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
268 }
269 
DescribeAlarmHistoryCallable(const DescribeAlarmHistoryRequest & request) const270 DescribeAlarmHistoryOutcomeCallable CloudWatchClient::DescribeAlarmHistoryCallable(const DescribeAlarmHistoryRequest& request) const
271 {
272   auto task = Aws::MakeShared< std::packaged_task< DescribeAlarmHistoryOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAlarmHistory(request); } );
273   auto packagedFunction = [task]() { (*task)(); };
274   m_executor->Submit(packagedFunction);
275   return task->get_future();
276 }
277 
DescribeAlarmHistoryAsync(const DescribeAlarmHistoryRequest & request,const DescribeAlarmHistoryResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const278 void CloudWatchClient::DescribeAlarmHistoryAsync(const DescribeAlarmHistoryRequest& request, const DescribeAlarmHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
279 {
280   m_executor->Submit( [this, request, handler, context](){ this->DescribeAlarmHistoryAsyncHelper( request, handler, context ); } );
281 }
282 
DescribeAlarmHistoryAsyncHelper(const DescribeAlarmHistoryRequest & request,const DescribeAlarmHistoryResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const283 void CloudWatchClient::DescribeAlarmHistoryAsyncHelper(const DescribeAlarmHistoryRequest& request, const DescribeAlarmHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
284 {
285   handler(this, request, DescribeAlarmHistory(request), context);
286 }
287 
DescribeAlarms(const DescribeAlarmsRequest & request) const288 DescribeAlarmsOutcome CloudWatchClient::DescribeAlarms(const DescribeAlarmsRequest& request) const
289 {
290   Aws::Http::URI uri = m_uri;
291   return DescribeAlarmsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
292 }
293 
DescribeAlarmsCallable(const DescribeAlarmsRequest & request) const294 DescribeAlarmsOutcomeCallable CloudWatchClient::DescribeAlarmsCallable(const DescribeAlarmsRequest& request) const
295 {
296   auto task = Aws::MakeShared< std::packaged_task< DescribeAlarmsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAlarms(request); } );
297   auto packagedFunction = [task]() { (*task)(); };
298   m_executor->Submit(packagedFunction);
299   return task->get_future();
300 }
301 
DescribeAlarmsAsync(const DescribeAlarmsRequest & request,const DescribeAlarmsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const302 void CloudWatchClient::DescribeAlarmsAsync(const DescribeAlarmsRequest& request, const DescribeAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
303 {
304   m_executor->Submit( [this, request, handler, context](){ this->DescribeAlarmsAsyncHelper( request, handler, context ); } );
305 }
306 
DescribeAlarmsAsyncHelper(const DescribeAlarmsRequest & request,const DescribeAlarmsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const307 void CloudWatchClient::DescribeAlarmsAsyncHelper(const DescribeAlarmsRequest& request, const DescribeAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
308 {
309   handler(this, request, DescribeAlarms(request), context);
310 }
311 
DescribeAlarmsForMetric(const DescribeAlarmsForMetricRequest & request) const312 DescribeAlarmsForMetricOutcome CloudWatchClient::DescribeAlarmsForMetric(const DescribeAlarmsForMetricRequest& request) const
313 {
314   Aws::Http::URI uri = m_uri;
315   return DescribeAlarmsForMetricOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
316 }
317 
DescribeAlarmsForMetricCallable(const DescribeAlarmsForMetricRequest & request) const318 DescribeAlarmsForMetricOutcomeCallable CloudWatchClient::DescribeAlarmsForMetricCallable(const DescribeAlarmsForMetricRequest& request) const
319 {
320   auto task = Aws::MakeShared< std::packaged_task< DescribeAlarmsForMetricOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAlarmsForMetric(request); } );
321   auto packagedFunction = [task]() { (*task)(); };
322   m_executor->Submit(packagedFunction);
323   return task->get_future();
324 }
325 
DescribeAlarmsForMetricAsync(const DescribeAlarmsForMetricRequest & request,const DescribeAlarmsForMetricResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const326 void CloudWatchClient::DescribeAlarmsForMetricAsync(const DescribeAlarmsForMetricRequest& request, const DescribeAlarmsForMetricResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
327 {
328   m_executor->Submit( [this, request, handler, context](){ this->DescribeAlarmsForMetricAsyncHelper( request, handler, context ); } );
329 }
330 
DescribeAlarmsForMetricAsyncHelper(const DescribeAlarmsForMetricRequest & request,const DescribeAlarmsForMetricResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const331 void CloudWatchClient::DescribeAlarmsForMetricAsyncHelper(const DescribeAlarmsForMetricRequest& request, const DescribeAlarmsForMetricResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
332 {
333   handler(this, request, DescribeAlarmsForMetric(request), context);
334 }
335 
DescribeAnomalyDetectors(const DescribeAnomalyDetectorsRequest & request) const336 DescribeAnomalyDetectorsOutcome CloudWatchClient::DescribeAnomalyDetectors(const DescribeAnomalyDetectorsRequest& request) const
337 {
338   Aws::Http::URI uri = m_uri;
339   return DescribeAnomalyDetectorsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
340 }
341 
DescribeAnomalyDetectorsCallable(const DescribeAnomalyDetectorsRequest & request) const342 DescribeAnomalyDetectorsOutcomeCallable CloudWatchClient::DescribeAnomalyDetectorsCallable(const DescribeAnomalyDetectorsRequest& request) const
343 {
344   auto task = Aws::MakeShared< std::packaged_task< DescribeAnomalyDetectorsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeAnomalyDetectors(request); } );
345   auto packagedFunction = [task]() { (*task)(); };
346   m_executor->Submit(packagedFunction);
347   return task->get_future();
348 }
349 
DescribeAnomalyDetectorsAsync(const DescribeAnomalyDetectorsRequest & request,const DescribeAnomalyDetectorsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const350 void CloudWatchClient::DescribeAnomalyDetectorsAsync(const DescribeAnomalyDetectorsRequest& request, const DescribeAnomalyDetectorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
351 {
352   m_executor->Submit( [this, request, handler, context](){ this->DescribeAnomalyDetectorsAsyncHelper( request, handler, context ); } );
353 }
354 
DescribeAnomalyDetectorsAsyncHelper(const DescribeAnomalyDetectorsRequest & request,const DescribeAnomalyDetectorsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const355 void CloudWatchClient::DescribeAnomalyDetectorsAsyncHelper(const DescribeAnomalyDetectorsRequest& request, const DescribeAnomalyDetectorsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
356 {
357   handler(this, request, DescribeAnomalyDetectors(request), context);
358 }
359 
DescribeInsightRules(const DescribeInsightRulesRequest & request) const360 DescribeInsightRulesOutcome CloudWatchClient::DescribeInsightRules(const DescribeInsightRulesRequest& request) const
361 {
362   Aws::Http::URI uri = m_uri;
363   return DescribeInsightRulesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
364 }
365 
DescribeInsightRulesCallable(const DescribeInsightRulesRequest & request) const366 DescribeInsightRulesOutcomeCallable CloudWatchClient::DescribeInsightRulesCallable(const DescribeInsightRulesRequest& request) const
367 {
368   auto task = Aws::MakeShared< std::packaged_task< DescribeInsightRulesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DescribeInsightRules(request); } );
369   auto packagedFunction = [task]() { (*task)(); };
370   m_executor->Submit(packagedFunction);
371   return task->get_future();
372 }
373 
DescribeInsightRulesAsync(const DescribeInsightRulesRequest & request,const DescribeInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const374 void CloudWatchClient::DescribeInsightRulesAsync(const DescribeInsightRulesRequest& request, const DescribeInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
375 {
376   m_executor->Submit( [this, request, handler, context](){ this->DescribeInsightRulesAsyncHelper( request, handler, context ); } );
377 }
378 
DescribeInsightRulesAsyncHelper(const DescribeInsightRulesRequest & request,const DescribeInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const379 void CloudWatchClient::DescribeInsightRulesAsyncHelper(const DescribeInsightRulesRequest& request, const DescribeInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
380 {
381   handler(this, request, DescribeInsightRules(request), context);
382 }
383 
DisableAlarmActions(const DisableAlarmActionsRequest & request) const384 DisableAlarmActionsOutcome CloudWatchClient::DisableAlarmActions(const DisableAlarmActionsRequest& request) const
385 {
386   Aws::Http::URI uri = m_uri;
387   return DisableAlarmActionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
388 }
389 
DisableAlarmActionsCallable(const DisableAlarmActionsRequest & request) const390 DisableAlarmActionsOutcomeCallable CloudWatchClient::DisableAlarmActionsCallable(const DisableAlarmActionsRequest& request) const
391 {
392   auto task = Aws::MakeShared< std::packaged_task< DisableAlarmActionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DisableAlarmActions(request); } );
393   auto packagedFunction = [task]() { (*task)(); };
394   m_executor->Submit(packagedFunction);
395   return task->get_future();
396 }
397 
DisableAlarmActionsAsync(const DisableAlarmActionsRequest & request,const DisableAlarmActionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const398 void CloudWatchClient::DisableAlarmActionsAsync(const DisableAlarmActionsRequest& request, const DisableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
399 {
400   m_executor->Submit( [this, request, handler, context](){ this->DisableAlarmActionsAsyncHelper( request, handler, context ); } );
401 }
402 
DisableAlarmActionsAsyncHelper(const DisableAlarmActionsRequest & request,const DisableAlarmActionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const403 void CloudWatchClient::DisableAlarmActionsAsyncHelper(const DisableAlarmActionsRequest& request, const DisableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
404 {
405   handler(this, request, DisableAlarmActions(request), context);
406 }
407 
DisableInsightRules(const DisableInsightRulesRequest & request) const408 DisableInsightRulesOutcome CloudWatchClient::DisableInsightRules(const DisableInsightRulesRequest& request) const
409 {
410   Aws::Http::URI uri = m_uri;
411   return DisableInsightRulesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
412 }
413 
DisableInsightRulesCallable(const DisableInsightRulesRequest & request) const414 DisableInsightRulesOutcomeCallable CloudWatchClient::DisableInsightRulesCallable(const DisableInsightRulesRequest& request) const
415 {
416   auto task = Aws::MakeShared< std::packaged_task< DisableInsightRulesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->DisableInsightRules(request); } );
417   auto packagedFunction = [task]() { (*task)(); };
418   m_executor->Submit(packagedFunction);
419   return task->get_future();
420 }
421 
DisableInsightRulesAsync(const DisableInsightRulesRequest & request,const DisableInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const422 void CloudWatchClient::DisableInsightRulesAsync(const DisableInsightRulesRequest& request, const DisableInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
423 {
424   m_executor->Submit( [this, request, handler, context](){ this->DisableInsightRulesAsyncHelper( request, handler, context ); } );
425 }
426 
DisableInsightRulesAsyncHelper(const DisableInsightRulesRequest & request,const DisableInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const427 void CloudWatchClient::DisableInsightRulesAsyncHelper(const DisableInsightRulesRequest& request, const DisableInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
428 {
429   handler(this, request, DisableInsightRules(request), context);
430 }
431 
EnableAlarmActions(const EnableAlarmActionsRequest & request) const432 EnableAlarmActionsOutcome CloudWatchClient::EnableAlarmActions(const EnableAlarmActionsRequest& request) const
433 {
434   Aws::Http::URI uri = m_uri;
435   return EnableAlarmActionsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
436 }
437 
EnableAlarmActionsCallable(const EnableAlarmActionsRequest & request) const438 EnableAlarmActionsOutcomeCallable CloudWatchClient::EnableAlarmActionsCallable(const EnableAlarmActionsRequest& request) const
439 {
440   auto task = Aws::MakeShared< std::packaged_task< EnableAlarmActionsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->EnableAlarmActions(request); } );
441   auto packagedFunction = [task]() { (*task)(); };
442   m_executor->Submit(packagedFunction);
443   return task->get_future();
444 }
445 
EnableAlarmActionsAsync(const EnableAlarmActionsRequest & request,const EnableAlarmActionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const446 void CloudWatchClient::EnableAlarmActionsAsync(const EnableAlarmActionsRequest& request, const EnableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
447 {
448   m_executor->Submit( [this, request, handler, context](){ this->EnableAlarmActionsAsyncHelper( request, handler, context ); } );
449 }
450 
EnableAlarmActionsAsyncHelper(const EnableAlarmActionsRequest & request,const EnableAlarmActionsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const451 void CloudWatchClient::EnableAlarmActionsAsyncHelper(const EnableAlarmActionsRequest& request, const EnableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
452 {
453   handler(this, request, EnableAlarmActions(request), context);
454 }
455 
EnableInsightRules(const EnableInsightRulesRequest & request) const456 EnableInsightRulesOutcome CloudWatchClient::EnableInsightRules(const EnableInsightRulesRequest& request) const
457 {
458   Aws::Http::URI uri = m_uri;
459   return EnableInsightRulesOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
460 }
461 
EnableInsightRulesCallable(const EnableInsightRulesRequest & request) const462 EnableInsightRulesOutcomeCallable CloudWatchClient::EnableInsightRulesCallable(const EnableInsightRulesRequest& request) const
463 {
464   auto task = Aws::MakeShared< std::packaged_task< EnableInsightRulesOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->EnableInsightRules(request); } );
465   auto packagedFunction = [task]() { (*task)(); };
466   m_executor->Submit(packagedFunction);
467   return task->get_future();
468 }
469 
EnableInsightRulesAsync(const EnableInsightRulesRequest & request,const EnableInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const470 void CloudWatchClient::EnableInsightRulesAsync(const EnableInsightRulesRequest& request, const EnableInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
471 {
472   m_executor->Submit( [this, request, handler, context](){ this->EnableInsightRulesAsyncHelper( request, handler, context ); } );
473 }
474 
EnableInsightRulesAsyncHelper(const EnableInsightRulesRequest & request,const EnableInsightRulesResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const475 void CloudWatchClient::EnableInsightRulesAsyncHelper(const EnableInsightRulesRequest& request, const EnableInsightRulesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
476 {
477   handler(this, request, EnableInsightRules(request), context);
478 }
479 
GetDashboard(const GetDashboardRequest & request) const480 GetDashboardOutcome CloudWatchClient::GetDashboard(const GetDashboardRequest& request) const
481 {
482   Aws::Http::URI uri = m_uri;
483   return GetDashboardOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
484 }
485 
GetDashboardCallable(const GetDashboardRequest & request) const486 GetDashboardOutcomeCallable CloudWatchClient::GetDashboardCallable(const GetDashboardRequest& request) const
487 {
488   auto task = Aws::MakeShared< std::packaged_task< GetDashboardOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetDashboard(request); } );
489   auto packagedFunction = [task]() { (*task)(); };
490   m_executor->Submit(packagedFunction);
491   return task->get_future();
492 }
493 
GetDashboardAsync(const GetDashboardRequest & request,const GetDashboardResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const494 void CloudWatchClient::GetDashboardAsync(const GetDashboardRequest& request, const GetDashboardResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
495 {
496   m_executor->Submit( [this, request, handler, context](){ this->GetDashboardAsyncHelper( request, handler, context ); } );
497 }
498 
GetDashboardAsyncHelper(const GetDashboardRequest & request,const GetDashboardResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const499 void CloudWatchClient::GetDashboardAsyncHelper(const GetDashboardRequest& request, const GetDashboardResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
500 {
501   handler(this, request, GetDashboard(request), context);
502 }
503 
GetInsightRuleReport(const GetInsightRuleReportRequest & request) const504 GetInsightRuleReportOutcome CloudWatchClient::GetInsightRuleReport(const GetInsightRuleReportRequest& request) const
505 {
506   Aws::Http::URI uri = m_uri;
507   return GetInsightRuleReportOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
508 }
509 
GetInsightRuleReportCallable(const GetInsightRuleReportRequest & request) const510 GetInsightRuleReportOutcomeCallable CloudWatchClient::GetInsightRuleReportCallable(const GetInsightRuleReportRequest& request) const
511 {
512   auto task = Aws::MakeShared< std::packaged_task< GetInsightRuleReportOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetInsightRuleReport(request); } );
513   auto packagedFunction = [task]() { (*task)(); };
514   m_executor->Submit(packagedFunction);
515   return task->get_future();
516 }
517 
GetInsightRuleReportAsync(const GetInsightRuleReportRequest & request,const GetInsightRuleReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const518 void CloudWatchClient::GetInsightRuleReportAsync(const GetInsightRuleReportRequest& request, const GetInsightRuleReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
519 {
520   m_executor->Submit( [this, request, handler, context](){ this->GetInsightRuleReportAsyncHelper( request, handler, context ); } );
521 }
522 
GetInsightRuleReportAsyncHelper(const GetInsightRuleReportRequest & request,const GetInsightRuleReportResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const523 void CloudWatchClient::GetInsightRuleReportAsyncHelper(const GetInsightRuleReportRequest& request, const GetInsightRuleReportResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
524 {
525   handler(this, request, GetInsightRuleReport(request), context);
526 }
527 
GetMetricData(const GetMetricDataRequest & request) const528 GetMetricDataOutcome CloudWatchClient::GetMetricData(const GetMetricDataRequest& request) const
529 {
530   Aws::Http::URI uri = m_uri;
531   return GetMetricDataOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
532 }
533 
GetMetricDataCallable(const GetMetricDataRequest & request) const534 GetMetricDataOutcomeCallable CloudWatchClient::GetMetricDataCallable(const GetMetricDataRequest& request) const
535 {
536   auto task = Aws::MakeShared< std::packaged_task< GetMetricDataOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetMetricData(request); } );
537   auto packagedFunction = [task]() { (*task)(); };
538   m_executor->Submit(packagedFunction);
539   return task->get_future();
540 }
541 
GetMetricDataAsync(const GetMetricDataRequest & request,const GetMetricDataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const542 void CloudWatchClient::GetMetricDataAsync(const GetMetricDataRequest& request, const GetMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
543 {
544   m_executor->Submit( [this, request, handler, context](){ this->GetMetricDataAsyncHelper( request, handler, context ); } );
545 }
546 
GetMetricDataAsyncHelper(const GetMetricDataRequest & request,const GetMetricDataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const547 void CloudWatchClient::GetMetricDataAsyncHelper(const GetMetricDataRequest& request, const GetMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
548 {
549   handler(this, request, GetMetricData(request), context);
550 }
551 
GetMetricStatistics(const GetMetricStatisticsRequest & request) const552 GetMetricStatisticsOutcome CloudWatchClient::GetMetricStatistics(const GetMetricStatisticsRequest& request) const
553 {
554   Aws::Http::URI uri = m_uri;
555   return GetMetricStatisticsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
556 }
557 
GetMetricStatisticsCallable(const GetMetricStatisticsRequest & request) const558 GetMetricStatisticsOutcomeCallable CloudWatchClient::GetMetricStatisticsCallable(const GetMetricStatisticsRequest& request) const
559 {
560   auto task = Aws::MakeShared< std::packaged_task< GetMetricStatisticsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetMetricStatistics(request); } );
561   auto packagedFunction = [task]() { (*task)(); };
562   m_executor->Submit(packagedFunction);
563   return task->get_future();
564 }
565 
GetMetricStatisticsAsync(const GetMetricStatisticsRequest & request,const GetMetricStatisticsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const566 void CloudWatchClient::GetMetricStatisticsAsync(const GetMetricStatisticsRequest& request, const GetMetricStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
567 {
568   m_executor->Submit( [this, request, handler, context](){ this->GetMetricStatisticsAsyncHelper( request, handler, context ); } );
569 }
570 
GetMetricStatisticsAsyncHelper(const GetMetricStatisticsRequest & request,const GetMetricStatisticsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const571 void CloudWatchClient::GetMetricStatisticsAsyncHelper(const GetMetricStatisticsRequest& request, const GetMetricStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
572 {
573   handler(this, request, GetMetricStatistics(request), context);
574 }
575 
GetMetricStream(const GetMetricStreamRequest & request) const576 GetMetricStreamOutcome CloudWatchClient::GetMetricStream(const GetMetricStreamRequest& request) const
577 {
578   Aws::Http::URI uri = m_uri;
579   return GetMetricStreamOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
580 }
581 
GetMetricStreamCallable(const GetMetricStreamRequest & request) const582 GetMetricStreamOutcomeCallable CloudWatchClient::GetMetricStreamCallable(const GetMetricStreamRequest& request) const
583 {
584   auto task = Aws::MakeShared< std::packaged_task< GetMetricStreamOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetMetricStream(request); } );
585   auto packagedFunction = [task]() { (*task)(); };
586   m_executor->Submit(packagedFunction);
587   return task->get_future();
588 }
589 
GetMetricStreamAsync(const GetMetricStreamRequest & request,const GetMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const590 void CloudWatchClient::GetMetricStreamAsync(const GetMetricStreamRequest& request, const GetMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
591 {
592   m_executor->Submit( [this, request, handler, context](){ this->GetMetricStreamAsyncHelper( request, handler, context ); } );
593 }
594 
GetMetricStreamAsyncHelper(const GetMetricStreamRequest & request,const GetMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const595 void CloudWatchClient::GetMetricStreamAsyncHelper(const GetMetricStreamRequest& request, const GetMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
596 {
597   handler(this, request, GetMetricStream(request), context);
598 }
599 
GetMetricWidgetImage(const GetMetricWidgetImageRequest & request) const600 GetMetricWidgetImageOutcome CloudWatchClient::GetMetricWidgetImage(const GetMetricWidgetImageRequest& request) const
601 {
602   Aws::Http::URI uri = m_uri;
603   return GetMetricWidgetImageOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
604 }
605 
GetMetricWidgetImageCallable(const GetMetricWidgetImageRequest & request) const606 GetMetricWidgetImageOutcomeCallable CloudWatchClient::GetMetricWidgetImageCallable(const GetMetricWidgetImageRequest& request) const
607 {
608   auto task = Aws::MakeShared< std::packaged_task< GetMetricWidgetImageOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->GetMetricWidgetImage(request); } );
609   auto packagedFunction = [task]() { (*task)(); };
610   m_executor->Submit(packagedFunction);
611   return task->get_future();
612 }
613 
GetMetricWidgetImageAsync(const GetMetricWidgetImageRequest & request,const GetMetricWidgetImageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const614 void CloudWatchClient::GetMetricWidgetImageAsync(const GetMetricWidgetImageRequest& request, const GetMetricWidgetImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
615 {
616   m_executor->Submit( [this, request, handler, context](){ this->GetMetricWidgetImageAsyncHelper( request, handler, context ); } );
617 }
618 
GetMetricWidgetImageAsyncHelper(const GetMetricWidgetImageRequest & request,const GetMetricWidgetImageResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const619 void CloudWatchClient::GetMetricWidgetImageAsyncHelper(const GetMetricWidgetImageRequest& request, const GetMetricWidgetImageResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
620 {
621   handler(this, request, GetMetricWidgetImage(request), context);
622 }
623 
ListDashboards(const ListDashboardsRequest & request) const624 ListDashboardsOutcome CloudWatchClient::ListDashboards(const ListDashboardsRequest& request) const
625 {
626   Aws::Http::URI uri = m_uri;
627   return ListDashboardsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
628 }
629 
ListDashboardsCallable(const ListDashboardsRequest & request) const630 ListDashboardsOutcomeCallable CloudWatchClient::ListDashboardsCallable(const ListDashboardsRequest& request) const
631 {
632   auto task = Aws::MakeShared< std::packaged_task< ListDashboardsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListDashboards(request); } );
633   auto packagedFunction = [task]() { (*task)(); };
634   m_executor->Submit(packagedFunction);
635   return task->get_future();
636 }
637 
ListDashboardsAsync(const ListDashboardsRequest & request,const ListDashboardsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const638 void CloudWatchClient::ListDashboardsAsync(const ListDashboardsRequest& request, const ListDashboardsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
639 {
640   m_executor->Submit( [this, request, handler, context](){ this->ListDashboardsAsyncHelper( request, handler, context ); } );
641 }
642 
ListDashboardsAsyncHelper(const ListDashboardsRequest & request,const ListDashboardsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const643 void CloudWatchClient::ListDashboardsAsyncHelper(const ListDashboardsRequest& request, const ListDashboardsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
644 {
645   handler(this, request, ListDashboards(request), context);
646 }
647 
ListMetricStreams(const ListMetricStreamsRequest & request) const648 ListMetricStreamsOutcome CloudWatchClient::ListMetricStreams(const ListMetricStreamsRequest& request) const
649 {
650   Aws::Http::URI uri = m_uri;
651   return ListMetricStreamsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
652 }
653 
ListMetricStreamsCallable(const ListMetricStreamsRequest & request) const654 ListMetricStreamsOutcomeCallable CloudWatchClient::ListMetricStreamsCallable(const ListMetricStreamsRequest& request) const
655 {
656   auto task = Aws::MakeShared< std::packaged_task< ListMetricStreamsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListMetricStreams(request); } );
657   auto packagedFunction = [task]() { (*task)(); };
658   m_executor->Submit(packagedFunction);
659   return task->get_future();
660 }
661 
ListMetricStreamsAsync(const ListMetricStreamsRequest & request,const ListMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const662 void CloudWatchClient::ListMetricStreamsAsync(const ListMetricStreamsRequest& request, const ListMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
663 {
664   m_executor->Submit( [this, request, handler, context](){ this->ListMetricStreamsAsyncHelper( request, handler, context ); } );
665 }
666 
ListMetricStreamsAsyncHelper(const ListMetricStreamsRequest & request,const ListMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const667 void CloudWatchClient::ListMetricStreamsAsyncHelper(const ListMetricStreamsRequest& request, const ListMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
668 {
669   handler(this, request, ListMetricStreams(request), context);
670 }
671 
ListMetrics(const ListMetricsRequest & request) const672 ListMetricsOutcome CloudWatchClient::ListMetrics(const ListMetricsRequest& request) const
673 {
674   Aws::Http::URI uri = m_uri;
675   return ListMetricsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
676 }
677 
ListMetricsCallable(const ListMetricsRequest & request) const678 ListMetricsOutcomeCallable CloudWatchClient::ListMetricsCallable(const ListMetricsRequest& request) const
679 {
680   auto task = Aws::MakeShared< std::packaged_task< ListMetricsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListMetrics(request); } );
681   auto packagedFunction = [task]() { (*task)(); };
682   m_executor->Submit(packagedFunction);
683   return task->get_future();
684 }
685 
ListMetricsAsync(const ListMetricsRequest & request,const ListMetricsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const686 void CloudWatchClient::ListMetricsAsync(const ListMetricsRequest& request, const ListMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
687 {
688   m_executor->Submit( [this, request, handler, context](){ this->ListMetricsAsyncHelper( request, handler, context ); } );
689 }
690 
ListMetricsAsyncHelper(const ListMetricsRequest & request,const ListMetricsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const691 void CloudWatchClient::ListMetricsAsyncHelper(const ListMetricsRequest& request, const ListMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
692 {
693   handler(this, request, ListMetrics(request), context);
694 }
695 
ListTagsForResource(const ListTagsForResourceRequest & request) const696 ListTagsForResourceOutcome CloudWatchClient::ListTagsForResource(const ListTagsForResourceRequest& request) const
697 {
698   Aws::Http::URI uri = m_uri;
699   return ListTagsForResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
700 }
701 
ListTagsForResourceCallable(const ListTagsForResourceRequest & request) const702 ListTagsForResourceOutcomeCallable CloudWatchClient::ListTagsForResourceCallable(const ListTagsForResourceRequest& request) const
703 {
704   auto task = Aws::MakeShared< std::packaged_task< ListTagsForResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->ListTagsForResource(request); } );
705   auto packagedFunction = [task]() { (*task)(); };
706   m_executor->Submit(packagedFunction);
707   return task->get_future();
708 }
709 
ListTagsForResourceAsync(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const710 void CloudWatchClient::ListTagsForResourceAsync(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
711 {
712   m_executor->Submit( [this, request, handler, context](){ this->ListTagsForResourceAsyncHelper( request, handler, context ); } );
713 }
714 
ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest & request,const ListTagsForResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const715 void CloudWatchClient::ListTagsForResourceAsyncHelper(const ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
716 {
717   handler(this, request, ListTagsForResource(request), context);
718 }
719 
PutAnomalyDetector(const PutAnomalyDetectorRequest & request) const720 PutAnomalyDetectorOutcome CloudWatchClient::PutAnomalyDetector(const PutAnomalyDetectorRequest& request) const
721 {
722   Aws::Http::URI uri = m_uri;
723   return PutAnomalyDetectorOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
724 }
725 
PutAnomalyDetectorCallable(const PutAnomalyDetectorRequest & request) const726 PutAnomalyDetectorOutcomeCallable CloudWatchClient::PutAnomalyDetectorCallable(const PutAnomalyDetectorRequest& request) const
727 {
728   auto task = Aws::MakeShared< std::packaged_task< PutAnomalyDetectorOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutAnomalyDetector(request); } );
729   auto packagedFunction = [task]() { (*task)(); };
730   m_executor->Submit(packagedFunction);
731   return task->get_future();
732 }
733 
PutAnomalyDetectorAsync(const PutAnomalyDetectorRequest & request,const PutAnomalyDetectorResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const734 void CloudWatchClient::PutAnomalyDetectorAsync(const PutAnomalyDetectorRequest& request, const PutAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
735 {
736   m_executor->Submit( [this, request, handler, context](){ this->PutAnomalyDetectorAsyncHelper( request, handler, context ); } );
737 }
738 
PutAnomalyDetectorAsyncHelper(const PutAnomalyDetectorRequest & request,const PutAnomalyDetectorResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const739 void CloudWatchClient::PutAnomalyDetectorAsyncHelper(const PutAnomalyDetectorRequest& request, const PutAnomalyDetectorResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
740 {
741   handler(this, request, PutAnomalyDetector(request), context);
742 }
743 
PutCompositeAlarm(const PutCompositeAlarmRequest & request) const744 PutCompositeAlarmOutcome CloudWatchClient::PutCompositeAlarm(const PutCompositeAlarmRequest& request) const
745 {
746   Aws::Http::URI uri = m_uri;
747   return PutCompositeAlarmOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
748 }
749 
PutCompositeAlarmCallable(const PutCompositeAlarmRequest & request) const750 PutCompositeAlarmOutcomeCallable CloudWatchClient::PutCompositeAlarmCallable(const PutCompositeAlarmRequest& request) const
751 {
752   auto task = Aws::MakeShared< std::packaged_task< PutCompositeAlarmOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutCompositeAlarm(request); } );
753   auto packagedFunction = [task]() { (*task)(); };
754   m_executor->Submit(packagedFunction);
755   return task->get_future();
756 }
757 
PutCompositeAlarmAsync(const PutCompositeAlarmRequest & request,const PutCompositeAlarmResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const758 void CloudWatchClient::PutCompositeAlarmAsync(const PutCompositeAlarmRequest& request, const PutCompositeAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
759 {
760   m_executor->Submit( [this, request, handler, context](){ this->PutCompositeAlarmAsyncHelper( request, handler, context ); } );
761 }
762 
PutCompositeAlarmAsyncHelper(const PutCompositeAlarmRequest & request,const PutCompositeAlarmResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const763 void CloudWatchClient::PutCompositeAlarmAsyncHelper(const PutCompositeAlarmRequest& request, const PutCompositeAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
764 {
765   handler(this, request, PutCompositeAlarm(request), context);
766 }
767 
PutDashboard(const PutDashboardRequest & request) const768 PutDashboardOutcome CloudWatchClient::PutDashboard(const PutDashboardRequest& request) const
769 {
770   Aws::Http::URI uri = m_uri;
771   return PutDashboardOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
772 }
773 
PutDashboardCallable(const PutDashboardRequest & request) const774 PutDashboardOutcomeCallable CloudWatchClient::PutDashboardCallable(const PutDashboardRequest& request) const
775 {
776   auto task = Aws::MakeShared< std::packaged_task< PutDashboardOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutDashboard(request); } );
777   auto packagedFunction = [task]() { (*task)(); };
778   m_executor->Submit(packagedFunction);
779   return task->get_future();
780 }
781 
PutDashboardAsync(const PutDashboardRequest & request,const PutDashboardResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const782 void CloudWatchClient::PutDashboardAsync(const PutDashboardRequest& request, const PutDashboardResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
783 {
784   m_executor->Submit( [this, request, handler, context](){ this->PutDashboardAsyncHelper( request, handler, context ); } );
785 }
786 
PutDashboardAsyncHelper(const PutDashboardRequest & request,const PutDashboardResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const787 void CloudWatchClient::PutDashboardAsyncHelper(const PutDashboardRequest& request, const PutDashboardResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
788 {
789   handler(this, request, PutDashboard(request), context);
790 }
791 
PutInsightRule(const PutInsightRuleRequest & request) const792 PutInsightRuleOutcome CloudWatchClient::PutInsightRule(const PutInsightRuleRequest& request) const
793 {
794   Aws::Http::URI uri = m_uri;
795   return PutInsightRuleOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
796 }
797 
PutInsightRuleCallable(const PutInsightRuleRequest & request) const798 PutInsightRuleOutcomeCallable CloudWatchClient::PutInsightRuleCallable(const PutInsightRuleRequest& request) const
799 {
800   auto task = Aws::MakeShared< std::packaged_task< PutInsightRuleOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutInsightRule(request); } );
801   auto packagedFunction = [task]() { (*task)(); };
802   m_executor->Submit(packagedFunction);
803   return task->get_future();
804 }
805 
PutInsightRuleAsync(const PutInsightRuleRequest & request,const PutInsightRuleResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const806 void CloudWatchClient::PutInsightRuleAsync(const PutInsightRuleRequest& request, const PutInsightRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
807 {
808   m_executor->Submit( [this, request, handler, context](){ this->PutInsightRuleAsyncHelper( request, handler, context ); } );
809 }
810 
PutInsightRuleAsyncHelper(const PutInsightRuleRequest & request,const PutInsightRuleResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const811 void CloudWatchClient::PutInsightRuleAsyncHelper(const PutInsightRuleRequest& request, const PutInsightRuleResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
812 {
813   handler(this, request, PutInsightRule(request), context);
814 }
815 
PutMetricAlarm(const PutMetricAlarmRequest & request) const816 PutMetricAlarmOutcome CloudWatchClient::PutMetricAlarm(const PutMetricAlarmRequest& request) const
817 {
818   Aws::Http::URI uri = m_uri;
819   return PutMetricAlarmOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
820 }
821 
PutMetricAlarmCallable(const PutMetricAlarmRequest & request) const822 PutMetricAlarmOutcomeCallable CloudWatchClient::PutMetricAlarmCallable(const PutMetricAlarmRequest& request) const
823 {
824   auto task = Aws::MakeShared< std::packaged_task< PutMetricAlarmOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutMetricAlarm(request); } );
825   auto packagedFunction = [task]() { (*task)(); };
826   m_executor->Submit(packagedFunction);
827   return task->get_future();
828 }
829 
PutMetricAlarmAsync(const PutMetricAlarmRequest & request,const PutMetricAlarmResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const830 void CloudWatchClient::PutMetricAlarmAsync(const PutMetricAlarmRequest& request, const PutMetricAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
831 {
832   m_executor->Submit( [this, request, handler, context](){ this->PutMetricAlarmAsyncHelper( request, handler, context ); } );
833 }
834 
PutMetricAlarmAsyncHelper(const PutMetricAlarmRequest & request,const PutMetricAlarmResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const835 void CloudWatchClient::PutMetricAlarmAsyncHelper(const PutMetricAlarmRequest& request, const PutMetricAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
836 {
837   handler(this, request, PutMetricAlarm(request), context);
838 }
839 
PutMetricData(const PutMetricDataRequest & request) const840 PutMetricDataOutcome CloudWatchClient::PutMetricData(const PutMetricDataRequest& request) const
841 {
842   Aws::Http::URI uri = m_uri;
843   return PutMetricDataOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
844 }
845 
PutMetricDataCallable(const PutMetricDataRequest & request) const846 PutMetricDataOutcomeCallable CloudWatchClient::PutMetricDataCallable(const PutMetricDataRequest& request) const
847 {
848   auto task = Aws::MakeShared< std::packaged_task< PutMetricDataOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutMetricData(request); } );
849   auto packagedFunction = [task]() { (*task)(); };
850   m_executor->Submit(packagedFunction);
851   return task->get_future();
852 }
853 
PutMetricDataAsync(const PutMetricDataRequest & request,const PutMetricDataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const854 void CloudWatchClient::PutMetricDataAsync(const PutMetricDataRequest& request, const PutMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
855 {
856   m_executor->Submit( [this, request, handler, context](){ this->PutMetricDataAsyncHelper( request, handler, context ); } );
857 }
858 
PutMetricDataAsyncHelper(const PutMetricDataRequest & request,const PutMetricDataResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const859 void CloudWatchClient::PutMetricDataAsyncHelper(const PutMetricDataRequest& request, const PutMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
860 {
861   handler(this, request, PutMetricData(request), context);
862 }
863 
PutMetricStream(const PutMetricStreamRequest & request) const864 PutMetricStreamOutcome CloudWatchClient::PutMetricStream(const PutMetricStreamRequest& request) const
865 {
866   Aws::Http::URI uri = m_uri;
867   return PutMetricStreamOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
868 }
869 
PutMetricStreamCallable(const PutMetricStreamRequest & request) const870 PutMetricStreamOutcomeCallable CloudWatchClient::PutMetricStreamCallable(const PutMetricStreamRequest& request) const
871 {
872   auto task = Aws::MakeShared< std::packaged_task< PutMetricStreamOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->PutMetricStream(request); } );
873   auto packagedFunction = [task]() { (*task)(); };
874   m_executor->Submit(packagedFunction);
875   return task->get_future();
876 }
877 
PutMetricStreamAsync(const PutMetricStreamRequest & request,const PutMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const878 void CloudWatchClient::PutMetricStreamAsync(const PutMetricStreamRequest& request, const PutMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
879 {
880   m_executor->Submit( [this, request, handler, context](){ this->PutMetricStreamAsyncHelper( request, handler, context ); } );
881 }
882 
PutMetricStreamAsyncHelper(const PutMetricStreamRequest & request,const PutMetricStreamResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const883 void CloudWatchClient::PutMetricStreamAsyncHelper(const PutMetricStreamRequest& request, const PutMetricStreamResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
884 {
885   handler(this, request, PutMetricStream(request), context);
886 }
887 
SetAlarmState(const SetAlarmStateRequest & request) const888 SetAlarmStateOutcome CloudWatchClient::SetAlarmState(const SetAlarmStateRequest& request) const
889 {
890   Aws::Http::URI uri = m_uri;
891   return SetAlarmStateOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
892 }
893 
SetAlarmStateCallable(const SetAlarmStateRequest & request) const894 SetAlarmStateOutcomeCallable CloudWatchClient::SetAlarmStateCallable(const SetAlarmStateRequest& request) const
895 {
896   auto task = Aws::MakeShared< std::packaged_task< SetAlarmStateOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->SetAlarmState(request); } );
897   auto packagedFunction = [task]() { (*task)(); };
898   m_executor->Submit(packagedFunction);
899   return task->get_future();
900 }
901 
SetAlarmStateAsync(const SetAlarmStateRequest & request,const SetAlarmStateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const902 void CloudWatchClient::SetAlarmStateAsync(const SetAlarmStateRequest& request, const SetAlarmStateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
903 {
904   m_executor->Submit( [this, request, handler, context](){ this->SetAlarmStateAsyncHelper( request, handler, context ); } );
905 }
906 
SetAlarmStateAsyncHelper(const SetAlarmStateRequest & request,const SetAlarmStateResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const907 void CloudWatchClient::SetAlarmStateAsyncHelper(const SetAlarmStateRequest& request, const SetAlarmStateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
908 {
909   handler(this, request, SetAlarmState(request), context);
910 }
911 
StartMetricStreams(const StartMetricStreamsRequest & request) const912 StartMetricStreamsOutcome CloudWatchClient::StartMetricStreams(const StartMetricStreamsRequest& request) const
913 {
914   Aws::Http::URI uri = m_uri;
915   return StartMetricStreamsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
916 }
917 
StartMetricStreamsCallable(const StartMetricStreamsRequest & request) const918 StartMetricStreamsOutcomeCallable CloudWatchClient::StartMetricStreamsCallable(const StartMetricStreamsRequest& request) const
919 {
920   auto task = Aws::MakeShared< std::packaged_task< StartMetricStreamsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StartMetricStreams(request); } );
921   auto packagedFunction = [task]() { (*task)(); };
922   m_executor->Submit(packagedFunction);
923   return task->get_future();
924 }
925 
StartMetricStreamsAsync(const StartMetricStreamsRequest & request,const StartMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const926 void CloudWatchClient::StartMetricStreamsAsync(const StartMetricStreamsRequest& request, const StartMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
927 {
928   m_executor->Submit( [this, request, handler, context](){ this->StartMetricStreamsAsyncHelper( request, handler, context ); } );
929 }
930 
StartMetricStreamsAsyncHelper(const StartMetricStreamsRequest & request,const StartMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const931 void CloudWatchClient::StartMetricStreamsAsyncHelper(const StartMetricStreamsRequest& request, const StartMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
932 {
933   handler(this, request, StartMetricStreams(request), context);
934 }
935 
StopMetricStreams(const StopMetricStreamsRequest & request) const936 StopMetricStreamsOutcome CloudWatchClient::StopMetricStreams(const StopMetricStreamsRequest& request) const
937 {
938   Aws::Http::URI uri = m_uri;
939   return StopMetricStreamsOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
940 }
941 
StopMetricStreamsCallable(const StopMetricStreamsRequest & request) const942 StopMetricStreamsOutcomeCallable CloudWatchClient::StopMetricStreamsCallable(const StopMetricStreamsRequest& request) const
943 {
944   auto task = Aws::MakeShared< std::packaged_task< StopMetricStreamsOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->StopMetricStreams(request); } );
945   auto packagedFunction = [task]() { (*task)(); };
946   m_executor->Submit(packagedFunction);
947   return task->get_future();
948 }
949 
StopMetricStreamsAsync(const StopMetricStreamsRequest & request,const StopMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const950 void CloudWatchClient::StopMetricStreamsAsync(const StopMetricStreamsRequest& request, const StopMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
951 {
952   m_executor->Submit( [this, request, handler, context](){ this->StopMetricStreamsAsyncHelper( request, handler, context ); } );
953 }
954 
StopMetricStreamsAsyncHelper(const StopMetricStreamsRequest & request,const StopMetricStreamsResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const955 void CloudWatchClient::StopMetricStreamsAsyncHelper(const StopMetricStreamsRequest& request, const StopMetricStreamsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
956 {
957   handler(this, request, StopMetricStreams(request), context);
958 }
959 
TagResource(const TagResourceRequest & request) const960 TagResourceOutcome CloudWatchClient::TagResource(const TagResourceRequest& request) const
961 {
962   Aws::Http::URI uri = m_uri;
963   return TagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
964 }
965 
TagResourceCallable(const TagResourceRequest & request) const966 TagResourceOutcomeCallable CloudWatchClient::TagResourceCallable(const TagResourceRequest& request) const
967 {
968   auto task = Aws::MakeShared< std::packaged_task< TagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->TagResource(request); } );
969   auto packagedFunction = [task]() { (*task)(); };
970   m_executor->Submit(packagedFunction);
971   return task->get_future();
972 }
973 
TagResourceAsync(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const974 void CloudWatchClient::TagResourceAsync(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
975 {
976   m_executor->Submit( [this, request, handler, context](){ this->TagResourceAsyncHelper( request, handler, context ); } );
977 }
978 
TagResourceAsyncHelper(const TagResourceRequest & request,const TagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const979 void CloudWatchClient::TagResourceAsyncHelper(const TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
980 {
981   handler(this, request, TagResource(request), context);
982 }
983 
UntagResource(const UntagResourceRequest & request) const984 UntagResourceOutcome CloudWatchClient::UntagResource(const UntagResourceRequest& request) const
985 {
986   Aws::Http::URI uri = m_uri;
987   return UntagResourceOutcome(MakeRequest(uri, request, Aws::Http::HttpMethod::HTTP_POST));
988 }
989 
UntagResourceCallable(const UntagResourceRequest & request) const990 UntagResourceOutcomeCallable CloudWatchClient::UntagResourceCallable(const UntagResourceRequest& request) const
991 {
992   auto task = Aws::MakeShared< std::packaged_task< UntagResourceOutcome() > >(ALLOCATION_TAG, [this, request](){ return this->UntagResource(request); } );
993   auto packagedFunction = [task]() { (*task)(); };
994   m_executor->Submit(packagedFunction);
995   return task->get_future();
996 }
997 
UntagResourceAsync(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const998 void CloudWatchClient::UntagResourceAsync(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
999 {
1000   m_executor->Submit( [this, request, handler, context](){ this->UntagResourceAsyncHelper( request, handler, context ); } );
1001 }
1002 
UntagResourceAsyncHelper(const UntagResourceRequest & request,const UntagResourceResponseReceivedHandler & handler,const std::shared_ptr<const Aws::Client::AsyncCallerContext> & context) const1003 void CloudWatchClient::UntagResourceAsyncHelper(const UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const
1004 {
1005   handler(this, request, UntagResource(request), context);
1006 }
1007 
1008