/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The rate of increase for a job rollout. This parameter allows you to define
* an exponential rate increase for a job rollout.See Also:
AWS
* API Reference
The minimum number of things that will be notified of a pending job, per * minute, at the start of the job rollout. This is the initial rate of the * rollout.
*/ inline int GetBaseRatePerMinute() const{ return m_baseRatePerMinute; } /** *The minimum number of things that will be notified of a pending job, per * minute, at the start of the job rollout. This is the initial rate of the * rollout.
*/ inline bool BaseRatePerMinuteHasBeenSet() const { return m_baseRatePerMinuteHasBeenSet; } /** *The minimum number of things that will be notified of a pending job, per * minute, at the start of the job rollout. This is the initial rate of the * rollout.
*/ inline void SetBaseRatePerMinute(int value) { m_baseRatePerMinuteHasBeenSet = true; m_baseRatePerMinute = value; } /** *The minimum number of things that will be notified of a pending job, per * minute, at the start of the job rollout. This is the initial rate of the * rollout.
*/ inline AwsJobExponentialRolloutRate& WithBaseRatePerMinute(int value) { SetBaseRatePerMinute(value); return *this;} /** *The rate of increase for a job rollout. The number of things notified is * multiplied by this factor.
*/ inline double GetIncrementFactor() const{ return m_incrementFactor; } /** *The rate of increase for a job rollout. The number of things notified is * multiplied by this factor.
*/ inline bool IncrementFactorHasBeenSet() const { return m_incrementFactorHasBeenSet; } /** *The rate of increase for a job rollout. The number of things notified is * multiplied by this factor.
*/ inline void SetIncrementFactor(double value) { m_incrementFactorHasBeenSet = true; m_incrementFactor = value; } /** *The rate of increase for a job rollout. The number of things notified is * multiplied by this factor.
*/ inline AwsJobExponentialRolloutRate& WithIncrementFactor(double value) { SetIncrementFactor(value); return *this;} /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline const AwsJobRateIncreaseCriteria& GetRateIncreaseCriteria() const{ return m_rateIncreaseCriteria; } /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline bool RateIncreaseCriteriaHasBeenSet() const { return m_rateIncreaseCriteriaHasBeenSet; } /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline void SetRateIncreaseCriteria(const AwsJobRateIncreaseCriteria& value) { m_rateIncreaseCriteriaHasBeenSet = true; m_rateIncreaseCriteria = value; } /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline void SetRateIncreaseCriteria(AwsJobRateIncreaseCriteria&& value) { m_rateIncreaseCriteriaHasBeenSet = true; m_rateIncreaseCriteria = std::move(value); } /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline AwsJobExponentialRolloutRate& WithRateIncreaseCriteria(const AwsJobRateIncreaseCriteria& value) { SetRateIncreaseCriteria(value); return *this;} /** *The criteria to initiate the increase in rate of rollout for a job.
*Amazon Web Services IoT Core supports up to one digit after the decimal (for * example, 1.5, but not 1.55).
*/ inline AwsJobExponentialRolloutRate& WithRateIncreaseCriteria(AwsJobRateIncreaseCriteria&& value) { SetRateIncreaseCriteria(std::move(value)); return *this;} private: int m_baseRatePerMinute; bool m_baseRatePerMinuteHasBeenSet = false; double m_incrementFactor; bool m_incrementFactorHasBeenSet = false; AwsJobRateIncreaseCriteria m_rateIncreaseCriteria; bool m_rateIncreaseCriteriaHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws