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

Detailed information about a server.

See Also:

AWS * API Reference

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

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline const S3Object& GetAntipatternReportS3Object() const{ return m_antipatternReportS3Object; } /** *

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline bool AntipatternReportS3ObjectHasBeenSet() const { return m_antipatternReportS3ObjectHasBeenSet; } /** *

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline void SetAntipatternReportS3Object(const S3Object& value) { m_antipatternReportS3ObjectHasBeenSet = true; m_antipatternReportS3Object = value; } /** *

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline void SetAntipatternReportS3Object(S3Object&& value) { m_antipatternReportS3ObjectHasBeenSet = true; m_antipatternReportS3Object = std::move(value); } /** *

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline ServerDetail& WithAntipatternReportS3Object(const S3Object& value) { SetAntipatternReportS3Object(value); return *this;} /** *

The S3 bucket name and Amazon S3 key name for anti-pattern report.

*/ inline ServerDetail& WithAntipatternReportS3Object(S3Object&& value) { SetAntipatternReportS3Object(std::move(value)); return *this;} /** *

The status of the anti-pattern report generation.

*/ inline const AntipatternReportStatus& GetAntipatternReportStatus() const{ return m_antipatternReportStatus; } /** *

The status of the anti-pattern report generation.

*/ inline bool AntipatternReportStatusHasBeenSet() const { return m_antipatternReportStatusHasBeenSet; } /** *

The status of the anti-pattern report generation.

*/ inline void SetAntipatternReportStatus(const AntipatternReportStatus& value) { m_antipatternReportStatusHasBeenSet = true; m_antipatternReportStatus = value; } /** *

The status of the anti-pattern report generation.

*/ inline void SetAntipatternReportStatus(AntipatternReportStatus&& value) { m_antipatternReportStatusHasBeenSet = true; m_antipatternReportStatus = std::move(value); } /** *

The status of the anti-pattern report generation.

*/ inline ServerDetail& WithAntipatternReportStatus(const AntipatternReportStatus& value) { SetAntipatternReportStatus(value); return *this;} /** *

The status of the anti-pattern report generation.

*/ inline ServerDetail& WithAntipatternReportStatus(AntipatternReportStatus&& value) { SetAntipatternReportStatus(std::move(value)); return *this;} /** *

A message about the status of the anti-pattern report generation.

*/ inline const Aws::String& GetAntipatternReportStatusMessage() const{ return m_antipatternReportStatusMessage; } /** *

A message about the status of the anti-pattern report generation.

*/ inline bool AntipatternReportStatusMessageHasBeenSet() const { return m_antipatternReportStatusMessageHasBeenSet; } /** *

A message about the status of the anti-pattern report generation.

*/ inline void SetAntipatternReportStatusMessage(const Aws::String& value) { m_antipatternReportStatusMessageHasBeenSet = true; m_antipatternReportStatusMessage = value; } /** *

A message about the status of the anti-pattern report generation.

*/ inline void SetAntipatternReportStatusMessage(Aws::String&& value) { m_antipatternReportStatusMessageHasBeenSet = true; m_antipatternReportStatusMessage = std::move(value); } /** *

A message about the status of the anti-pattern report generation.

*/ inline void SetAntipatternReportStatusMessage(const char* value) { m_antipatternReportStatusMessageHasBeenSet = true; m_antipatternReportStatusMessage.assign(value); } /** *

A message about the status of the anti-pattern report generation.

*/ inline ServerDetail& WithAntipatternReportStatusMessage(const Aws::String& value) { SetAntipatternReportStatusMessage(value); return *this;} /** *

A message about the status of the anti-pattern report generation.

*/ inline ServerDetail& WithAntipatternReportStatusMessage(Aws::String&& value) { SetAntipatternReportStatusMessage(std::move(value)); return *this;} /** *

A message about the status of the anti-pattern report generation.

*/ inline ServerDetail& WithAntipatternReportStatusMessage(const char* value) { SetAntipatternReportStatusMessage(value); return *this;} /** *

A list of strategy summaries.

*/ inline const Aws::Vector& GetApplicationComponentStrategySummary() const{ return m_applicationComponentStrategySummary; } /** *

A list of strategy summaries.

*/ inline bool ApplicationComponentStrategySummaryHasBeenSet() const { return m_applicationComponentStrategySummaryHasBeenSet; } /** *

A list of strategy summaries.

*/ inline void SetApplicationComponentStrategySummary(const Aws::Vector& value) { m_applicationComponentStrategySummaryHasBeenSet = true; m_applicationComponentStrategySummary = value; } /** *

A list of strategy summaries.

*/ inline void SetApplicationComponentStrategySummary(Aws::Vector&& value) { m_applicationComponentStrategySummaryHasBeenSet = true; m_applicationComponentStrategySummary = std::move(value); } /** *

A list of strategy summaries.

*/ inline ServerDetail& WithApplicationComponentStrategySummary(const Aws::Vector& value) { SetApplicationComponentStrategySummary(value); return *this;} /** *

A list of strategy summaries.

*/ inline ServerDetail& WithApplicationComponentStrategySummary(Aws::Vector&& value) { SetApplicationComponentStrategySummary(std::move(value)); return *this;} /** *

A list of strategy summaries.

*/ inline ServerDetail& AddApplicationComponentStrategySummary(const StrategySummary& value) { m_applicationComponentStrategySummaryHasBeenSet = true; m_applicationComponentStrategySummary.push_back(value); return *this; } /** *

A list of strategy summaries.

*/ inline ServerDetail& AddApplicationComponentStrategySummary(StrategySummary&& value) { m_applicationComponentStrategySummaryHasBeenSet = true; m_applicationComponentStrategySummary.push_back(std::move(value)); return *this; } /** *

The status of assessment for the server.

*/ inline const RunTimeAssessmentStatus& GetDataCollectionStatus() const{ return m_dataCollectionStatus; } /** *

The status of assessment for the server.

*/ inline bool DataCollectionStatusHasBeenSet() const { return m_dataCollectionStatusHasBeenSet; } /** *

The status of assessment for the server.

*/ inline void SetDataCollectionStatus(const RunTimeAssessmentStatus& value) { m_dataCollectionStatusHasBeenSet = true; m_dataCollectionStatus = value; } /** *

The status of assessment for the server.

*/ inline void SetDataCollectionStatus(RunTimeAssessmentStatus&& value) { m_dataCollectionStatusHasBeenSet = true; m_dataCollectionStatus = std::move(value); } /** *

The status of assessment for the server.

*/ inline ServerDetail& WithDataCollectionStatus(const RunTimeAssessmentStatus& value) { SetDataCollectionStatus(value); return *this;} /** *

The status of assessment for the server.

*/ inline ServerDetail& WithDataCollectionStatus(RunTimeAssessmentStatus&& value) { SetDataCollectionStatus(std::move(value)); return *this;} /** *

The server ID.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The server ID.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The server ID.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The server ID.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The server ID.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The server ID.

*/ inline ServerDetail& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The server ID.

