AWS SDK for C++  0.12.9
AWS SDK for C++
CloudWatchClient.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
28 #include <aws/core/NoResult.h>
31 #include <future>
32 #include <functional>
33 
34 namespace Aws
35 {
36 
37 namespace Http
38 {
39  class HttpClient;
40  class HttpClientFactory;
41 } // namespace Http
42 
43 namespace Utils
44 {
45  template< typename R, typename E> class Outcome;
46 
47 namespace Threading
48 {
49  class Executor;
50 } // namespace Threading
51 
52 namespace Xml
53 {
54  class XmlDocument;
55 } // namespace Xml
56 } // namespace Utils
57 
58 namespace Auth
59 {
60  class AWSCredentials;
61  class AWSCredentialsProvider;
62 } // namespace Auth
63 
64 namespace Client
65 {
66  class RetryStrategy;
67 } // namespace Client
68 
69 namespace CloudWatch
70 {
71 
72 namespace Model
73 {
74  class DeleteAlarmsRequest;
81  class ListMetricsRequest;
85 
97 
98  typedef std::future<DeleteAlarmsOutcome> DeleteAlarmsOutcomeCallable;
99  typedef std::future<DescribeAlarmHistoryOutcome> DescribeAlarmHistoryOutcomeCallable;
100  typedef std::future<DescribeAlarmsOutcome> DescribeAlarmsOutcomeCallable;
101  typedef std::future<DescribeAlarmsForMetricOutcome> DescribeAlarmsForMetricOutcomeCallable;
102  typedef std::future<DisableAlarmActionsOutcome> DisableAlarmActionsOutcomeCallable;
103  typedef std::future<EnableAlarmActionsOutcome> EnableAlarmActionsOutcomeCallable;
104  typedef std::future<GetMetricStatisticsOutcome> GetMetricStatisticsOutcomeCallable;
105  typedef std::future<ListMetricsOutcome> ListMetricsOutcomeCallable;
106  typedef std::future<PutMetricAlarmOutcome> PutMetricAlarmOutcomeCallable;
107  typedef std::future<PutMetricDataOutcome> PutMetricDataOutcomeCallable;
108  typedef std::future<SetAlarmStateOutcome> SetAlarmStateOutcomeCallable;
109 } // namespace Model
110 
112 
113  typedef std::function<void(const CloudWatchClient*, const Model::DeleteAlarmsRequest&, const Model::DeleteAlarmsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteAlarmsResponseReceivedHandler;
114  typedef std::function<void(const CloudWatchClient*, const Model::DescribeAlarmHistoryRequest&, const Model::DescribeAlarmHistoryOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAlarmHistoryResponseReceivedHandler;
115  typedef std::function<void(const CloudWatchClient*, const Model::DescribeAlarmsRequest&, const Model::DescribeAlarmsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAlarmsResponseReceivedHandler;
116  typedef std::function<void(const CloudWatchClient*, const Model::DescribeAlarmsForMetricRequest&, const Model::DescribeAlarmsForMetricOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeAlarmsForMetricResponseReceivedHandler;
117  typedef std::function<void(const CloudWatchClient*, const Model::DisableAlarmActionsRequest&, const Model::DisableAlarmActionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DisableAlarmActionsResponseReceivedHandler;
118  typedef std::function<void(const CloudWatchClient*, const Model::EnableAlarmActionsRequest&, const Model::EnableAlarmActionsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > EnableAlarmActionsResponseReceivedHandler;
119  typedef std::function<void(const CloudWatchClient*, const Model::GetMetricStatisticsRequest&, const Model::GetMetricStatisticsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > GetMetricStatisticsResponseReceivedHandler;
120  typedef std::function<void(const CloudWatchClient*, const Model::ListMetricsRequest&, const Model::ListMetricsOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMetricsResponseReceivedHandler;
121  typedef std::function<void(const CloudWatchClient*, const Model::PutMetricAlarmRequest&, const Model::PutMetricAlarmOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutMetricAlarmResponseReceivedHandler;
122  typedef std::function<void(const CloudWatchClient*, const Model::PutMetricDataRequest&, const Model::PutMetricDataOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > PutMetricDataResponseReceivedHandler;
123  typedef std::function<void(const CloudWatchClient*, const Model::SetAlarmStateRequest&, const Model::SetAlarmStateOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > SetAlarmStateResponseReceivedHandler;
124 
141  {
142  public:
144 
150 
155  CloudWatchClient(const Auth::AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration = Client::ClientConfiguration());
156 
161  CloudWatchClient(const std::shared_ptr<Auth::AWSCredentialsProvider>& credentialsProvider,
162  const Client::ClientConfiguration& clientConfiguration = Client::ClientConfiguration());
163 
164  virtual ~CloudWatchClient();
165 
170  virtual Model::DeleteAlarmsOutcome DeleteAlarms(const Model::DeleteAlarmsRequest& request) const;
171 
178  virtual Model::DeleteAlarmsOutcomeCallable DeleteAlarmsCallable(const Model::DeleteAlarmsRequest& request) const;
179 
186  virtual void DeleteAlarmsAsync(const Model::DeleteAlarmsRequest& request, const DeleteAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
187 
195  virtual Model::DescribeAlarmHistoryOutcome DescribeAlarmHistory(const Model::DescribeAlarmHistoryRequest& request) const;
196 
206  virtual Model::DescribeAlarmHistoryOutcomeCallable DescribeAlarmHistoryCallable(const Model::DescribeAlarmHistoryRequest& request) const;
207 
217  virtual void DescribeAlarmHistoryAsync(const Model::DescribeAlarmHistoryRequest& request, const DescribeAlarmHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
218 
224  virtual Model::DescribeAlarmsOutcome DescribeAlarms(const Model::DescribeAlarmsRequest& request) const;
225 
233  virtual Model::DescribeAlarmsOutcomeCallable DescribeAlarmsCallable(const Model::DescribeAlarmsRequest& request) const;
234 
242  virtual void DescribeAlarmsAsync(const Model::DescribeAlarmsRequest& request, const DescribeAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
243 
248  virtual Model::DescribeAlarmsForMetricOutcome DescribeAlarmsForMetric(const Model::DescribeAlarmsForMetricRequest& request) const;
249 
256  virtual Model::DescribeAlarmsForMetricOutcomeCallable DescribeAlarmsForMetricCallable(const Model::DescribeAlarmsForMetricRequest& request) const;
257 
264  virtual void DescribeAlarmsForMetricAsync(const Model::DescribeAlarmsForMetricRequest& request, const DescribeAlarmsForMetricResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
265 
271  virtual Model::DisableAlarmActionsOutcome DisableAlarmActions(const Model::DisableAlarmActionsRequest& request) const;
272 
280  virtual Model::DisableAlarmActionsOutcomeCallable DisableAlarmActionsCallable(const Model::DisableAlarmActionsRequest& request) const;
281 
289  virtual void DisableAlarmActionsAsync(const Model::DisableAlarmActionsRequest& request, const DisableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
290 
294  virtual Model::EnableAlarmActionsOutcome EnableAlarmActions(const Model::EnableAlarmActionsRequest& request) const;
295 
301  virtual Model::EnableAlarmActionsOutcomeCallable EnableAlarmActionsCallable(const Model::EnableAlarmActionsRequest& request) const;
302 
308  virtual void EnableAlarmActionsAsync(const Model::EnableAlarmActionsRequest& request, const EnableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
309 
336  virtual Model::GetMetricStatisticsOutcome GetMetricStatistics(const Model::GetMetricStatisticsRequest& request) const;
337 
366  virtual Model::GetMetricStatisticsOutcomeCallable GetMetricStatisticsCallable(const Model::GetMetricStatisticsRequest& request) const;
367 
396  virtual void GetMetricStatisticsAsync(const Model::GetMetricStatisticsRequest& request, const GetMetricStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
397 
409  virtual Model::ListMetricsOutcome ListMetrics(const Model::ListMetricsRequest& request) const;
410 
424  virtual Model::ListMetricsOutcomeCallable ListMetricsCallable(const Model::ListMetricsRequest& request) const;
425 
439  virtual void ListMetricsAsync(const Model::ListMetricsRequest& request, const ListMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
440 
472  virtual Model::PutMetricAlarmOutcome PutMetricAlarm(const Model::PutMetricAlarmRequest& request) const;
473 
507  virtual Model::PutMetricAlarmOutcomeCallable PutMetricAlarmCallable(const Model::PutMetricAlarmRequest& request) const;
508 
542  virtual void PutMetricAlarmAsync(const Model::PutMetricAlarmRequest& request, const PutMetricAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
543 
560  virtual Model::PutMetricDataOutcome PutMetricData(const Model::PutMetricDataRequest& request) const;
561 
580  virtual Model::PutMetricDataOutcomeCallable PutMetricDataCallable(const Model::PutMetricDataRequest& request) const;
581 
600  virtual void PutMetricDataAsync(const Model::PutMetricDataRequest& request, const PutMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
601 
613  virtual Model::SetAlarmStateOutcome SetAlarmState(const Model::SetAlarmStateRequest& request) const;
614 
628  virtual Model::SetAlarmStateOutcomeCallable SetAlarmStateCallable(const Model::SetAlarmStateRequest& request) const;
629 
643  virtual void SetAlarmStateAsync(const Model::SetAlarmStateRequest& request, const SetAlarmStateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const;
644 
645 
646  private:
647  void init(const Client::ClientConfiguration& clientConfiguration);
648 
650  void DeleteAlarmsAsyncHelper(const Model::DeleteAlarmsRequest& request, const DeleteAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
651  void DescribeAlarmHistoryAsyncHelper(const Model::DescribeAlarmHistoryRequest& request, const DescribeAlarmHistoryResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
652  void DescribeAlarmsAsyncHelper(const Model::DescribeAlarmsRequest& request, const DescribeAlarmsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
653  void DescribeAlarmsForMetricAsyncHelper(const Model::DescribeAlarmsForMetricRequest& request, const DescribeAlarmsForMetricResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
654  void DisableAlarmActionsAsyncHelper(const Model::DisableAlarmActionsRequest& request, const DisableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
655  void EnableAlarmActionsAsyncHelper(const Model::EnableAlarmActionsRequest& request, const EnableAlarmActionsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
656  void GetMetricStatisticsAsyncHelper(const Model::GetMetricStatisticsRequest& request, const GetMetricStatisticsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
657  void ListMetricsAsyncHelper(const Model::ListMetricsRequest& request, const ListMetricsResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
658  void PutMetricAlarmAsyncHelper(const Model::PutMetricAlarmRequest& request, const PutMetricAlarmResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
659  void PutMetricDataAsyncHelper(const Model::PutMetricDataRequest& request, const PutMetricDataResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
660  void SetAlarmStateAsyncHelper(const Model::SetAlarmStateRequest& request, const SetAlarmStateResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const;
661 
662  Aws::String m_uri;
663  std::shared_ptr<Utils::Threading::Executor> m_executor;
664  };
665 
666 } // namespace CloudWatch
667 } // namespace Aws
std::function< void(const CloudWatchClient *, const Model::PutMetricAlarmRequest &, const Model::PutMetricAlarmOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutMetricAlarmResponseReceivedHandler
Aws::Utils::Outcome< DescribeAlarmsResult, Aws::Client::AWSError< CloudWatchErrors > > DescribeAlarmsOutcome
Aws::Client::AWSXMLClient BASECLASS
std::future< EnableAlarmActionsOutcome > EnableAlarmActionsOutcomeCallable
std::future< GetMetricStatisticsOutcome > GetMetricStatisticsOutcomeCallable
std::future< DescribeAlarmsOutcome > DescribeAlarmsOutcomeCallable
std::future< PutMetricAlarmOutcome > PutMetricAlarmOutcomeCallable
#define AWS_CLOUDWATCH_API
std::future< DeleteAlarmsOutcome > DeleteAlarmsOutcomeCallable
Aws::Utils::Outcome< GetMetricStatisticsResult, Aws::Client::AWSError< CloudWatchErrors > > GetMetricStatisticsOutcome
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > PutMetricAlarmOutcome
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > DeleteAlarmsOutcome
std::future< DescribeAlarmsForMetricOutcome > DescribeAlarmsForMetricOutcomeCallable
std::function< void(const CloudWatchClient *, const Model::DescribeAlarmsForMetricRequest &, const Model::DescribeAlarmsForMetricOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeAlarmsForMetricResponseReceivedHandler
Aws::Utils::Outcome< DescribeAlarmHistoryResult, Aws::Client::AWSError< CloudWatchErrors > > DescribeAlarmHistoryOutcome
std::function< void(const CloudWatchClient *, const Model::GetMetricStatisticsRequest &, const Model::GetMetricStatisticsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > GetMetricStatisticsResponseReceivedHandler
std::future< ListMetricsOutcome > ListMetricsOutcomeCallable
std::future< PutMetricDataOutcome > PutMetricDataOutcomeCallable
std::function< void(const CloudWatchClient *, const Model::DisableAlarmActionsRequest &, const Model::DisableAlarmActionsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DisableAlarmActionsResponseReceivedHandler
Aws::Utils::Outcome< DescribeAlarmsForMetricResult, Aws::Client::AWSError< CloudWatchErrors > > DescribeAlarmsForMetricOutcome
Aws::Utils::Outcome< ListMetricsResult, Aws::Client::AWSError< CloudWatchErrors > > ListMetricsOutcome
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > DisableAlarmActionsOutcome
std::function< void(const CloudWatchClient *, const Model::ListMetricsRequest &, const Model::ListMetricsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > ListMetricsResponseReceivedHandler
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > SetAlarmStateOutcome
std::function< void(const CloudWatchClient *, const Model::PutMetricDataRequest &, const Model::PutMetricDataOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > PutMetricDataResponseReceivedHandler
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > EnableAlarmActionsOutcome
Aws::Utils::Outcome< NoResult, Aws::Client::AWSError< CloudWatchErrors > > PutMetricDataOutcome
std::function< void(const CloudWatchClient *, const Model::SetAlarmStateRequest &, const Model::SetAlarmStateOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > SetAlarmStateResponseReceivedHandler
std::future< DisableAlarmActionsOutcome > DisableAlarmActionsOutcomeCallable
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
std::future< SetAlarmStateOutcome > SetAlarmStateOutcomeCallable
std::function< void(const CloudWatchClient *, const Model::DescribeAlarmHistoryRequest &, const Model::DescribeAlarmHistoryOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeAlarmHistoryResponseReceivedHandler
std::function< void(const CloudWatchClient *, const Model::DeleteAlarmsRequest &, const Model::DeleteAlarmsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DeleteAlarmsResponseReceivedHandler
std::function< void(const CloudWatchClient *, const Model::EnableAlarmActionsRequest &, const Model::EnableAlarmActionsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > EnableAlarmActionsResponseReceivedHandler
std::future< DescribeAlarmHistoryOutcome > DescribeAlarmHistoryOutcomeCallable
JSON (JavaScript Object Notation).
std::function< void(const CloudWatchClient *, const Model::DescribeAlarmsRequest &, const Model::DescribeAlarmsOutcome &, const std::shared_ptr< const Aws::Client::AsyncCallerContext > &) > DescribeAlarmsResponseReceivedHandler