AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace IoT
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_IOT_API ExponentialRolloutRate() = default;
39
40
42
47 inline int GetBaseRatePerMinute() const { return m_baseRatePerMinute; }
48 inline bool BaseRatePerMinuteHasBeenSet() const { return m_baseRatePerMinuteHasBeenSet; }
49 inline void SetBaseRatePerMinute(int value) { m_baseRatePerMinuteHasBeenSet = true; m_baseRatePerMinute = value; }
50 inline ExponentialRolloutRate& WithBaseRatePerMinute(int value) { SetBaseRatePerMinute(value); return *this;}
52
54
59 inline double GetIncrementFactor() const { return m_incrementFactor; }
60 inline bool IncrementFactorHasBeenSet() const { return m_incrementFactorHasBeenSet; }
61 inline void SetIncrementFactor(double value) { m_incrementFactorHasBeenSet = true; m_incrementFactor = value; }
62 inline ExponentialRolloutRate& WithIncrementFactor(double value) { SetIncrementFactor(value); return *this;}
64
66
69 inline const RateIncreaseCriteria& GetRateIncreaseCriteria() const { return m_rateIncreaseCriteria; }
70 inline bool RateIncreaseCriteriaHasBeenSet() const { return m_rateIncreaseCriteriaHasBeenSet; }
71 template<typename RateIncreaseCriteriaT = RateIncreaseCriteria>
72 void SetRateIncreaseCriteria(RateIncreaseCriteriaT&& value) { m_rateIncreaseCriteriaHasBeenSet = true; m_rateIncreaseCriteria = std::forward<RateIncreaseCriteriaT>(value); }
73 template<typename RateIncreaseCriteriaT = RateIncreaseCriteria>
74 ExponentialRolloutRate& WithRateIncreaseCriteria(RateIncreaseCriteriaT&& value) { SetRateIncreaseCriteria(std::forward<RateIncreaseCriteriaT>(value)); return *this;}
76 private:
77
78 int m_baseRatePerMinute{0};
79 bool m_baseRatePerMinuteHasBeenSet = false;
80
81 double m_incrementFactor{0.0};
82 bool m_incrementFactorHasBeenSet = false;
83
84 RateIncreaseCriteria m_rateIncreaseCriteria;
85 bool m_rateIncreaseCriteriaHasBeenSet = false;
86 };
87
88} // namespace Model
89} // namespace IoT
90} // 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