AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
Metric.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/application-signals/model/Dimension.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace ApplicationSignals {
22namespace Model {
23
31class Metric {
32 public:
33 AWS_APPLICATIONSIGNALS_API Metric() = default;
34 AWS_APPLICATIONSIGNALS_API Metric(Aws::Utils::Json::JsonView jsonValue);
35 AWS_APPLICATIONSIGNALS_API Metric& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
43 inline const Aws::String& GetNamespace() const { return m_namespace; }
44 inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; }
45 template <typename NamespaceT = Aws::String>
46 void SetNamespace(NamespaceT&& value) {
47 m_namespaceHasBeenSet = true;
48 m_namespace = std::forward<NamespaceT>(value);
49 }
50 template <typename NamespaceT = Aws::String>
51 Metric& WithNamespace(NamespaceT&& value) {
52 SetNamespace(std::forward<NamespaceT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetMetricName() const { return m_metricName; }
62 inline bool MetricNameHasBeenSet() const { return m_metricNameHasBeenSet; }
63 template <typename MetricNameT = Aws::String>
64 void SetMetricName(MetricNameT&& value) {
65 m_metricNameHasBeenSet = true;
66 m_metricName = std::forward<MetricNameT>(value);
67 }
68 template <typename MetricNameT = Aws::String>
69 Metric& WithMetricName(MetricNameT&& value) {
70 SetMetricName(std::forward<MetricNameT>(value));
71 return *this;
72 }
74
76
81 inline const Aws::Vector<Dimension>& GetDimensions() const { return m_dimensions; }
82 inline bool DimensionsHasBeenSet() const { return m_dimensionsHasBeenSet; }
83 template <typename DimensionsT = Aws::Vector<Dimension>>
84 void SetDimensions(DimensionsT&& value) {
85 m_dimensionsHasBeenSet = true;
86 m_dimensions = std::forward<DimensionsT>(value);
87 }
88 template <typename DimensionsT = Aws::Vector<Dimension>>
89 Metric& WithDimensions(DimensionsT&& value) {
90 SetDimensions(std::forward<DimensionsT>(value));
91 return *this;
92 }
93 template <typename DimensionsT = Dimension>
94 Metric& AddDimensions(DimensionsT&& value) {
95 m_dimensionsHasBeenSet = true;
96 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
97 return *this;
98 }
100 private:
101 Aws::String m_namespace;
102
103 Aws::String m_metricName;
104
105 Aws::Vector<Dimension> m_dimensions;
106 bool m_namespaceHasBeenSet = false;
107 bool m_metricNameHasBeenSet = false;
108 bool m_dimensionsHasBeenSet = false;
109};
110
111} // namespace Model
112} // namespace ApplicationSignals
113} // namespace Aws
void SetNamespace(NamespaceT &&value)
Definition Metric.h:46
void SetDimensions(DimensionsT &&value)
Definition Metric.h:84
AWS_APPLICATIONSIGNALS_API Metric()=default
Metric & WithDimensions(DimensionsT &&value)
Definition Metric.h:89
const Aws::String & GetMetricName() const
Definition Metric.h:61
Metric & WithNamespace(NamespaceT &&value)
Definition Metric.h:51
const Aws::Vector< Dimension > & GetDimensions() const
Definition Metric.h:81
AWS_APPLICATIONSIGNALS_API Metric & operator=(Aws::Utils::Json::JsonView jsonValue)
Metric & WithMetricName(MetricNameT &&value)
Definition Metric.h:69
Metric & AddDimensions(DimensionsT &&value)
Definition Metric.h:94
const Aws::String & GetNamespace() const
Definition Metric.h:43
void SetMetricName(MetricNameT &&value)
Definition Metric.h:64
AWS_APPLICATIONSIGNALS_API Metric(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue