/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a recommendation export job. Use the
* DescribeRecommendationExportJobs action to view your recommendation
* export jobs. Use the ExportAutoScalingGroupRecommendations or
* ExportEC2InstanceRecommendations actions to request an export of your
* recommendations.See Also:
AWS
* API Reference
The identification number of the export job.
*/ inline const Aws::String& GetJobId() const{ return m_jobId; } /** *The identification number of the export job.
*/ inline bool JobIdHasBeenSet() const { return m_jobIdHasBeenSet; } /** *The identification number of the export job.
*/ inline void SetJobId(const Aws::String& value) { m_jobIdHasBeenSet = true; m_jobId = value; } /** *The identification number of the export job.
*/ inline void SetJobId(Aws::String&& value) { m_jobIdHasBeenSet = true; m_jobId = std::move(value); } /** *The identification number of the export job.
*/ inline void SetJobId(const char* value) { m_jobIdHasBeenSet = true; m_jobId.assign(value); } /** *The identification number of the export job.
*/ inline RecommendationExportJob& WithJobId(const Aws::String& value) { SetJobId(value); return *this;} /** *The identification number of the export job.
*/ inline RecommendationExportJob& WithJobId(Aws::String&& value) { SetJobId(std::move(value)); return *this;} /** *The identification number of the export job.
*/ inline RecommendationExportJob& WithJobId(const char* value) { SetJobId(value); return *this;} /** *An object that describes the destination of the export file.
*/ inline const ExportDestination& GetDestination() const{ return m_destination; } /** *An object that describes the destination of the export file.
*/ inline bool DestinationHasBeenSet() const { return m_destinationHasBeenSet; } /** *An object that describes the destination of the export file.
*/ inline void SetDestination(const ExportDestination& value) { m_destinationHasBeenSet = true; m_destination = value; } /** *An object that describes the destination of the export file.
*/ inline void SetDestination(ExportDestination&& value) { m_destinationHasBeenSet = true; m_destination = std::move(value); } /** *An object that describes the destination of the export file.
*/ inline RecommendationExportJob& WithDestination(const ExportDestination& value) { SetDestination(value); return *this;} /** *An object that describes the destination of the export file.
*/ inline RecommendationExportJob& WithDestination(ExportDestination&& value) { SetDestination(std::move(value)); return *this;} /** *The resource type of the exported recommendations.
*/ inline const ResourceType& GetResourceType() const{ return m_resourceType; } /** *The resource type of the exported recommendations.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The resource type of the exported recommendations.
*/ inline void SetResourceType(const ResourceType& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The resource type of the exported recommendations.
*/ inline void SetResourceType(ResourceType&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The resource type of the exported recommendations.
*/ inline RecommendationExportJob& WithResourceType(const ResourceType& value) { SetResourceType(value); return *this;} /** *The resource type of the exported recommendations.
*/ inline RecommendationExportJob& WithResourceType(ResourceType&& value) { SetResourceType(std::move(value)); return *this;} /** *The status of the export job.
*/ inline const JobStatus& GetStatus() const{ return m_status; } /** *The status of the export job.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the export job.
*/ inline void SetStatus(const JobStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the export job.
*/ inline void SetStatus(JobStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the export job.
*/ inline RecommendationExportJob& WithStatus(const JobStatus& value) { SetStatus(value); return *this;} /** *The status of the export job.
*/ inline RecommendationExportJob& WithStatus(JobStatus&& value) { SetStatus(std::move(value)); return *this;} /** *The timestamp of when the export job was created.
*/ inline const Aws::Utils::DateTime& GetCreationTimestamp() const{ return m_creationTimestamp; } /** *The timestamp of when the export job was created.
*/ inline bool CreationTimestampHasBeenSet() const { return m_creationTimestampHasBeenSet; } /** *The timestamp of when the export job was created.
*/ inline void SetCreationTimestamp(const Aws::Utils::DateTime& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = value; } /** *The timestamp of when the export job was created.
*/ inline void SetCreationTimestamp(Aws::Utils::DateTime&& value) { m_creationTimestampHasBeenSet = true; m_creationTimestamp = std::move(value); } /** *The timestamp of when the export job was created.
*/ inline RecommendationExportJob& WithCreationTimestamp(const Aws::Utils::DateTime& value) { SetCreationTimestamp(value); return *this;} /** *The timestamp of when the export job was created.
*/ inline RecommendationExportJob& WithCreationTimestamp(Aws::Utils::DateTime&& value) { SetCreationTimestamp(std::move(value)); return *this;} /** *The timestamp of when the export job was last updated.
*/ inline const Aws::Utils::DateTime& GetLastUpdatedTimestamp() const{ return m_lastUpdatedTimestamp; } /** *The timestamp of when the export job was last updated.
*/ inline bool LastUpdatedTimestampHasBeenSet() const { return m_lastUpdatedTimestampHasBeenSet; } /** *The timestamp of when the export job was last updated.
*/ inline void SetLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = value; } /** *The timestamp of when the export job was last updated.
*/ inline void SetLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { m_lastUpdatedTimestampHasBeenSet = true; m_lastUpdatedTimestamp = std::move(value); } /** *The timestamp of when the export job was last updated.
*/ inline RecommendationExportJob& WithLastUpdatedTimestamp(const Aws::Utils::DateTime& value) { SetLastUpdatedTimestamp(value); return *this;} /** *The timestamp of when the export job was last updated.
*/ inline RecommendationExportJob& WithLastUpdatedTimestamp(Aws::Utils::DateTime&& value) { SetLastUpdatedTimestamp(std::move(value)); return *this;} /** *The reason for an export job failure.
*/ inline const Aws::String& GetFailureReason() const{ return m_failureReason; } /** *The reason for an export job failure.
*/ inline bool FailureReasonHasBeenSet() const { return m_failureReasonHasBeenSet; } /** *The reason for an export job failure.
*/ inline void SetFailureReason(const Aws::String& value) { m_failureReasonHasBeenSet = true; m_failureReason = value; } /** *The reason for an export job failure.
*/ inline void SetFailureReason(Aws::String&& value) { m_failureReasonHasBeenSet = true; m_failureReason = std::move(value); } /** *The reason for an export job failure.
*/ inline void SetFailureReason(const char* value) { m_failureReasonHasBeenSet = true; m_failureReason.assign(value); } /** *The reason for an export job failure.
*/ inline RecommendationExportJob& WithFailureReason(const Aws::String& value) { SetFailureReason(value); return *this;} /** *The reason for an export job failure.
*/ inline RecommendationExportJob& WithFailureReason(Aws::String&& value) { SetFailureReason(std::move(value)); return *this;} /** *The reason for an export job failure.
*/ inline RecommendationExportJob& WithFailureReason(const char* value) { SetFailureReason(value); return *this;} private: Aws::String m_jobId; bool m_jobIdHasBeenSet = false; ExportDestination m_destination; bool m_destinationHasBeenSet = false; ResourceType m_resourceType; bool m_resourceTypeHasBeenSet = false; JobStatus m_status; bool m_statusHasBeenSet = false; Aws::Utils::DateTime m_creationTimestamp; bool m_creationTimestampHasBeenSet = false; Aws::Utils::DateTime m_lastUpdatedTimestamp; bool m_lastUpdatedTimestampHasBeenSet = false; Aws::String m_failureReason; bool m_failureReasonHasBeenSet = false; }; } // namespace Model } // namespace ComputeOptimizer } // namespace Aws