AWS SDK for C++

AWS SDK for C++ Version 1.11.831

Loading...
Searching...
No Matches
ServiceLevelIndicatorMetric.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/application-signals/model/CompositeSliConfig.h>
9#include <aws/application-signals/model/DependencyConfig.h>
10#include <aws/application-signals/model/MetricDataQuery.h>
11#include <aws/application-signals/model/MetricSource.h>
12#include <aws/application-signals/model/ServiceLevelIndicatorMetricType.h>
13#include <aws/core/utils/memory/stl/AWSMap.h>
14#include <aws/core/utils/memory/stl/AWSString.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Json {
22class JsonValue;
23class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ApplicationSignals {
27namespace Model {
28
36 public:
37 AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetric() = default;
38 AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetric(Aws::Utils::Json::JsonView jsonValue);
40 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
43
59 inline const Aws::Map<Aws::String, Aws::String>& GetKeyAttributes() const { return m_keyAttributes; }
60 inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; }
61 template <typename KeyAttributesT = Aws::Map<Aws::String, Aws::String>>
62 void SetKeyAttributes(KeyAttributesT&& value) {
63 m_keyAttributesHasBeenSet = true;
64 m_keyAttributes = std::forward<KeyAttributesT>(value);
65 }
66 template <typename KeyAttributesT = Aws::Map<Aws::String, Aws::String>>
68 SetKeyAttributes(std::forward<KeyAttributesT>(value));
69 return *this;
70 }
71 template <typename KeyAttributesKeyT = Aws::String, typename KeyAttributesValueT = Aws::String>
72 ServiceLevelIndicatorMetric& AddKeyAttributes(KeyAttributesKeyT&& key, KeyAttributesValueT&& value) {
73 m_keyAttributesHasBeenSet = true;
74 m_keyAttributes.emplace(std::forward<KeyAttributesKeyT>(key), std::forward<KeyAttributesValueT>(value));
75 return *this;
76 }
78
80
84 inline const Aws::String& GetOperationName() const { return m_operationName; }
85 inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; }
86 template <typename OperationNameT = Aws::String>
87 void SetOperationName(OperationNameT&& value) {
88 m_operationNameHasBeenSet = true;
89 m_operationName = std::forward<OperationNameT>(value);
90 }
91 template <typename OperationNameT = Aws::String>
93 SetOperationName(std::forward<OperationNameT>(value));
94 return *this;
95 }
97
99
104 inline ServiceLevelIndicatorMetricType GetMetricType() const { return m_metricType; }
105 inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; }
107 m_metricTypeHasBeenSet = true;
108 m_metricType = value;
109 }
111 SetMetricType(value);
112 return *this;
113 }
115
117
122 inline const Aws::Vector<MetricDataQuery>& GetMetricDataQueries() const { return m_metricDataQueries; }
123 inline bool MetricDataQueriesHasBeenSet() const { return m_metricDataQueriesHasBeenSet; }
124 template <typename MetricDataQueriesT = Aws::Vector<MetricDataQuery>>
125 void SetMetricDataQueries(MetricDataQueriesT&& value) {
126 m_metricDataQueriesHasBeenSet = true;
127 m_metricDataQueries = std::forward<MetricDataQueriesT>(value);
128 }
129 template <typename MetricDataQueriesT = Aws::Vector<MetricDataQuery>>
131 SetMetricDataQueries(std::forward<MetricDataQueriesT>(value));
132 return *this;
133 }
134 template <typename MetricDataQueriesT = MetricDataQuery>
136 m_metricDataQueriesHasBeenSet = true;
137 m_metricDataQueries.emplace_back(std::forward<MetricDataQueriesT>(value));
138 return *this;
139 }
141
143
147 inline const DependencyConfig& GetDependencyConfig() const { return m_dependencyConfig; }
148 inline bool DependencyConfigHasBeenSet() const { return m_dependencyConfigHasBeenSet; }
149 template <typename DependencyConfigT = DependencyConfig>
150 void SetDependencyConfig(DependencyConfigT&& value) {
151 m_dependencyConfigHasBeenSet = true;
152 m_dependencyConfig = std::forward<DependencyConfigT>(value);
153 }
154 template <typename DependencyConfigT = DependencyConfig>
156 SetDependencyConfig(std::forward<DependencyConfigT>(value));
157 return *this;
158 }
160
162
166 inline const MetricSource& GetMetricSource() const { return m_metricSource; }
167 inline bool MetricSourceHasBeenSet() const { return m_metricSourceHasBeenSet; }
168 template <typename MetricSourceT = MetricSource>
169 void SetMetricSource(MetricSourceT&& value) {
170 m_metricSourceHasBeenSet = true;
171 m_metricSource = std::forward<MetricSourceT>(value);
172 }
173 template <typename MetricSourceT = MetricSource>
175 SetMetricSource(std::forward<MetricSourceT>(value));
176 return *this;
177 }
179
181
185 inline const CompositeSliConfig& GetCompositeSliConfig() const { return m_compositeSliConfig; }
186 inline bool CompositeSliConfigHasBeenSet() const { return m_compositeSliConfigHasBeenSet; }
187 template <typename CompositeSliConfigT = CompositeSliConfig>
188 void SetCompositeSliConfig(CompositeSliConfigT&& value) {
189 m_compositeSliConfigHasBeenSet = true;
190 m_compositeSliConfig = std::forward<CompositeSliConfigT>(value);
191 }
192 template <typename CompositeSliConfigT = CompositeSliConfig>
194 SetCompositeSliConfig(std::forward<CompositeSliConfigT>(value));
195 return *this;
196 }
198 private:
200
201 Aws::String m_operationName;
202
204
205 Aws::Vector<MetricDataQuery> m_metricDataQueries;
206
207 DependencyConfig m_dependencyConfig;
208
209 MetricSource m_metricSource;
210
211 CompositeSliConfig m_compositeSliConfig;
212 bool m_keyAttributesHasBeenSet = false;
213 bool m_operationNameHasBeenSet = false;
214 bool m_metricTypeHasBeenSet = false;
215 bool m_metricDataQueriesHasBeenSet = false;
216 bool m_dependencyConfigHasBeenSet = false;
217 bool m_metricSourceHasBeenSet = false;
218 bool m_compositeSliConfigHasBeenSet = false;
219};
220
221} // namespace Model
222} // namespace ApplicationSignals
223} // namespace Aws
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetric()=default
ServiceLevelIndicatorMetric & WithMetricType(ServiceLevelIndicatorMetricType value)
const Aws::Map< Aws::String, Aws::String > & GetKeyAttributes() const
ServiceLevelIndicatorMetric & WithDependencyConfig(DependencyConfigT &&value)
ServiceLevelIndicatorMetric & WithOperationName(OperationNameT &&value)
ServiceLevelIndicatorMetric & WithCompositeSliConfig(CompositeSliConfigT &&value)
const Aws::Vector< MetricDataQuery > & GetMetricDataQueries() const
ServiceLevelIndicatorMetric & AddMetricDataQueries(MetricDataQueriesT &&value)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetric(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetric & operator=(Aws::Utils::Json::JsonView jsonValue)
ServiceLevelIndicatorMetric & WithMetricSource(MetricSourceT &&value)
ServiceLevelIndicatorMetric & WithMetricDataQueries(MetricDataQueriesT &&value)
ServiceLevelIndicatorMetric & WithKeyAttributes(KeyAttributesT &&value)
ServiceLevelIndicatorMetric & AddKeyAttributes(KeyAttributesKeyT &&key, KeyAttributesValueT &&value)
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue