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>
48 AWS_IOTSITEWISE_API
Metric() =
default;
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>
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>>
80 template<
typename VariablesT = ExpressionVariable>
81 Metric&
AddVariables(VariablesT&& value) { m_variablesHasBeenSet =
true; m_variables.emplace_back(std::forward<VariablesT>(value));
return *
this; }
92 template<
typename WindowT = MetricWindow>
93 void SetWindow(WindowT&& value) { m_windowHasBeenSet =
true; m_window = std::forward<WindowT>(value); }
94 template<
typename WindowT = MetricWindow>
106 template<
typename ProcessingConfigT = MetricProcessingConfig>
107 void SetProcessingConfig(ProcessingConfigT&& value) { m_processingConfigHasBeenSet =
true; m_processingConfig = std::forward<ProcessingConfigT>(value); }
108 template<
typename ProcessingConfigT = MetricProcessingConfig>
114 bool m_expressionHasBeenSet =
false;
117 bool m_variablesHasBeenSet =
false;
120 bool m_windowHasBeenSet =
false;
123 bool m_processingConfigHasBeenSet =
false;
AWS_IOTSITEWISE_API Metric(Aws::Utils::Json::JsonView jsonValue)
const MetricWindow & GetWindow() const
void SetExpression(ExpressionT &&value)
bool ExpressionHasBeenSet() const
void SetVariables(VariablesT &&value)
bool ProcessingConfigHasBeenSet() const
const MetricProcessingConfig & GetProcessingConfig() const
Metric & AddVariables(VariablesT &&value)
void SetProcessingConfig(ProcessingConfigT &&value)
Metric & WithWindow(WindowT &&value)
const Aws::Vector< ExpressionVariable > & GetVariables() const
AWS_IOTSITEWISE_API Metric & operator=(Aws::Utils::Json::JsonView jsonValue)
Metric & WithProcessingConfig(ProcessingConfigT &&value)
const Aws::String & GetExpression() const
void SetWindow(WindowT &&value)
AWS_IOTSITEWISE_API Metric()=default
Metric & WithExpression(ExpressionT &&value)
bool VariablesHasBeenSet() const
Metric & WithVariables(VariablesT &&value)
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
bool WindowHasBeenSet() 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