*/ inline ServerDetail& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The server ID.

*/ inline ServerDetail& WithId(const char* value) { SetId(value); return *this;} /** *

The timestamp of when the server was assessed.

*/ inline const Aws::Utils::DateTime& GetLastAnalyzedTimestamp() const{ return m_lastAnalyzedTimestamp; } /** *

The timestamp of when the server was assessed.

*/ inline bool LastAnalyzedTimestampHasBeenSet() const { return m_lastAnalyzedTimestampHasBeenSet; } /** *

The timestamp of when the server was assessed.

*/ inline void SetLastAnalyzedTimestamp(const Aws::Utils::DateTime& value) { m_lastAnalyzedTimestampHasBeenSet = true; m_lastAnalyzedTimestamp = value; } /** *

The timestamp of when the server was assessed.

*/ inline void SetLastAnalyzedTimestamp(Aws::Utils::DateTime&& value) { m_lastAnalyzedTimestampHasBeenSet = true; m_lastAnalyzedTimestamp = std::move(value); } /** *

The timestamp of when the server was assessed.

*/ inline ServerDetail& WithLastAnalyzedTimestamp(const Aws::Utils::DateTime& value) { SetLastAnalyzedTimestamp(value); return *this;} /** *

The timestamp of when the server was assessed.

*/ inline ServerDetail& WithLastAnalyzedTimestamp(Aws::Utils::DateTime&& value) { SetLastAnalyzedTimestamp(std::move(value)); return *this;} /** *

A list of anti-pattern severity summaries.

*/ inline const Aws::Vector& GetListAntipatternSeveritySummary() const{ return m_listAntipatternSeveritySummary; } /** *

A list of anti-pattern severity summaries.

*/ inline bool ListAntipatternSeveritySummaryHasBeenSet() const { return m_listAntipatternSeveritySummaryHasBeenSet; } /** *

A list of anti-pattern severity summaries.

*/ inline void SetListAntipatternSeveritySummary(const Aws::Vector& value) { m_listAntipatternSeveritySummaryHasBeenSet = true; m_listAntipatternSeveritySummary = value; } /** *

A list of anti-pattern severity summaries.

*/ inline void SetListAntipatternSeveritySummary(Aws::Vector&& value) { m_listAntipatternSeveritySummaryHasBeenSet = true; m_listAntipatternSeveritySummary = std::move(value); } /** *

A list of anti-pattern severity summaries.

*/ inline ServerDetail& WithListAntipatternSeveritySummary(const Aws::Vector& value) { SetListAntipatternSeveritySummary(value); return *this;} /** *

A list of anti-pattern severity summaries.

*/ inline ServerDetail& WithListAntipatternSeveritySummary(Aws::Vector&& value) { SetListAntipatternSeveritySummary(std::move(value)); return *this;} /** *

A list of anti-pattern severity summaries.

*/ inline ServerDetail& AddListAntipatternSeveritySummary(const AntipatternSeveritySummary& value) { m_listAntipatternSeveritySummaryHasBeenSet = true; m_listAntipatternSeveritySummary.push_back(value); return *this; } /** *

A list of anti-pattern severity summaries.

*/ inline ServerDetail& AddListAntipatternSeveritySummary(AntipatternSeveritySummary&& value) { m_listAntipatternSeveritySummaryHasBeenSet = true; m_listAntipatternSeveritySummary.push_back(std::move(value)); return *this; } /** *

The name of the server.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the server.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the server.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the server.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the server.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the server.

*/ inline ServerDetail& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the server.

