AWS SDK for C++  0.12.9
AWS SDK for C++
MetricDatum.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
24 
25 namespace Aws
26 {
27 namespace Utils
28 {
29 namespace Xml
30 {
31  class XmlNode;
32 } // namespace Xml
33 } // namespace Utils
34 namespace CloudWatch
35 {
36 namespace Model
37 {
38 
45  {
46  public:
47  MetricDatum();
48  MetricDatum(const Aws::Utils::Xml::XmlNode& xmlNode);
49  MetricDatum& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
50 
51  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
52  void OutputToStream(Aws::OStream& oStream, const char* location) const;
53 
57  inline const Aws::String& GetMetricName() const{ return m_metricName; }
58 
62  inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
63 
67  inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = value; }
68 
72  inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); }
73 
77  inline MetricDatum& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;}
78 
82  inline MetricDatum& WithMetricName(Aws::String&& value) { SetMetricName(value); return *this;}
83 
87  inline MetricDatum& WithMetricName(const char* value) { SetMetricName(value); return *this;}
88 
94  inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; }
95 
101  inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
102 
108  inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; }
109 
115  inline MetricDatum& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;}
116 
122  inline MetricDatum& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(value); return *this;}
123 
129  inline MetricDatum& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
130 
136  inline MetricDatum& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; }
137 
143  inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; }
144 
150  inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
151 
157  inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = value; }
158 
164  inline MetricDatum& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;}
165 
171  inline MetricDatum& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(value); return *this;}
172 
181  inline double GetValue() const{ return m_value; }
182 
191  inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; }
192 
201  inline MetricDatum& WithValue(double value) { SetValue(value); return *this;}
202 
206  inline const StatisticSet& GetStatisticValues() const{ return m_statisticValues; }
207 
211  inline void SetStatisticValues(const StatisticSet& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = value; }
212 
216  inline void SetStatisticValues(StatisticSet&& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = value; }
217 
221  inline MetricDatum& WithStatisticValues(const StatisticSet& value) { SetStatisticValues(value); return *this;}
222 
226  inline MetricDatum& WithStatisticValues(StatisticSet&& value) { SetStatisticValues(value); return *this;}
227 
231  inline const StandardUnit& GetUnit() const{ return m_unit; }
232 
236  inline void SetUnit(const StandardUnit& value) { m_unitHasBeenSet = true; m_unit = value; }
237 
241  inline void SetUnit(StandardUnit&& value) { m_unitHasBeenSet = true; m_unit = value; }
242 
246  inline MetricDatum& WithUnit(const StandardUnit& value) { SetUnit(value); return *this;}
247 
251  inline MetricDatum& WithUnit(StandardUnit&& value) { SetUnit(value); return *this;}
252 
253  private:
254  Aws::String m_metricName;
255  bool m_metricNameHasBeenSet;
256  Aws::Vector<Dimension> m_dimensions;
257  bool m_dimensionsHasBeenSet;
258  Aws::Utils::DateTime m_timestamp;
259  bool m_timestampHasBeenSet;
260  double m_value;
261  bool m_valueHasBeenSet;
262  StatisticSet m_statisticValues;
263  bool m_statisticValuesHasBeenSet;
264  StandardUnit m_unit;
265  bool m_unitHasBeenSet;
266  };
267 
268 } // namespace Model
269 } // namespace CloudWatch
270 } // namespace Aws
MetricDatum & WithMetricName(Aws::String &&value)
Definition: MetricDatum.h:82
const StatisticSet & GetStatisticValues() const
Definition: MetricDatum.h:206
void SetStatisticValues(const StatisticSet &value)
Definition: MetricDatum.h:211
MetricDatum & WithDimensions(const Aws::Vector< Dimension > &value)
Definition: MetricDatum.h:115
#define AWS_CLOUDWATCH_API
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetMetricName(Aws::String &&value)
Definition: MetricDatum.h:67
MetricDatum & WithMetricName(const char *value)
Definition: MetricDatum.h:87
void SetUnit(StandardUnit &&value)
Definition: MetricDatum.h:241
void SetTimestamp(Aws::Utils::DateTime &&value)
Definition: MetricDatum.h:157
const Aws::Utils::DateTime & GetTimestamp() const
Definition: MetricDatum.h:143
void SetTimestamp(const Aws::Utils::DateTime &value)
Definition: MetricDatum.h:150
void SetStatisticValues(StatisticSet &&value)
Definition: MetricDatum.h:216
MetricDatum & WithStatisticValues(StatisticSet &&value)
Definition: MetricDatum.h:226
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
MetricDatum & WithTimestamp(Aws::Utils::DateTime &&value)
Definition: MetricDatum.h:171
MetricDatum & WithDimensions(Aws::Vector< Dimension > &&value)
Definition: MetricDatum.h:122
const Aws::String & GetMetricName() const
Definition: MetricDatum.h:57
const Aws::Vector< Dimension > & GetDimensions() const
Definition: MetricDatum.h:94
const StandardUnit & GetUnit() const
Definition: MetricDatum.h:231
void SetDimensions(const Aws::Vector< Dimension > &value)
Definition: MetricDatum.h:101
void SetDimensions(Aws::Vector< Dimension > &&value)
Definition: MetricDatum.h:108
MetricDatum & WithValue(double value)
Definition: MetricDatum.h:201
MetricDatum & WithStatisticValues(const StatisticSet &value)
Definition: MetricDatum.h:221
MetricDatum & WithTimestamp(const Aws::Utils::DateTime &value)
Definition: MetricDatum.h:164
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
MetricDatum & WithMetricName(const Aws::String &value)
Definition: MetricDatum.h:77
void SetUnit(const StandardUnit &value)
Definition: MetricDatum.h:236
void SetMetricName(const Aws::String &value)
Definition: MetricDatum.h:62
MetricDatum & AddDimensions(Dimension &&value)
Definition: MetricDatum.h:136
MetricDatum & WithUnit(const StandardUnit &value)
Definition: MetricDatum.h:246
void SetMetricName(const char *value)
Definition: MetricDatum.h:72
MetricDatum & AddDimensions(const Dimension &value)
Definition: MetricDatum.h:129
JSON (JavaScript Object Notation).
MetricDatum & WithUnit(StandardUnit &&value)
Definition: MetricDatum.h:251