/** * 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 #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace IoT { namespace Model { class DescribeJobTemplateResult { public: AWS_IOT_API DescribeJobTemplateResult(); AWS_IOT_API DescribeJobTemplateResult(const Aws::AmazonWebServiceResult& result); AWS_IOT_API DescribeJobTemplateResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The ARN of the job template.

*/ inline const Aws::String& GetJobTemplateArn() const{ return m_jobTemplateArn; } /** *

The ARN of the job template.

*/ inline void SetJobTemplateArn(const Aws::String& value) { m_jobTemplateArn = value; } /** *

The ARN of the job template.

*/ inline void SetJobTemplateArn(Aws::String&& value) { m_jobTemplateArn = std::move(value); } /** *

The ARN of the job template.

*/ inline void SetJobTemplateArn(const char* value) { m_jobTemplateArn.assign(value); } /** *

The ARN of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateArn(const Aws::String& value) { SetJobTemplateArn(value); return *this;} /** *

The ARN of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateArn(Aws::String&& value) { SetJobTemplateArn(std::move(value)); return *this;} /** *

The ARN of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateArn(const char* value) { SetJobTemplateArn(value); return *this;} /** *

The unique identifier of the job template.

*/ inline const Aws::String& GetJobTemplateId() const{ return m_jobTemplateId; } /** *

The unique identifier of the job template.

*/ inline void SetJobTemplateId(const Aws::String& value) { m_jobTemplateId = value; } /** *

The unique identifier of the job template.

*/ inline void SetJobTemplateId(Aws::String&& value) { m_jobTemplateId = std::move(value); } /** *

The unique identifier of the job template.

*/ inline void SetJobTemplateId(const char* value) { m_jobTemplateId.assign(value); } /** *

The unique identifier of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateId(const Aws::String& value) { SetJobTemplateId(value); return *this;} /** *

The unique identifier of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateId(Aws::String&& value) { SetJobTemplateId(std::move(value)); return *this;} /** *

The unique identifier of the job template.

*/ inline DescribeJobTemplateResult& WithJobTemplateId(const char* value) { SetJobTemplateId(value); return *this;} /** *

A description of the job template.

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

A description of the job template.

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

A description of the job template.

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

A description of the job template.

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

A description of the job template.

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

A description of the job template.

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

A description of the job template.

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

An S3 link to the job document.

*/ inline const Aws::String& GetDocumentSource() const{ return m_documentSource; } /** *

An S3 link to the job document.

*/ inline void SetDocumentSource(const Aws::String& value) { m_documentSource = value; } /** *

An S3 link to the job document.

*/ inline void SetDocumentSource(Aws::String&& value) { m_documentSource = std::move(value); } /** *

An S3 link to the job document.

*/ inline void SetDocumentSource(const char* value) { m_documentSource.assign(value); } /** *

An S3 link to the job document.

*/ inline DescribeJobTemplateResult& WithDocumentSource(const Aws::String& value) { SetDocumentSource(value); return *this;} /** *

An S3 link to the job document.

*/ inline DescribeJobTemplateResult& WithDocumentSource(Aws::String&& value) { SetDocumentSource(std::move(value)); return *this;} /** *

An S3 link to the job document.

*/ inline DescribeJobTemplateResult& WithDocumentSource(const char* value) { SetDocumentSource(value); return *this;} /** *

The job document.

*/ inline const Aws::String& GetDocument() const{ return m_document; } /** *

The job document.

*/ inline void SetDocument(const Aws::String& value) { m_document = value; } /** *

The job document.

*/ inline void SetDocument(Aws::String&& value) { m_document = std::move(value); } /** *

The job document.

*/ inline void SetDocument(const char* value) { m_document.assign(value); } /** *

The job document.

*/ inline DescribeJobTemplateResult& WithDocument(const Aws::String& value) { SetDocument(value); return *this;} /** *

The job document.

*/ inline DescribeJobTemplateResult& WithDocument(Aws::String&& value) { SetDocument(std::move(value)); return *this;} /** *

The job document.

*/ inline DescribeJobTemplateResult& WithDocument(const char* value) { SetDocument(value); return *this;} /** *

The time, in seconds since the epoch, when the job template was created.

*/ inline const Aws::Utils::DateTime& GetCreatedAt() const{ return m_createdAt; } /** *

The time, in seconds since the epoch, when the job template was created.

*/ inline void SetCreatedAt(const Aws::Utils::DateTime& value) { m_createdAt = value; } /** *

The time, in seconds since the epoch, when the job template was created.

*/ inline void SetCreatedAt(Aws::Utils::DateTime&& value) { m_createdAt = std::move(value); } /** *

The time, in seconds since the epoch, when the job template was created.

*/ inline DescribeJobTemplateResult& WithCreatedAt(const Aws::Utils::DateTime& value) { SetCreatedAt(value); return *this;} /** *

The time, in seconds since the epoch, when the job template was created.

*/ inline DescribeJobTemplateResult& WithCreatedAt(Aws::Utils::DateTime&& value) { SetCreatedAt(std::move(value)); return *this;} inline const PresignedUrlConfig& GetPresignedUrlConfig() const{ return m_presignedUrlConfig; } inline void SetPresignedUrlConfig(const PresignedUrlConfig& value) { m_presignedUrlConfig = value; } inline void SetPresignedUrlConfig(PresignedUrlConfig&& value) { m_presignedUrlConfig = std::move(value); } inline DescribeJobTemplateResult& WithPresignedUrlConfig(const PresignedUrlConfig& value) { SetPresignedUrlConfig(value); return *this;} inline DescribeJobTemplateResult& WithPresignedUrlConfig(PresignedUrlConfig&& value) { SetPresignedUrlConfig(std::move(value)); return *this;} inline const JobExecutionsRolloutConfig& GetJobExecutionsRolloutConfig() const{ return m_jobExecutionsRolloutConfig; } inline void SetJobExecutionsRolloutConfig(const JobExecutionsRolloutConfig& value) { m_jobExecutionsRolloutConfig = value; } inline void SetJobExecutionsRolloutConfig(JobExecutionsRolloutConfig&& value) { m_jobExecutionsRolloutConfig = std::move(value); } inline DescribeJobTemplateResult& WithJobExecutionsRolloutConfig(const JobExecutionsRolloutConfig& value) { SetJobExecutionsRolloutConfig(value); return *this;} inline DescribeJobTemplateResult& WithJobExecutionsRolloutConfig(JobExecutionsRolloutConfig&& value) { SetJobExecutionsRolloutConfig(std::move(value)); return *this;} inline const AbortConfig& GetAbortConfig() const{ return m_abortConfig; } inline void SetAbortConfig(const AbortConfig& value) { m_abortConfig = value; } inline void SetAbortConfig(AbortConfig&& value) { m_abortConfig = std::move(value); } inline DescribeJobTemplateResult& WithAbortConfig(const AbortConfig& value) { SetAbortConfig(value); return *this;} inline DescribeJobTemplateResult& WithAbortConfig(AbortConfig&& value) { SetAbortConfig(std::move(value)); return *this;} inline const TimeoutConfig& GetTimeoutConfig() const{ return m_timeoutConfig; } inline void SetTimeoutConfig(const TimeoutConfig& value) { m_timeoutConfig = value; } inline void SetTimeoutConfig(TimeoutConfig&& value) { m_timeoutConfig = std::move(value); } inline DescribeJobTemplateResult& WithTimeoutConfig(const TimeoutConfig& value) { SetTimeoutConfig(value); return *this;} inline DescribeJobTemplateResult& WithTimeoutConfig(TimeoutConfig&& value) { SetTimeoutConfig(std::move(value)); return *this;} /** *

The configuration that determines how many retries are allowed for each * failure type for a job.

*/ inline const JobExecutionsRetryConfig& GetJobExecutionsRetryConfig() const{ return m_jobExecutionsRetryConfig; } /** *

The configuration that determines how many retries are allowed for each * failure type for a job.

*/ inline void SetJobExecutionsRetryConfig(const JobExecutionsRetryConfig& value) { m_jobExecutionsRetryConfig = value; } /** *

The configuration that determines how many retries are allowed for each * failure type for a job.

*/ inline void SetJobExecutionsRetryConfig(JobExecutionsRetryConfig&& value) { m_jobExecutionsRetryConfig = std::move(value); } /** *

The configuration that determines how many retries are allowed for each * failure type for a job.

*/ inline DescribeJobTemplateResult& WithJobExecutionsRetryConfig(const JobExecutionsRetryConfig& value) { SetJobExecutionsRetryConfig(value); return *this;} /** *

The configuration that determines how many retries are allowed for each * failure type for a job.

*/ inline DescribeJobTemplateResult& WithJobExecutionsRetryConfig(JobExecutionsRetryConfig&& value) { SetJobExecutionsRetryConfig(std::move(value)); return *this;} /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline const Aws::Vector& GetMaintenanceWindows() const{ return m_maintenanceWindows; } /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline void SetMaintenanceWindows(const Aws::Vector& value) { m_maintenanceWindows = value; } /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline void SetMaintenanceWindows(Aws::Vector&& value) { m_maintenanceWindows = std::move(value); } /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline DescribeJobTemplateResult& WithMaintenanceWindows(const Aws::Vector& value) { SetMaintenanceWindows(value); return *this;} /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline DescribeJobTemplateResult& WithMaintenanceWindows(Aws::Vector&& value) { SetMaintenanceWindows(std::move(value)); return *this;} /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline DescribeJobTemplateResult& AddMaintenanceWindows(const MaintenanceWindow& value) { m_maintenanceWindows.push_back(value); return *this; } /** *

Allows you to configure an optional maintenance window for the rollout of a * job document to all devices in the target group for a job.

*/ inline DescribeJobTemplateResult& AddMaintenanceWindows(MaintenanceWindow&& value) { m_maintenanceWindows.push_back(std::move(value)); return *this; } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline const Aws::Vector& GetDestinationPackageVersions() const{ return m_destinationPackageVersions; } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline void SetDestinationPackageVersions(const Aws::Vector& value) { m_destinationPackageVersions = value; } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline void SetDestinationPackageVersions(Aws::Vector&& value) { m_destinationPackageVersions = std::move(value); } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline DescribeJobTemplateResult& WithDestinationPackageVersions(const Aws::Vector& value) { SetDestinationPackageVersions(value); return *this;} /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline DescribeJobTemplateResult& WithDestinationPackageVersions(Aws::Vector&& value) { SetDestinationPackageVersions(std::move(value)); return *this;} /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline DescribeJobTemplateResult& AddDestinationPackageVersions(const Aws::String& value) { m_destinationPackageVersions.push_back(value); return *this; } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline DescribeJobTemplateResult& AddDestinationPackageVersions(Aws::String&& value) { m_destinationPackageVersions.push_back(std::move(value)); return *this; } /** *

The package version Amazon Resource Names (ARNs) that are installed on the * device when the job successfully completes.

Note:The following * Length Constraints relates to a single string. Up to five strings are * allowed.

*/ inline DescribeJobTemplateResult& AddDestinationPackageVersions(const char* value) { m_destinationPackageVersions.push_back(value); return *this; } inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeJobTemplateResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeJobTemplateResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeJobTemplateResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_jobTemplateArn; Aws::String m_jobTemplateId; Aws::String m_description; Aws::String m_documentSource; Aws::String m_document; Aws::Utils::DateTime m_createdAt; PresignedUrlConfig m_presignedUrlConfig; JobExecutionsRolloutConfig m_jobExecutionsRolloutConfig; AbortConfig m_abortConfig; TimeoutConfig m_timeoutConfig; JobExecutionsRetryConfig m_jobExecutionsRetryConfig; Aws::Vector m_maintenanceWindows; Aws::Vector m_destinationPackageVersions; Aws::String m_requestId; }; } // namespace Model } // namespace IoT } // namespace Aws