7#include <aws/autoscaling-plans/AutoScalingPlans_EXPORTS.h>
8#include <aws/autoscaling-plans/model/MetricDimension.h>
9#include <aws/autoscaling-plans/model/MetricStatistic.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
22namespace AutoScalingPlans {
58 template <
typename MetricNameT = Aws::String>
60 m_metricNameHasBeenSet =
true;
61 m_metricName = std::forward<MetricNameT>(value);
63 template <
typename MetricNameT = Aws::String>
76 template <
typename NamespaceT = Aws::String>
78 m_namespaceHasBeenSet =
true;
79 m_namespace = std::forward<NamespaceT>(value);
81 template <
typename NamespaceT = Aws::String>
96 template <
typename DimensionsT = Aws::Vector<MetricDimension>>
98 m_dimensionsHasBeenSet =
true;
99 m_dimensions = std::forward<DimensionsT>(value);
101 template <
typename DimensionsT = Aws::Vector<MetricDimension>>
106 template <
typename DimensionsT = MetricDimension>
108 m_dimensionsHasBeenSet =
true;
109 m_dimensions.emplace_back(std::forward<DimensionsT>(value));
121 m_statisticHasBeenSet =
true;
136 template <
typename UnitT = Aws::String>
138 m_unitHasBeenSet =
true;
139 m_unit = std::forward<UnitT>(value);
141 template <
typename UnitT = Aws::String>
143 SetUnit(std::forward<UnitT>(value));
157 bool m_metricNameHasBeenSet =
false;
158 bool m_namespaceHasBeenSet =
false;
159 bool m_dimensionsHasBeenSet =
false;
160 bool m_statisticHasBeenSet =
false;
161 bool m_unitHasBeenSet =
false;
AWS_AUTOSCALINGPLANS_API CustomizedScalingMetricSpecification & operator=(Aws::Utils::Json::JsonView jsonValue)
CustomizedScalingMetricSpecification & WithDimensions(DimensionsT &&value)
MetricStatistic GetStatistic() const
CustomizedScalingMetricSpecification & WithNamespace(NamespaceT &&value)
const Aws::String & GetNamespace() const
void SetStatistic(MetricStatistic value)
bool DimensionsHasBeenSet() const
void SetDimensions(DimensionsT &&value)
const Aws::String & GetUnit() const
bool UnitHasBeenSet() const
CustomizedScalingMetricSpecification & WithUnit(UnitT &&value)
AWS_AUTOSCALINGPLANS_API CustomizedScalingMetricSpecification()=default
AWS_AUTOSCALINGPLANS_API CustomizedScalingMetricSpecification(Aws::Utils::Json::JsonView jsonValue)
void SetMetricName(MetricNameT &&value)
AWS_AUTOSCALINGPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
bool MetricNameHasBeenSet() const
bool NamespaceHasBeenSet() const
const Aws::Vector< MetricDimension > & GetDimensions() const
void SetNamespace(NamespaceT &&value)
CustomizedScalingMetricSpecification & WithMetricName(MetricNameT &&value)
void SetUnit(UnitT &&value)
CustomizedScalingMetricSpecification & AddDimensions(DimensionsT &&value)
bool StatisticHasBeenSet() const
CustomizedScalingMetricSpecification & WithStatistic(MetricStatistic value)
const Aws::String & GetMetricName() 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