/** * 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 GreengrassV2 { namespace Model { /** *

Contains information about the rollout configuration for a job. This * configuration defines the rate at which the job deploys a configuration to a * fleet of target devices.

See Also:

AWS * API Reference

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

The exponential rate to increase the job rollout rate.

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

The exponential rate to increase the job rollout rate.

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

The exponential rate to increase the job rollout rate.

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

The exponential rate to increase the job rollout rate.

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

The exponential rate to increase the job rollout rate.

*/ inline IoTJobExecutionsRolloutConfig& WithExponentialRate(const IoTJobExponentialRolloutRate& value) { SetExponentialRate(value); return *this;} /** *

The exponential rate to increase the job rollout rate.

*/ inline IoTJobExecutionsRolloutConfig& WithExponentialRate(IoTJobExponentialRolloutRate&& value) { SetExponentialRate(std::move(value)); return *this;} /** *

The maximum number of devices that receive a pending job notification, per * minute.

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

The maximum number of devices that receive a pending job notification, per * minute.

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

The maximum number of devices that receive a pending job notification, per * minute.

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

The maximum number of devices that receive a pending job notification, per * minute.

*/ inline IoTJobExecutionsRolloutConfig& WithMaximumPerMinute(int value) { SetMaximumPerMinute(value); return *this;} private: IoTJobExponentialRolloutRate m_exponentialRate; bool m_exponentialRateHasBeenSet = false; int m_maximumPerMinute; bool m_maximumPerMinuteHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws