1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/mwaa/MWAA_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/mwaa/model/StatisticSet.h> 11 #include <aws/core/utils/DateTime.h> 12 #include <aws/mwaa/model/Unit.h> 13 #include <aws/mwaa/model/Dimension.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 class JsonView; 24 } // namespace Json 25 } // namespace Utils 26 namespace MWAA 27 { 28 namespace Model 29 { 30 31 /** 32 * <p>Internal only API.</p><p><h3>See Also:</h3> <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/mwaa-2020-07-01/MetricDatum">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_MWAA_API MetricDatum 37 { 38 public: 39 MetricDatum(); 40 MetricDatum(Aws::Utils::Json::JsonView jsonValue); 41 MetricDatum& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>Internal only API.</p> 47 */ GetDimensions()48 inline const Aws::Vector<Dimension>& GetDimensions() const{ return m_dimensions; } 49 50 /** 51 * <p>Internal only API.</p> 52 */ DimensionsHasBeenSet()53 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; } 54 55 /** 56 * <p>Internal only API.</p> 57 */ SetDimensions(const Aws::Vector<Dimension> & value)58 inline void SetDimensions(const Aws::Vector<Dimension>& value) { m_dimensionsHasBeenSet = true; m_dimensions = value; } 59 60 /** 61 * <p>Internal only API.</p> 62 */ SetDimensions(Aws::Vector<Dimension> && value)63 inline void SetDimensions(Aws::Vector<Dimension>&& value) { m_dimensionsHasBeenSet = true; m_dimensions = std::move(value); } 64 65 /** 66 * <p>Internal only API.</p> 67 */ WithDimensions(const Aws::Vector<Dimension> & value)68 inline MetricDatum& WithDimensions(const Aws::Vector<Dimension>& value) { SetDimensions(value); return *this;} 69 70 /** 71 * <p>Internal only API.</p> 72 */ WithDimensions(Aws::Vector<Dimension> && value)73 inline MetricDatum& WithDimensions(Aws::Vector<Dimension>&& value) { SetDimensions(std::move(value)); return *this;} 74 75 /** 76 * <p>Internal only API.</p> 77 */ AddDimensions(const Dimension & value)78 inline MetricDatum& AddDimensions(const Dimension& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(value); return *this; } 79 80 /** 81 * <p>Internal only API.</p> 82 */ AddDimensions(Dimension && value)83 inline MetricDatum& AddDimensions(Dimension&& value) { m_dimensionsHasBeenSet = true; m_dimensions.push_back(std::move(value)); return *this; } 84 85 86 /** 87 * <p>Internal only API.</p> 88 */ GetMetricName()89 inline const Aws::String& GetMetricName() const{ return m_metricName; } 90 91 /** 92 * <p>Internal only API.</p> 93 */ MetricNameHasBeenSet()94 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; } 95 96 /** 97 * <p>Internal only API.</p> 98 */ SetMetricName(const Aws::String & value)99 inline void SetMetricName(const Aws::String& value) { m_metricNameHasBeenSet = true; m_metricName = value; } 100 101 /** 102 * <p>Internal only API.</p> 103 */ SetMetricName(Aws::String && value)104 inline void SetMetricName(Aws::String&& value) { m_metricNameHasBeenSet = true; m_metricName = std::move(value); } 105 106 /** 107 * <p>Internal only API.</p> 108 */ SetMetricName(const char * value)109 inline void SetMetricName(const char* value) { m_metricNameHasBeenSet = true; m_metricName.assign(value); } 110 111 /** 112 * <p>Internal only API.</p> 113 */ WithMetricName(const Aws::String & value)114 inline MetricDatum& WithMetricName(const Aws::String& value) { SetMetricName(value); return *this;} 115 116 /** 117 * <p>Internal only API.</p> 118 */ WithMetricName(Aws::String && value)119 inline MetricDatum& WithMetricName(Aws::String&& value) { SetMetricName(std::move(value)); return *this;} 120 121 /** 122 * <p>Internal only API.</p> 123 */ WithMetricName(const char * value)124 inline MetricDatum& WithMetricName(const char* value) { SetMetricName(value); return *this;} 125 126 127 /** 128 * <p>Internal only API.</p> 129 */ GetStatisticValues()130 inline const StatisticSet& GetStatisticValues() const{ return m_statisticValues; } 131 132 /** 133 * <p>Internal only API.</p> 134 */ StatisticValuesHasBeenSet()135 inline bool StatisticValuesHasBeenSet() const { return m_statisticValuesHasBeenSet; } 136 137 /** 138 * <p>Internal only API.</p> 139 */ SetStatisticValues(const StatisticSet & value)140 inline void SetStatisticValues(const StatisticSet& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = value; } 141 142 /** 143 * <p>Internal only API.</p> 144 */ SetStatisticValues(StatisticSet && value)145 inline void SetStatisticValues(StatisticSet&& value) { m_statisticValuesHasBeenSet = true; m_statisticValues = std::move(value); } 146 147 /** 148 * <p>Internal only API.</p> 149 */ WithStatisticValues(const StatisticSet & value)150 inline MetricDatum& WithStatisticValues(const StatisticSet& value) { SetStatisticValues(value); return *this;} 151 152 /** 153 * <p>Internal only API.</p> 154 */ WithStatisticValues(StatisticSet && value)155 inline MetricDatum& WithStatisticValues(StatisticSet&& value) { SetStatisticValues(std::move(value)); return *this;} 156 157 158 /** 159 * <p>Internal only API.</p> 160 */ GetTimestamp()161 inline const Aws::Utils::DateTime& GetTimestamp() const{ return m_timestamp; } 162 163 /** 164 * <p>Internal only API.</p> 165 */ TimestampHasBeenSet()166 inline bool TimestampHasBeenSet() const { return m_timestampHasBeenSet; } 167 168 /** 169 * <p>Internal only API.</p> 170 */ SetTimestamp(const Aws::Utils::DateTime & value)171 inline void SetTimestamp(const Aws::Utils::DateTime& value) { m_timestampHasBeenSet = true; m_timestamp = value; } 172 173 /** 174 * <p>Internal only API.</p> 175 */ SetTimestamp(Aws::Utils::DateTime && value)176 inline void SetTimestamp(Aws::Utils::DateTime&& value) { m_timestampHasBeenSet = true; m_timestamp = std::move(value); } 177 178 /** 179 * <p>Internal only API.</p> 180 */ WithTimestamp(const Aws::Utils::DateTime & value)181 inline MetricDatum& WithTimestamp(const Aws::Utils::DateTime& value) { SetTimestamp(value); return *this;} 182 183 /** 184 * <p>Internal only API.</p> 185 */ WithTimestamp(Aws::Utils::DateTime && value)186 inline MetricDatum& WithTimestamp(Aws::Utils::DateTime&& value) { SetTimestamp(std::move(value)); return *this;} 187 188 189 GetUnit()190 inline const Unit& GetUnit() const{ return m_unit; } 191 192 UnitHasBeenSet()193 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } 194 195 SetUnit(const Unit & value)196 inline void SetUnit(const Unit& value) { m_unitHasBeenSet = true; m_unit = value; } 197 198 SetUnit(Unit && value)199 inline void SetUnit(Unit&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } 200 201 WithUnit(const Unit & value)202 inline MetricDatum& WithUnit(const Unit& value) { SetUnit(value); return *this;} 203 204 WithUnit(Unit && value)205 inline MetricDatum& WithUnit(Unit&& value) { SetUnit(std::move(value)); return *this;} 206 207 208 /** 209 * <p>Internal only API.</p> 210 */ GetValue()211 inline double GetValue() const{ return m_value; } 212 213 /** 214 * <p>Internal only API.</p> 215 */ ValueHasBeenSet()216 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } 217 218 /** 219 * <p>Internal only API.</p> 220 */ SetValue(double value)221 inline void SetValue(double value) { m_valueHasBeenSet = true; m_value = value; } 222 223 /** 224 * <p>Internal only API.</p> 225 */ WithValue(double value)226 inline MetricDatum& WithValue(double value) { SetValue(value); return *this;} 227 228 private: 229 230 Aws::Vector<Dimension> m_dimensions; 231 bool m_dimensionsHasBeenSet; 232 233 Aws::String m_metricName; 234 bool m_metricNameHasBeenSet; 235 236 StatisticSet m_statisticValues; 237 bool m_statisticValuesHasBeenSet; 238 239 Aws::Utils::DateTime m_timestamp; 240 bool m_timestampHasBeenSet; 241 242 Unit m_unit; 243 bool m_unitHasBeenSet; 244 245 double m_value; 246 bool m_valueHasBeenSet; 247 }; 248 249 } // namespace Model 250 } // namespace MWAA 251 } // namespace Aws 252