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/monitoring/CloudWatch_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/monitoring/model/ResponseMetadata.h> 11 #include <aws/monitoring/model/InsightRuleContributor.h> 12 #include <aws/monitoring/model/InsightRuleMetricDatapoint.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 template<typename RESULT_TYPE> 18 class AmazonWebServiceResult; 19 20 namespace Utils 21 { 22 namespace Xml 23 { 24 class XmlDocument; 25 } // namespace Xml 26 } // namespace Utils 27 namespace CloudWatch 28 { 29 namespace Model 30 { 31 class AWS_CLOUDWATCH_API GetInsightRuleReportResult 32 { 33 public: 34 GetInsightRuleReportResult(); 35 GetInsightRuleReportResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 36 GetInsightRuleReportResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result); 37 38 39 /** 40 * <p>An array of the strings used as the keys for this rule. The keys are the 41 * dimensions used to classify contributors. If the rule contains more than one 42 * key, then each unique combination of values for the keys is counted as a unique 43 * contributor.</p> 44 */ GetKeyLabels()45 inline const Aws::Vector<Aws::String>& GetKeyLabels() const{ return m_keyLabels; } 46 47 /** 48 * <p>An array of the strings used as the keys for this rule. The keys are the 49 * dimensions used to classify contributors. If the rule contains more than one 50 * key, then each unique combination of values for the keys is counted as a unique 51 * contributor.</p> 52 */ SetKeyLabels(const Aws::Vector<Aws::String> & value)53 inline void SetKeyLabels(const Aws::Vector<Aws::String>& value) { m_keyLabels = value; } 54 55 /** 56 * <p>An array of the strings used as the keys for this rule. The keys are the 57 * dimensions used to classify contributors. If the rule contains more than one 58 * key, then each unique combination of values for the keys is counted as a unique 59 * contributor.</p> 60 */ SetKeyLabels(Aws::Vector<Aws::String> && value)61 inline void SetKeyLabels(Aws::Vector<Aws::String>&& value) { m_keyLabels = std::move(value); } 62 63 /** 64 * <p>An array of the strings used as the keys for this rule. The keys are the 65 * dimensions used to classify contributors. If the rule contains more than one 66 * key, then each unique combination of values for the keys is counted as a unique 67 * contributor.</p> 68 */ WithKeyLabels(const Aws::Vector<Aws::String> & value)69 inline GetInsightRuleReportResult& WithKeyLabels(const Aws::Vector<Aws::String>& value) { SetKeyLabels(value); return *this;} 70 71 /** 72 * <p>An array of the strings used as the keys for this rule. The keys are the 73 * dimensions used to classify contributors. If the rule contains more than one 74 * key, then each unique combination of values for the keys is counted as a unique 75 * contributor.</p> 76 */ WithKeyLabels(Aws::Vector<Aws::String> && value)77 inline GetInsightRuleReportResult& WithKeyLabels(Aws::Vector<Aws::String>&& value) { SetKeyLabels(std::move(value)); return *this;} 78 79 /** 80 * <p>An array of the strings used as the keys for this rule. The keys are the 81 * dimensions used to classify contributors. If the rule contains more than one 82 * key, then each unique combination of values for the keys is counted as a unique 83 * contributor.</p> 84 */ AddKeyLabels(const Aws::String & value)85 inline GetInsightRuleReportResult& AddKeyLabels(const Aws::String& value) { m_keyLabels.push_back(value); return *this; } 86 87 /** 88 * <p>An array of the strings used as the keys for this rule. The keys are the 89 * dimensions used to classify contributors. If the rule contains more than one 90 * key, then each unique combination of values for the keys is counted as a unique 91 * contributor.</p> 92 */ AddKeyLabels(Aws::String && value)93 inline GetInsightRuleReportResult& AddKeyLabels(Aws::String&& value) { m_keyLabels.push_back(std::move(value)); return *this; } 94 95 /** 96 * <p>An array of the strings used as the keys for this rule. The keys are the 97 * dimensions used to classify contributors. If the rule contains more than one 98 * key, then each unique combination of values for the keys is counted as a unique 99 * contributor.</p> 100 */ AddKeyLabels(const char * value)101 inline GetInsightRuleReportResult& AddKeyLabels(const char* value) { m_keyLabels.push_back(value); return *this; } 102 103 104 /** 105 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 106 */ GetAggregationStatistic()107 inline const Aws::String& GetAggregationStatistic() const{ return m_aggregationStatistic; } 108 109 /** 110 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 111 */ SetAggregationStatistic(const Aws::String & value)112 inline void SetAggregationStatistic(const Aws::String& value) { m_aggregationStatistic = value; } 113 114 /** 115 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 116 */ SetAggregationStatistic(Aws::String && value)117 inline void SetAggregationStatistic(Aws::String&& value) { m_aggregationStatistic = std::move(value); } 118 119 /** 120 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 121 */ SetAggregationStatistic(const char * value)122 inline void SetAggregationStatistic(const char* value) { m_aggregationStatistic.assign(value); } 123 124 /** 125 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 126 */ WithAggregationStatistic(const Aws::String & value)127 inline GetInsightRuleReportResult& WithAggregationStatistic(const Aws::String& value) { SetAggregationStatistic(value); return *this;} 128 129 /** 130 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 131 */ WithAggregationStatistic(Aws::String && value)132 inline GetInsightRuleReportResult& WithAggregationStatistic(Aws::String&& value) { SetAggregationStatistic(std::move(value)); return *this;} 133 134 /** 135 * <p>Specifies whether this rule aggregates contributor data by COUNT or SUM.</p> 136 */ WithAggregationStatistic(const char * value)137 inline GetInsightRuleReportResult& WithAggregationStatistic(const char* value) { SetAggregationStatistic(value); return *this;} 138 139 140 /** 141 * <p>The sum of the values from all individual contributors that match the 142 * rule.</p> 143 */ GetAggregateValue()144 inline double GetAggregateValue() const{ return m_aggregateValue; } 145 146 /** 147 * <p>The sum of the values from all individual contributors that match the 148 * rule.</p> 149 */ SetAggregateValue(double value)150 inline void SetAggregateValue(double value) { m_aggregateValue = value; } 151 152 /** 153 * <p>The sum of the values from all individual contributors that match the 154 * rule.</p> 155 */ WithAggregateValue(double value)156 inline GetInsightRuleReportResult& WithAggregateValue(double value) { SetAggregateValue(value); return *this;} 157 158 159 /** 160 * <p>An approximate count of the unique contributors found by this rule in this 161 * time period.</p> 162 */ GetApproximateUniqueCount()163 inline long long GetApproximateUniqueCount() const{ return m_approximateUniqueCount; } 164 165 /** 166 * <p>An approximate count of the unique contributors found by this rule in this 167 * time period.</p> 168 */ SetApproximateUniqueCount(long long value)169 inline void SetApproximateUniqueCount(long long value) { m_approximateUniqueCount = value; } 170 171 /** 172 * <p>An approximate count of the unique contributors found by this rule in this 173 * time period.</p> 174 */ WithApproximateUniqueCount(long long value)175 inline GetInsightRuleReportResult& WithApproximateUniqueCount(long long value) { SetApproximateUniqueCount(value); return *this;} 176 177 178 /** 179 * <p>An array of the unique contributors found by this rule in this time period. 180 * If the rule contains multiple keys, each combination of values for the keys 181 * counts as a unique contributor.</p> 182 */ GetContributors()183 inline const Aws::Vector<InsightRuleContributor>& GetContributors() const{ return m_contributors; } 184 185 /** 186 * <p>An array of the unique contributors found by this rule in this time period. 187 * If the rule contains multiple keys, each combination of values for the keys 188 * counts as a unique contributor.</p> 189 */ SetContributors(const Aws::Vector<InsightRuleContributor> & value)190 inline void SetContributors(const Aws::Vector<InsightRuleContributor>& value) { m_contributors = value; } 191 192 /** 193 * <p>An array of the unique contributors found by this rule in this time period. 194 * If the rule contains multiple keys, each combination of values for the keys 195 * counts as a unique contributor.</p> 196 */ SetContributors(Aws::Vector<InsightRuleContributor> && value)197 inline void SetContributors(Aws::Vector<InsightRuleContributor>&& value) { m_contributors = std::move(value); } 198 199 /** 200 * <p>An array of the unique contributors found by this rule in this time period. 201 * If the rule contains multiple keys, each combination of values for the keys 202 * counts as a unique contributor.</p> 203 */ WithContributors(const Aws::Vector<InsightRuleContributor> & value)204 inline GetInsightRuleReportResult& WithContributors(const Aws::Vector<InsightRuleContributor>& value) { SetContributors(value); return *this;} 205 206 /** 207 * <p>An array of the unique contributors found by this rule in this time period. 208 * If the rule contains multiple keys, each combination of values for the keys 209 * counts as a unique contributor.</p> 210 */ WithContributors(Aws::Vector<InsightRuleContributor> && value)211 inline GetInsightRuleReportResult& WithContributors(Aws::Vector<InsightRuleContributor>&& value) { SetContributors(std::move(value)); return *this;} 212 213 /** 214 * <p>An array of the unique contributors found by this rule in this time period. 215 * If the rule contains multiple keys, each combination of values for the keys 216 * counts as a unique contributor.</p> 217 */ AddContributors(const InsightRuleContributor & value)218 inline GetInsightRuleReportResult& AddContributors(const InsightRuleContributor& value) { m_contributors.push_back(value); return *this; } 219 220 /** 221 * <p>An array of the unique contributors found by this rule in this time period. 222 * If the rule contains multiple keys, each combination of values for the keys 223 * counts as a unique contributor.</p> 224 */ AddContributors(InsightRuleContributor && value)225 inline GetInsightRuleReportResult& AddContributors(InsightRuleContributor&& value) { m_contributors.push_back(std::move(value)); return *this; } 226 227 228 /** 229 * <p>A time series of metric data points that matches the time period in the rule 230 * request.</p> 231 */ GetMetricDatapoints()232 inline const Aws::Vector<InsightRuleMetricDatapoint>& GetMetricDatapoints() const{ return m_metricDatapoints; } 233 234 /** 235 * <p>A time series of metric data points that matches the time period in the rule 236 * request.</p> 237 */ SetMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint> & value)238 inline void SetMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint>& value) { m_metricDatapoints = value; } 239 240 /** 241 * <p>A time series of metric data points that matches the time period in the rule 242 * request.</p> 243 */ SetMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint> && value)244 inline void SetMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint>&& value) { m_metricDatapoints = std::move(value); } 245 246 /** 247 * <p>A time series of metric data points that matches the time period in the rule 248 * request.</p> 249 */ WithMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint> & value)250 inline GetInsightRuleReportResult& WithMetricDatapoints(const Aws::Vector<InsightRuleMetricDatapoint>& value) { SetMetricDatapoints(value); return *this;} 251 252 /** 253 * <p>A time series of metric data points that matches the time period in the rule 254 * request.</p> 255 */ WithMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint> && value)256 inline GetInsightRuleReportResult& WithMetricDatapoints(Aws::Vector<InsightRuleMetricDatapoint>&& value) { SetMetricDatapoints(std::move(value)); return *this;} 257 258 /** 259 * <p>A time series of metric data points that matches the time period in the rule 260 * request.</p> 261 */ AddMetricDatapoints(const InsightRuleMetricDatapoint & value)262 inline GetInsightRuleReportResult& AddMetricDatapoints(const InsightRuleMetricDatapoint& value) { m_metricDatapoints.push_back(value); return *this; } 263 264 /** 265 * <p>A time series of metric data points that matches the time period in the rule 266 * request.</p> 267 */ AddMetricDatapoints(InsightRuleMetricDatapoint && value)268 inline GetInsightRuleReportResult& AddMetricDatapoints(InsightRuleMetricDatapoint&& value) { m_metricDatapoints.push_back(std::move(value)); return *this; } 269 270 271 GetResponseMetadata()272 inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; } 273 274 SetResponseMetadata(const ResponseMetadata & value)275 inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; } 276 277 SetResponseMetadata(ResponseMetadata && value)278 inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); } 279 280 WithResponseMetadata(const ResponseMetadata & value)281 inline GetInsightRuleReportResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;} 282 283 WithResponseMetadata(ResponseMetadata && value)284 inline GetInsightRuleReportResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;} 285 286 private: 287 288 Aws::Vector<Aws::String> m_keyLabels; 289 290 Aws::String m_aggregationStatistic; 291 292 double m_aggregateValue; 293 294 long long m_approximateUniqueCount; 295 296 Aws::Vector<InsightRuleContributor> m_contributors; 297 298 Aws::Vector<InsightRuleMetricDatapoint> m_metricDatapoints; 299 300 ResponseMetadata m_responseMetadata; 301 }; 302 303 } // namespace Model 304 } // namespace CloudWatch 305 } // namespace Aws 306