AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
ServiceLevelIndicatorMetricConfig.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSMap.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/application-signals/model/ServiceLevelIndicatorMetricType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/application-signals/model/DependencyConfig.h>
13#include <aws/application-signals/model/MetricDataQuery.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace ApplicationSignals
27{
28namespace Model
29{
30
38 {
39 public:
40 AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetricConfig() = default;
43 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
66 inline const Aws::Map<Aws::String, Aws::String>& GetKeyAttributes() const { return m_keyAttributes; }
67 inline bool KeyAttributesHasBeenSet() const { return m_keyAttributesHasBeenSet; }
68 template<typename KeyAttributesT = Aws::Map<Aws::String, Aws::String>>
69 void SetKeyAttributes(KeyAttributesT&& value) { m_keyAttributesHasBeenSet = true; m_keyAttributes = std::forward<KeyAttributesT>(value); }
70 template<typename KeyAttributesT = Aws::Map<Aws::String, Aws::String>>
71 ServiceLevelIndicatorMetricConfig& WithKeyAttributes(KeyAttributesT&& value) { SetKeyAttributes(std::forward<KeyAttributesT>(value)); return *this;}
72 template<typename KeyAttributesKeyT = Aws::String, typename KeyAttributesValueT = Aws::String>
73 ServiceLevelIndicatorMetricConfig& AddKeyAttributes(KeyAttributesKeyT&& key, KeyAttributesValueT&& value) {
74 m_keyAttributesHasBeenSet = true; m_keyAttributes.emplace(std::forward<KeyAttributesKeyT>(key), std::forward<KeyAttributesValueT>(value)); return *this;
75 }
77
79
83 inline const Aws::String& GetOperationName() const { return m_operationName; }
84 inline bool OperationNameHasBeenSet() const { return m_operationNameHasBeenSet; }
85 template<typename OperationNameT = Aws::String>
86 void SetOperationName(OperationNameT&& value) { m_operationNameHasBeenSet = true; m_operationName = std::forward<OperationNameT>(value); }
87 template<typename OperationNameT = Aws::String>
88 ServiceLevelIndicatorMetricConfig& WithOperationName(OperationNameT&& value) { SetOperationName(std::forward<OperationNameT>(value)); return *this;}
90
92
97 inline ServiceLevelIndicatorMetricType GetMetricType() const { return m_metricType; }
98 inline bool MetricTypeHasBeenSet() const { return m_metricTypeHasBeenSet; }
99 inline void SetMetricType(ServiceLevelIndicatorMetricType value) { m_metricTypeHasBeenSet = true; m_metricType = value; }
102
104
111 inline const Aws::String& GetStatistic() const { return m_statistic; }
112 inline bool StatisticHasBeenSet() const { return m_statisticHasBeenSet; }
113 template<typename StatisticT = Aws::String>
114 void SetStatistic(StatisticT&& value) { m_statisticHasBeenSet = true; m_statistic = std::forward<StatisticT>(value); }
115 template<typename StatisticT = Aws::String>
116 ServiceLevelIndicatorMetricConfig& WithStatistic(StatisticT&& value) { SetStatistic(std::forward<StatisticT>(value)); return *this;}
118
120
126 inline int GetPeriodSeconds() const { return m_periodSeconds; }
127 inline bool PeriodSecondsHasBeenSet() const { return m_periodSecondsHasBeenSet; }
128 inline void SetPeriodSeconds(int value) { m_periodSecondsHasBeenSet = true; m_periodSeconds = value; }
129 inline ServiceLevelIndicatorMetricConfig& WithPeriodSeconds(int value) { SetPeriodSeconds(value); return *this;}
131
133
137 inline const Aws::Vector<MetricDataQuery>& GetMetricDataQueries() const { return m_metricDataQueries; }
138 inline bool MetricDataQueriesHasBeenSet() const { return m_metricDataQueriesHasBeenSet; }
139 template<typename MetricDataQueriesT = Aws::Vector<MetricDataQuery>>
140 void SetMetricDataQueries(MetricDataQueriesT&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries = std::forward<MetricDataQueriesT>(value); }
141 template<typename MetricDataQueriesT = Aws::Vector<MetricDataQuery>>
142 ServiceLevelIndicatorMetricConfig& WithMetricDataQueries(MetricDataQueriesT&& value) { SetMetricDataQueries(std::forward<MetricDataQueriesT>(value)); return *this;}
143 template<typename MetricDataQueriesT = MetricDataQuery>
144 ServiceLevelIndicatorMetricConfig& AddMetricDataQueries(MetricDataQueriesT&& value) { m_metricDataQueriesHasBeenSet = true; m_metricDataQueries.emplace_back(std::forward<MetricDataQueriesT>(value)); return *this; }
146
148
152 inline const DependencyConfig& GetDependencyConfig() const { return m_dependencyConfig; }
153 inline bool DependencyConfigHasBeenSet() const { return m_dependencyConfigHasBeenSet; }
154 template<typename DependencyConfigT = DependencyConfig>
155 void SetDependencyConfig(DependencyConfigT&& value) { m_dependencyConfigHasBeenSet = true; m_dependencyConfig = std::forward<DependencyConfigT>(value); }
156 template<typename DependencyConfigT = DependencyConfig>
157 ServiceLevelIndicatorMetricConfig& WithDependencyConfig(DependencyConfigT&& value) { SetDependencyConfig(std::forward<DependencyConfigT>(value)); return *this;}
159 private:
160
162 bool m_keyAttributesHasBeenSet = false;
163
164 Aws::String m_operationName;
165 bool m_operationNameHasBeenSet = false;
166
168 bool m_metricTypeHasBeenSet = false;
169
170 Aws::String m_statistic;
171 bool m_statisticHasBeenSet = false;
172
173 int m_periodSeconds{0};
174 bool m_periodSecondsHasBeenSet = false;
175
176 Aws::Vector<MetricDataQuery> m_metricDataQueries;
177 bool m_metricDataQueriesHasBeenSet = false;
178
179 DependencyConfig m_dependencyConfig;
180 bool m_dependencyConfigHasBeenSet = false;
181 };
182
183} // namespace Model
184} // namespace ApplicationSignals
185} // namespace Aws
ServiceLevelIndicatorMetricConfig & WithMetricType(ServiceLevelIndicatorMetricType value)
ServiceLevelIndicatorMetricConfig & WithStatistic(StatisticT &&value)
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetricConfig & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetricConfig(Aws::Utils::Json::JsonView jsonValue)
ServiceLevelIndicatorMetricConfig & WithMetricDataQueries(MetricDataQueriesT &&value)
ServiceLevelIndicatorMetricConfig & WithKeyAttributes(KeyAttributesT &&value)
AWS_APPLICATIONSIGNALS_API ServiceLevelIndicatorMetricConfig()=default
ServiceLevelIndicatorMetricConfig & WithDependencyConfig(DependencyConfigT &&value)
ServiceLevelIndicatorMetricConfig & WithOperationName(OperationNameT &&value)
ServiceLevelIndicatorMetricConfig & AddMetricDataQueries(MetricDataQueriesT &&value)
ServiceLevelIndicatorMetricConfig & AddKeyAttributes(KeyAttributesKeyT &&key, KeyAttributesValueT &&value)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
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