/** * 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 namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ComputeOptimizer { namespace Model { /** *

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

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

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