AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
MetricQuery.h
1
6#pragma once
7#include <aws/pi/PI_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/pi/model/DimensionGroup.h>
10#include <aws/core/utils/memory/stl/AWSMap.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace PI
24{
25namespace Model
26{
27
42 {
43 public:
44 AWS_PI_API MetricQuery() = default;
48
49
51
72 inline const Aws::String& GetMetric() const { return m_metric; }
73 inline bool MetricHasBeenSet() const { return m_metricHasBeenSet; }
74 template<typename MetricT = Aws::String>
75 void SetMetric(MetricT&& value) { m_metricHasBeenSet = true; m_metric = std::forward<MetricT>(value); }
76 template<typename MetricT = Aws::String>
77 MetricQuery& WithMetric(MetricT&& value) { SetMetric(std::forward<MetricT>(value)); return *this;}
79
81
88 inline const DimensionGroup& GetGroupBy() const { return m_groupBy; }
89 inline bool GroupByHasBeenSet() const { return m_groupByHasBeenSet; }
90 template<typename GroupByT = DimensionGroup>
91 void SetGroupBy(GroupByT&& value) { m_groupByHasBeenSet = true; m_groupBy = std::forward<GroupByT>(value); }
92 template<typename GroupByT = DimensionGroup>
93 MetricQuery& WithGroupBy(GroupByT&& value) { SetGroupBy(std::forward<GroupByT>(value)); return *this;}
95
97
105 inline const Aws::Map<Aws::String, Aws::String>& GetFilter() const { return m_filter; }
106 inline bool FilterHasBeenSet() const { return m_filterHasBeenSet; }
107 template<typename FilterT = Aws::Map<Aws::String, Aws::String>>
108 void SetFilter(FilterT&& value) { m_filterHasBeenSet = true; m_filter = std::forward<FilterT>(value); }
109 template<typename FilterT = Aws::Map<Aws::String, Aws::String>>
110 MetricQuery& WithFilter(FilterT&& value) { SetFilter(std::forward<FilterT>(value)); return *this;}
111 template<typename FilterKeyT = Aws::String, typename FilterValueT = Aws::String>
112 MetricQuery& AddFilter(FilterKeyT&& key, FilterValueT&& value) {
113 m_filterHasBeenSet = true; m_filter.emplace(std::forward<FilterKeyT>(key), std::forward<FilterValueT>(value)); return *this;
114 }
116 private:
117
118 Aws::String m_metric;
119 bool m_metricHasBeenSet = false;
120
121 DimensionGroup m_groupBy;
122 bool m_groupByHasBeenSet = false;
123
125 bool m_filterHasBeenSet = false;
126 };
127
128} // namespace Model
129} // namespace PI
130} // namespace Aws
MetricQuery & WithFilter(FilterT &&value)
void SetGroupBy(GroupByT &&value)
Definition MetricQuery.h:91
void SetFilter(FilterT &&value)
void SetMetric(MetricT &&value)
Definition MetricQuery.h:75
MetricQuery & WithGroupBy(GroupByT &&value)
Definition MetricQuery.h:93
AWS_PI_API MetricQuery(Aws::Utils::Json::JsonView jsonValue)
AWS_PI_API MetricQuery()=default
const Aws::String & GetMetric() const
Definition MetricQuery.h:72
AWS_PI_API MetricQuery & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Map< Aws::String, Aws::String > & GetFilter() const
const DimensionGroup & GetGroupBy() const
Definition MetricQuery.h:88
AWS_PI_API Aws::Utils::Json::JsonValue Jsonize() const
MetricQuery & AddFilter(FilterKeyT &&key, FilterValueT &&value)
MetricQuery & WithMetric(MetricT &&value)
Definition MetricQuery.h:77
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
Aws::Utils::Json::JsonValue JsonValue