*/ inline ServerDetail& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the server.

*/ inline ServerDetail& WithName(const char* value) { SetName(value); return *this;} /** *

A set of recommendations.

*/ inline const RecommendationSet& GetRecommendationSet() const{ return m_recommendationSet; } /** *

A set of recommendations.

*/ inline bool RecommendationSetHasBeenSet() const { return m_recommendationSetHasBeenSet; } /** *

A set of recommendations.

*/ inline void SetRecommendationSet(const RecommendationSet& value) { m_recommendationSetHasBeenSet = true; m_recommendationSet = value; } /** *

A set of recommendations.

*/ inline void SetRecommendationSet(RecommendationSet&& value) { m_recommendationSetHasBeenSet = true; m_recommendationSet = std::move(value); } /** *

A set of recommendations.

*/ inline ServerDetail& WithRecommendationSet(const RecommendationSet& value) { SetRecommendationSet(value); return *this;} /** *

A set of recommendations.

*/ inline ServerDetail& WithRecommendationSet(RecommendationSet&& value) { SetRecommendationSet(std::move(value)); return *this;} /** *

The error in server analysis.

*/ inline const ServerError& GetServerError() const{ return m_serverError; } /** *

The error in server analysis.

*/ inline bool ServerErrorHasBeenSet() const { return m_serverErrorHasBeenSet; } /** *

The error in server analysis.

*/ inline void SetServerError(const ServerError& value) { m_serverErrorHasBeenSet = true; m_serverError = value; } /** *

The error in server analysis.

*/ inline void SetServerError(ServerError&& value) { m_serverErrorHasBeenSet = true; m_serverError = std::move(value); } /** *

The error in server analysis.

*/ inline ServerDetail& WithServerError(const ServerError& value) { SetServerError(value); return *this;} /** *

The error in server analysis.

*/ inline ServerDetail& WithServerError(ServerError&& value) { SetServerError(std::move(value)); return *this;} /** *

The type of server.

*/ inline const Aws::String& GetServerType() const{ return m_serverType; } /** *

The type of server.

*/ inline bool ServerTypeHasBeenSet() const { return m_serverTypeHasBeenSet; } /** *

The type of server.

*/ inline void SetServerType(const Aws::String& value) { m_serverTypeHasBeenSet = true; m_serverType = value; } /** *

The type of server.

*/ inline void SetServerType(Aws::String&& value) { m_serverTypeHasBeenSet = true; m_serverType = std::move(value); } /** *

The type of server.

*/ inline void SetServerType(const char* value) { m_serverTypeHasBeenSet = true; m_serverType.assign(value); } /** *

The type of server.

*/ inline ServerDetail& WithServerType(const Aws::String& value) { SetServerType(value); return *this;} /** *

The type of server.

*/ inline ServerDetail& WithServerType(Aws::String&& value) { SetServerType(std::move(value)); return *this;} /** *

The type of server.

*/ inline ServerDetail& WithServerType(const char* value) { SetServerType(value); return *this;} /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline const Aws::String& GetStatusMessage() const{ return m_statusMessage; } /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline bool StatusMessageHasBeenSet() const { return m_statusMessageHasBeenSet; } /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline void SetStatusMessage(const Aws::String& value) { m_statusMessageHasBeenSet = true; m_statusMessage = value; } /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline void SetStatusMessage(Aws::String&& value) { m_statusMessageHasBeenSet = true; m_statusMessage = std::move(value); } /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline void SetStatusMessage(const char* value) { m_statusMessageHasBeenSet = true; m_statusMessage.assign(value); } /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline ServerDetail& WithStatusMessage(const Aws::String& value) { SetStatusMessage(value); return *this;} /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline ServerDetail& WithStatusMessage(Aws::String&& value) { SetStatusMessage(std::move(value)); return *this;} /** *

A message about the status of data collection, which contains detailed * descriptions of any error messages.

*/ inline ServerDetail& WithStatusMessage(const char* value) { SetStatusMessage(value); return *this;} /** *

System information about the server.

*/ inline const SystemInfo& GetSystemInfo() const{ return m_systemInfo; } /** *

System information about the server.

*/ inline bool SystemInfoHasBeenSet() const { return m_systemInfoHasBeenSet; } /** *

System information about the server.

*/ inline void SetSystemInfo(const SystemInfo& value) { m_systemInfoHasBeenSet = true; m_systemInfo = value; } /** *

System information about the server.

*/ inline void SetSystemInfo(SystemInfo&& value) { m_systemInfoHasBeenSet = true; m_systemInfo = std::move(value); } /** *

System information about the server.

*/ inline ServerDetail& WithSystemInfo(const SystemInfo& value) { SetSystemInfo(value); return *this;} /** *

System information about the server.

*/ inline ServerDetail& WithSystemInfo(SystemInfo&& value) { SetSystemInfo(std::move(value)); return *this;} private: S3Object m_antipatternReportS3Object; bool m_antipatternReportS3ObjectHasBeenSet = false; AntipatternReportStatus m_antipatternReportStatus; bool m_antipatternReportStatusHasBeenSet = false; Aws::String m_antipatternReportStatusMessage; bool m_antipatternReportStatusMessageHasBeenSet = false; Aws::Vector m_applicationComponentStrategySummary; bool m_applicationComponentStrategySummaryHasBeenSet = false; RunTimeAssessmentStatus m_dataCollectionStatus; bool m_dataCollectionStatusHasBeenSet = false; Aws::String m_id; bool m_idHasBeenSet = false; Aws::Utils::DateTime m_lastAnalyzedTimestamp; bool m_lastAnalyzedTimestampHasBeenSet = false; Aws::Vector m_listAntipatternSeveritySummary; bool m_listAntipatternSeveritySummaryHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; RecommendationSet m_recommendationSet; bool m_recommendationSetHasBeenSet = false; ServerError m_serverError; bool m_serverErrorHasBeenSet = false; Aws::String m_serverType; bool m_serverTypeHasBeenSet = false; Aws::String m_statusMessage; bool m_statusMessageHasBeenSet = false; SystemInfo m_systemInfo; bool m_systemInfoHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws