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-managed-integrations/IoTManagedIntegrations_EXPORTS.h>
8#include <aws/iot-managed-integrations/model/RolloutRateIncreaseCriteria.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 IoTManagedIntegrations
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate() = default;
36 AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate(Aws::Utils::Json::JsonView jsonValue);
37 AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_IOTMANAGEDINTEGRATIONS_API Aws::Utils::Json::JsonValue Jsonize() const;
39
40
42
45 inline int GetBaseRatePerMinute() const { return m_baseRatePerMinute; }
46 inline bool BaseRatePerMinuteHasBeenSet() const { return m_baseRatePerMinuteHasBeenSet; }
47 inline void SetBaseRatePerMinute(int value) { m_baseRatePerMinuteHasBeenSet = true; m_baseRatePerMinute = value; }
48 inline ExponentialRolloutRate& WithBaseRatePerMinute(int value) { SetBaseRatePerMinute(value); return *this;}
50
52
56 inline double GetIncrementFactor() const { return m_incrementFactor; }
57 inline bool IncrementFactorHasBeenSet() const { return m_incrementFactorHasBeenSet; }
58 inline void SetIncrementFactor(double value) { m_incrementFactorHasBeenSet = true; m_incrementFactor = value; }
59 inline ExponentialRolloutRate& WithIncrementFactor(double value) { SetIncrementFactor(value); return *this;}
61
63
67 inline const RolloutRateIncreaseCriteria& GetRateIncreaseCriteria() const { return m_rateIncreaseCriteria; }
68 inline bool RateIncreaseCriteriaHasBeenSet() const { return m_rateIncreaseCriteriaHasBeenSet; }
69 template<typename RateIncreaseCriteriaT = RolloutRateIncreaseCriteria>
70 void SetRateIncreaseCriteria(RateIncreaseCriteriaT&& value) { m_rateIncreaseCriteriaHasBeenSet = true; m_rateIncreaseCriteria = std::forward<RateIncreaseCriteriaT>(value); }
71 template<typename RateIncreaseCriteriaT = RolloutRateIncreaseCriteria>
72 ExponentialRolloutRate& WithRateIncreaseCriteria(RateIncreaseCriteriaT&& value) { SetRateIncreaseCriteria(std::forward<RateIncreaseCriteriaT>(value)); return *this;}
74 private:
75
76 int m_baseRatePerMinute{0};
77 bool m_baseRatePerMinuteHasBeenSet = false;
78
79 double m_incrementFactor{0.0};
80 bool m_incrementFactorHasBeenSet = false;
81
82 RolloutRateIncreaseCriteria m_rateIncreaseCriteria;
83 bool m_rateIncreaseCriteriaHasBeenSet = false;
84 };
85
86} // namespace Model
87} // namespace IoTManagedIntegrations
88} // namespace Aws
ExponentialRolloutRate & WithRateIncreaseCriteria(RateIncreaseCriteriaT &&value)
AWS_IOTMANAGEDINTEGRATIONS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate()=default
AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTMANAGEDINTEGRATIONS_API ExponentialRolloutRate(Aws::Utils::Json::JsonView jsonValue)
const RolloutRateIncreaseCriteria & GetRateIncreaseCriteria() const
Aws::Utils::Json::JsonValue JsonValue