/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoT { namespace Model { /** *

Configuration for the rollout of OTA updates.

See Also:

AWS * API Reference

*/ class AwsJobExecutionsRolloutConfig { public: AWS_IOT_API AwsJobExecutionsRolloutConfig(); AWS_IOT_API AwsJobExecutionsRolloutConfig(Aws::Utils::Json::JsonView jsonValue); AWS_IOT_API AwsJobExecutionsRolloutConfig& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_IOT_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The maximum number of OTA update job executions started per minute.

*/ inline int GetMaximumPerMinute() const{ return m_maximumPerMinute; } /** *

The maximum number of OTA update job executions started per minute.

*/ inline bool MaximumPerMinuteHasBeenSet() const { return m_maximumPerMinuteHasBeenSet; } /** *

The maximum number of OTA update job executions started per minute.

*/ inline void SetMaximumPerMinute(int value) { m_maximumPerMinuteHasBeenSet = true; m_maximumPerMinute = value; } /** *

The maximum number of OTA update job executions started per minute.

*/ inline AwsJobExecutionsRolloutConfig& WithMaximumPerMinute(int value) { SetMaximumPerMinute(value); return *this;} /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline const AwsJobExponentialRolloutRate& GetExponentialRate() const{ return m_exponentialRate; } /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline bool ExponentialRateHasBeenSet() const { return m_exponentialRateHasBeenSet; } /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline void SetExponentialRate(const AwsJobExponentialRolloutRate& value) { m_exponentialRateHasBeenSet = true; m_exponentialRate = value; } /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline void SetExponentialRate(AwsJobExponentialRolloutRate&& value) { m_exponentialRateHasBeenSet = true; m_exponentialRate = std::move(value); } /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline AwsJobExecutionsRolloutConfig& WithExponentialRate(const AwsJobExponentialRolloutRate& value) { SetExponentialRate(value); return *this;} /** *

The rate of increase for a job rollout. This parameter allows you to define * an exponential rate increase for a job rollout.

*/ inline AwsJobExecutionsRolloutConfig& WithExponentialRate(AwsJobExponentialRolloutRate&& value) { SetExponentialRate(std::move(value)); return *this;} private: int m_maximumPerMinute; bool m_maximumPerMinuteHasBeenSet = false; AwsJobExponentialRolloutRate m_exponentialRate; bool m_exponentialRateHasBeenSet = false; }; } // namespace Model } // namespace IoT } // namespace Aws