/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Contains information about an IoT job configuration.See Also:
* AWS
* API Reference
The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline const IoTJobExecutionsRolloutConfig& GetJobExecutionsRolloutConfig() const{ return m_jobExecutionsRolloutConfig; } /** *The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline bool JobExecutionsRolloutConfigHasBeenSet() const { return m_jobExecutionsRolloutConfigHasBeenSet; } /** *The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline void SetJobExecutionsRolloutConfig(const IoTJobExecutionsRolloutConfig& value) { m_jobExecutionsRolloutConfigHasBeenSet = true; m_jobExecutionsRolloutConfig = value; } /** *The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline void SetJobExecutionsRolloutConfig(IoTJobExecutionsRolloutConfig&& value) { m_jobExecutionsRolloutConfigHasBeenSet = true; m_jobExecutionsRolloutConfig = std::move(value); } /** *The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline DeploymentIoTJobConfiguration& WithJobExecutionsRolloutConfig(const IoTJobExecutionsRolloutConfig& value) { SetJobExecutionsRolloutConfig(value); return *this;} /** *The rollout configuration for the job. This configuration defines the rate at * which the job rolls out to the fleet of target devices.
*/ inline DeploymentIoTJobConfiguration& WithJobExecutionsRolloutConfig(IoTJobExecutionsRolloutConfig&& value) { SetJobExecutionsRolloutConfig(std::move(value)); return *this;} /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline const IoTJobAbortConfig& GetAbortConfig() const{ return m_abortConfig; } /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline bool AbortConfigHasBeenSet() const { return m_abortConfigHasBeenSet; } /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline void SetAbortConfig(const IoTJobAbortConfig& value) { m_abortConfigHasBeenSet = true; m_abortConfig = value; } /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline void SetAbortConfig(IoTJobAbortConfig&& value) { m_abortConfigHasBeenSet = true; m_abortConfig = std::move(value); } /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline DeploymentIoTJobConfiguration& WithAbortConfig(const IoTJobAbortConfig& value) { SetAbortConfig(value); return *this;} /** *The stop configuration for the job. This configuration defines when and how * to stop a job rollout.
*/ inline DeploymentIoTJobConfiguration& WithAbortConfig(IoTJobAbortConfig&& value) { SetAbortConfig(std::move(value)); return *this;} /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline const IoTJobTimeoutConfig& GetTimeoutConfig() const{ return m_timeoutConfig; } /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline bool TimeoutConfigHasBeenSet() const { return m_timeoutConfigHasBeenSet; } /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline void SetTimeoutConfig(const IoTJobTimeoutConfig& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = value; } /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline void SetTimeoutConfig(IoTJobTimeoutConfig&& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = std::move(value); } /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline DeploymentIoTJobConfiguration& WithTimeoutConfig(const IoTJobTimeoutConfig& value) { SetTimeoutConfig(value); return *this;} /** *The timeout configuration for the job. This configuration defines the amount * of time each device has to complete the job.
*/ inline DeploymentIoTJobConfiguration& WithTimeoutConfig(IoTJobTimeoutConfig&& value) { SetTimeoutConfig(std::move(value)); return *this;} private: IoTJobExecutionsRolloutConfig m_jobExecutionsRolloutConfig; bool m_jobExecutionsRolloutConfigHasBeenSet = false; IoTJobAbortConfig m_abortConfig; bool m_abortConfigHasBeenSet = false; IoTJobTimeoutConfig m_timeoutConfig; bool m_timeoutConfigHasBeenSet = false; }; } // namespace Model } // namespace GreengrassV2 } // namespace Aws