AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
ExponentialRolloutRate.h
1
6#pragma once
7#include <aws/iot/IoT_EXPORTS.h>
8#include <aws/iot/model/RateIncreaseCriteria.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace IoT {
20namespace Model {
21
29 public:
30 AWS_IOT_API ExponentialRolloutRate() = default;
34
36
41 inline int GetBaseRatePerMinute() const { return m_baseRatePerMinute; }
42 inline bool BaseRatePerMinuteHasBeenSet() const { return m_baseRatePerMinuteHasBeenSet; }
43 inline void SetBaseRatePerMinute(int value) {
44 m_baseRatePerMinuteHasBeenSet = true;
45 m_baseRatePerMinute = value;
46 }
49 return *this;
50 }
52
54
59 inline double GetIncrementFactor() const { return m_incrementFactor; }
60 inline bool IncrementFactorHasBeenSet() const { return m_incrementFactorHasBeenSet; }
61 inline void SetIncrementFactor(double value) {
62 m_incrementFactorHasBeenSet = true;
63 m_incrementFactor = value;
64 }
66 SetIncrementFactor(value);
67 return *this;
68 }
70
72
75 inline const RateIncreaseCriteria& GetRateIncreaseCriteria() const { return m_rateIncreaseCriteria; }
76 inline bool RateIncreaseCriteriaHasBeenSet() const { return m_rateIncreaseCriteriaHasBeenSet; }
77 template <typename RateIncreaseCriteriaT = RateIncreaseCriteria>
78 void SetRateIncreaseCriteria(RateIncreaseCriteriaT&& value) {
79 m_rateIncreaseCriteriaHasBeenSet = true;
80 m_rateIncreaseCriteria = std::forward<RateIncreaseCriteriaT>(value);
81 }
82 template <typename RateIncreaseCriteriaT = RateIncreaseCriteria>
83 ExponentialRolloutRate& WithRateIncreaseCriteria(RateIncreaseCriteriaT&& value) {
84 SetRateIncreaseCriteria(std::forward<RateIncreaseCriteriaT>(value));
85 return *this;
86 }
88 private:
89 int m_baseRatePerMinute{0};
90
91 double m_incrementFactor{0.0};
92
93 RateIncreaseCriteria m_rateIncreaseCriteria;
94 bool m_baseRatePerMinuteHasBeenSet = false;
95 bool m_incrementFactorHasBeenSet = false;
96 bool m_rateIncreaseCriteriaHasBeenSet = false;
97};
98
99} // namespace Model
100} // namespace IoT
101} // namespace Aws
ExponentialRolloutRate & WithBaseRatePerMinute(int value)
AWS_IOT_API ExponentialRolloutRate & operator=(Aws::Utils::Json::JsonView jsonValue)
const RateIncreaseCriteria & GetRateIncreaseCriteria() const
AWS_IOT_API ExponentialRolloutRate()=default
AWS_IOT_API ExponentialRolloutRate(Aws::Utils::Json::JsonView jsonValue)
ExponentialRolloutRate & WithRateIncreaseCriteria(RateIncreaseCriteriaT &&value)
AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const
ExponentialRolloutRate & WithIncrementFactor(double value)
void SetRateIncreaseCriteria(RateIncreaseCriteriaT &&value)
Aws::Utils::Json::JsonValue JsonValue