/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace IoT { namespace Model { /** */ class AWS_IOT_API UpdateJobRequest : public IoTRequest { public: UpdateJobRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "UpdateJob"; } Aws::String SerializePayload() const override; /** *

The ID of the job to be updated.

*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *

The ID of the job to be updated.

*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *

The ID of the job to be updated.

*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *

The ID of the job to be updated.

*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *

The ID of the job to be updated.

*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *

The ID of the job to be updated.

*/ inline UpdateJobRequest& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *

The ID of the job to be updated.

*/ inline UpdateJobRequest& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *

The ID of the job to be updated.

*/ inline UpdateJobRequest& WithJobId(const char* value) { SetJobId(value); return *this;} /** *

A short text description of the job.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A short text description of the job.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A short text description of the job.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A short text description of the job.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A short text description of the job.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A short text description of the job.

*/ inline UpdateJobRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A short text description of the job.

*/ inline UpdateJobRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A short text description of the job.

*/ inline UpdateJobRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Configuration information for pre-signed S3 URLs.

*/ inline const PresignedUrlConfig& GetPresignedUrlConfig() const{ return m_presignedUrlConfig; } /** *

Configuration information for pre-signed S3 URLs.

*/ inline bool PresignedUrlConfigHasBeenSet() const { return m_presignedUrlConfigHasBeenSet; } /** *

Configuration information for pre-signed S3 URLs.

*/ inline void SetPresignedUrlConfig(const PresignedUrlConfig& value) { m_presignedUrlConfigHasBeenSet = true; m_presignedUrlConfig = value; } /** *

Configuration information for pre-signed S3 URLs.

*/ inline void SetPresignedUrlConfig(PresignedUrlConfig&& value) { m_presignedUrlConfigHasBeenSet = true; m_presignedUrlConfig = std::move(value); } /** *

Configuration information for pre-signed S3 URLs.

*/ inline UpdateJobRequest& WithPresignedUrlConfig(const PresignedUrlConfig& value) { SetPresignedUrlConfig(value); return *this;} /** *

Configuration information for pre-signed S3 URLs.

*/ inline UpdateJobRequest& WithPresignedUrlConfig(PresignedUrlConfig&& value) { SetPresignedUrlConfig(std::move(value)); return *this;} /** *

Allows you to create a staged rollout of the job.

*/ inline const JobExecutionsRolloutConfig& GetJobExecutionsRolloutConfig() const{ return m_jobExecutionsRolloutConfig; } /** *

Allows you to create a staged rollout of the job.

*/ inline bool JobExecutionsRolloutConfigHasBeenSet() const { return m_jobExecutionsRolloutConfigHasBeenSet; } /** *

Allows you to create a staged rollout of the job.

*/ inline void SetJobExecutionsRolloutConfig(const JobExecutionsRolloutConfig& value) { m_jobExecutionsRolloutConfigHasBeenSet = true; m_jobExecutionsRolloutConfig = value; } /** *

Allows you to create a staged rollout of the job.

*/ inline void SetJobExecutionsRolloutConfig(JobExecutionsRolloutConfig&& value) { m_jobExecutionsRolloutConfigHasBeenSet = true; m_jobExecutionsRolloutConfig = std::move(value); } /** *

Allows you to create a staged rollout of the job.

*/ inline UpdateJobRequest& WithJobExecutionsRolloutConfig(const JobExecutionsRolloutConfig& value) { SetJobExecutionsRolloutConfig(value); return *this;} /** *

Allows you to create a staged rollout of the job.

*/ inline UpdateJobRequest& WithJobExecutionsRolloutConfig(JobExecutionsRolloutConfig&& value) { SetJobExecutionsRolloutConfig(std::move(value)); return *this;} /** *

Allows you to create criteria to abort a job.

*/ inline const AbortConfig& GetAbortConfig() const{ return m_abortConfig; } /** *

Allows you to create criteria to abort a job.

*/ inline bool AbortConfigHasBeenSet() const { return m_abortConfigHasBeenSet; } /** *

Allows you to create criteria to abort a job.

*/ inline void SetAbortConfig(const AbortConfig& value) { m_abortConfigHasBeenSet = true; m_abortConfig = value; } /** *

Allows you to create criteria to abort a job.

*/ inline void SetAbortConfig(AbortConfig&& value) { m_abortConfigHasBeenSet = true; m_abortConfig = std::move(value); } /** *

Allows you to create criteria to abort a job.

*/ inline UpdateJobRequest& WithAbortConfig(const AbortConfig& value) { SetAbortConfig(value); return *this;} /** *

Allows you to create criteria to abort a job.

*/ inline UpdateJobRequest& WithAbortConfig(AbortConfig&& value) { SetAbortConfig(std::move(value)); return *this;} /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline const TimeoutConfig& GetTimeoutConfig() const{ return m_timeoutConfig; } /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline bool TimeoutConfigHasBeenSet() const { return m_timeoutConfigHasBeenSet; } /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline void SetTimeoutConfig(const TimeoutConfig& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = value; } /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline void SetTimeoutConfig(TimeoutConfig&& value) { m_timeoutConfigHasBeenSet = true; m_timeoutConfig = std::move(value); } /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline UpdateJobRequest& WithTimeoutConfig(const TimeoutConfig& value) { SetTimeoutConfig(value); return *this;} /** *

Specifies the amount of time each device has to finish its execution of the * job. The timer is started when the job execution status is set to * IN_PROGRESS. If the job execution status is not set to another * terminal state before the time expires, it will be automatically set to * TIMED_OUT.

*/ inline UpdateJobRequest& WithTimeoutConfig(TimeoutConfig&& value) { SetTimeoutConfig(std::move(value)); return *this;} private: Aws::String m_jobId; bool m_jobIdHasBeenSet; Aws::String m_description; bool m_descriptionHasBeenSet; PresignedUrlConfig m_presignedUrlConfig; bool m_presignedUrlConfigHasBeenSet; JobExecutionsRolloutConfig m_jobExecutionsRolloutConfig; bool m_jobExecutionsRolloutConfigHasBeenSet; AbortConfig m_abortConfig; bool m_abortConfigHasBeenSet; TimeoutConfig m_timeoutConfig; bool m_timeoutConfigHasBeenSet; }; } // namespace Model } // namespace IoT } // namespace Aws