AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Metric.h
1
6#pragma once
7#include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/iotsitewise/model/MetricWindow.h>
11#include <aws/iotsitewise/model/MetricProcessingConfig.h>
12#include <aws/iotsitewise/model/ExpressionVariable.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace IoTSiteWise
26{
27namespace Model
28{
29
45 class Metric
46 {
47 public:
48 AWS_IOTSITEWISE_API Metric() = default;
49 AWS_IOTSITEWISE_API Metric(Aws::Utils::Json::JsonView jsonValue);
50 AWS_IOTSITEWISE_API Metric& operator=(Aws::Utils::Json::JsonView jsonValue);
51 AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const;
52
53
55
62 inline const Aws::String& GetExpression() const { return m_expression; }
63 inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; }
64 template<typename ExpressionT = Aws::String>
65 void SetExpression(ExpressionT&& value) { m_expressionHasBeenSet = true; m_expression = std::forward<ExpressionT>(value); }
66 template<typename ExpressionT = Aws::String>
67 Metric& WithExpression(ExpressionT&& value) { SetExpression(std::forward<ExpressionT>(value)); return *this;}
69
71
74 inline const Aws::Vector<ExpressionVariable>& GetVariables() const { return m_variables; }
75 inline bool VariablesHasBeenSet() const { return m_variablesHasBeenSet; }
76 template<typename VariablesT = Aws::Vector<ExpressionVariable>>
77 void SetVariables(VariablesT&& value) { m_variablesHasBeenSet = true; m_variables = std::forward<VariablesT>(value); }
78 template<typename VariablesT = Aws::Vector<ExpressionVariable>>
79 Metric& WithVariables(VariablesT&& value) { SetVariables(std::forward<VariablesT>(value)); return *this;}
80 template<typename VariablesT = ExpressionVariable>
81 Metric& AddVariables(VariablesT&& value) { m_variablesHasBeenSet = true; m_variables.emplace_back(std::forward<VariablesT>(value)); return *this; }
83
85
90 inline const MetricWindow& GetWindow() const { return m_window; }
91 inline bool WindowHasBeenSet() const { return m_windowHasBeenSet; }
92 template<typename WindowT = MetricWindow>
93 void SetWindow(WindowT&& value) { m_windowHasBeenSet = true; m_window = std::forward<WindowT>(value); }
94 template<typename WindowT = MetricWindow>
95 Metric& WithWindow(WindowT&& value) { SetWindow(std::forward<WindowT>(value)); return *this;}
97
99
104 inline const MetricProcessingConfig& GetProcessingConfig() const { return m_processingConfig; }
105 inline bool ProcessingConfigHasBeenSet() const { return m_processingConfigHasBeenSet; }
106 template<typename ProcessingConfigT = MetricProcessingConfig>
107 void SetProcessingConfig(ProcessingConfigT&& value) { m_processingConfigHasBeenSet = true; m_processingConfig = std::forward<ProcessingConfigT>(value); }
108 template<typename ProcessingConfigT = MetricProcessingConfig>
109 Metric& WithProcessingConfig(ProcessingConfigT&& value) { SetProcessingConfig(std::forward<ProcessingConfigT>(value)); return *this;}
111 private:
112
113 Aws::String m_expression;
114 bool m_expressionHasBeenSet = false;
115
117 bool m_variablesHasBeenSet = false;
118
119 MetricWindow m_window;
120 bool m_windowHasBeenSet = false;
121
122 MetricProcessingConfig m_processingConfig;
123 bool m_processingConfigHasBeenSet = false;
124 };
125
126} // namespace Model
127} // namespace IoTSiteWise
128} // namespace Aws
AWS_IOTSITEWISE_API Metric(Aws::Utils::Json::JsonView jsonValue)
const MetricWindow & GetWindow() const
Definition Metric.h:90
void SetExpression(ExpressionT &&value)
Definition Metric.h:65
bool ExpressionHasBeenSet() const
Definition Metric.h:63
void SetVariables(VariablesT &&value)
Definition Metric.h:77
bool ProcessingConfigHasBeenSet() const
Definition Metric.h:105
const MetricProcessingConfig & GetProcessingConfig() const
Definition Metric.h:104
Metric & AddVariables(VariablesT &&value)
Definition Metric.h:81
void SetProcessingConfig(ProcessingConfigT &&value)
Definition Metric.h:107
Metric & WithWindow(WindowT &&value)
Definition Metric.h:95
const Aws::Vector< ExpressionVariable > & GetVariables() const
Definition Metric.h:74
AWS_IOTSITEWISE_API Metric & operator=(Aws::Utils::Json::JsonView jsonValue)
Metric & WithProcessingConfig(ProcessingConfigT &&value)
Definition Metric.h:109
const Aws::String & GetExpression() const
Definition Metric.h:62
void SetWindow(WindowT &&value)
Definition Metric.h:93
AWS_IOTSITEWISE_API Metric()=default
Metric & WithExpression(ExpressionT &&value)
Definition Metric.h:67
bool VariablesHasBeenSet() const
Definition Metric.h:75
Metric & WithVariables(VariablesT &&value)
Definition Metric.h:79
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
bool WindowHasBeenSet() const
Definition Metric.h:91
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue