/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace MigrationHubStrategyRecommendations { namespace Model { /** *

Information about the server that hosts application components. *

See Also:

AWS * API Reference

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

CPU architecture type for the server.

*/ inline const Aws::String& GetCpuArchitecture() const{ return m_cpuArchitecture; } /** *

CPU architecture type for the server.

*/ inline bool CpuArchitectureHasBeenSet() const { return m_cpuArchitectureHasBeenSet; } /** *

CPU architecture type for the server.

*/ inline void SetCpuArchitecture(const Aws::String& value) { m_cpuArchitectureHasBeenSet = true; m_cpuArchitecture = value; } /** *

CPU architecture type for the server.

*/ inline void SetCpuArchitecture(Aws::String&& value) { m_cpuArchitectureHasBeenSet = true; m_cpuArchitecture = std::move(value); } /** *

CPU architecture type for the server.

*/ inline void SetCpuArchitecture(const char* value) { m_cpuArchitectureHasBeenSet = true; m_cpuArchitecture.assign(value); } /** *

CPU architecture type for the server.

*/ inline SystemInfo& WithCpuArchitecture(const Aws::String& value) { SetCpuArchitecture(value); return *this;} /** *

CPU architecture type for the server.

*/ inline SystemInfo& WithCpuArchitecture(Aws::String&& value) { SetCpuArchitecture(std::move(value)); return *this;} /** *

CPU architecture type for the server.

*/ inline SystemInfo& WithCpuArchitecture(const char* value) { SetCpuArchitecture(value); return *this;} /** *

File system type for the server.

*/ inline const Aws::String& GetFileSystemType() const{ return m_fileSystemType; } /** *

File system type for the server.

*/ inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; } /** *

File system type for the server.

*/ inline void SetFileSystemType(const Aws::String& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = value; } /** *

File system type for the server.

*/ inline void SetFileSystemType(Aws::String&& value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = std::move(value); } /** *

File system type for the server.

*/ inline void SetFileSystemType(const char* value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType.assign(value); } /** *

File system type for the server.

*/ inline SystemInfo& WithFileSystemType(const Aws::String& value) { SetFileSystemType(value); return *this;} /** *

File system type for the server.

*/ inline SystemInfo& WithFileSystemType(Aws::String&& value) { SetFileSystemType(std::move(value)); return *this;} /** *

File system type for the server.

*/ inline SystemInfo& WithFileSystemType(const char* value) { SetFileSystemType(value); return *this;} /** *

Networking information related to a server.

*/ inline const Aws::Vector& GetNetworkInfoList() const{ return m_networkInfoList; } /** *

Networking information related to a server.

*/ inline bool NetworkInfoListHasBeenSet() const { return m_networkInfoListHasBeenSet; } /** *

Networking information related to a server.

*/ inline void SetNetworkInfoList(const Aws::Vector& value) { m_networkInfoListHasBeenSet = true; m_networkInfoList = value; } /** *

Networking information related to a server.

*/ inline void SetNetworkInfoList(Aws::Vector&& value) { m_networkInfoListHasBeenSet = true; m_networkInfoList = std::move(value); } /** *

Networking information related to a server.

*/ inline SystemInfo& WithNetworkInfoList(const Aws::Vector& value) { SetNetworkInfoList(value); return *this;} /** *

Networking information related to a server.

*/ inline SystemInfo& WithNetworkInfoList(Aws::Vector&& value) { SetNetworkInfoList(std::move(value)); return *this;} /** *

Networking information related to a server.

*/ inline SystemInfo& AddNetworkInfoList(const NetworkInfo& value) { m_networkInfoListHasBeenSet = true; m_networkInfoList.push_back(value); return *this; } /** *

Networking information related to a server.

*/ inline SystemInfo& AddNetworkInfoList(NetworkInfo&& value) { m_networkInfoListHasBeenSet = true; m_networkInfoList.push_back(std::move(value)); return *this; } /** *

Operating system corresponding to a server.

*/ inline const OSInfo& GetOsInfo() const{ return m_osInfo; } /** *

Operating system corresponding to a server.

*/ inline bool OsInfoHasBeenSet() const { return m_osInfoHasBeenSet; } /** *

Operating system corresponding to a server.

*/ inline void SetOsInfo(const OSInfo& value) { m_osInfoHasBeenSet = true; m_osInfo = value; } /** *

Operating system corresponding to a server.

*/ inline void SetOsInfo(OSInfo&& value) { m_osInfoHasBeenSet = true; m_osInfo = std::move(value); } /** *

Operating system corresponding to a server.

*/ inline SystemInfo& WithOsInfo(const OSInfo& value) { SetOsInfo(value); return *this;} /** *

Operating system corresponding to a server.

*/ inline SystemInfo& WithOsInfo(OSInfo&& value) { SetOsInfo(std::move(value)); return *this;} private: Aws::String m_cpuArchitecture; bool m_cpuArchitectureHasBeenSet = false; Aws::String m_fileSystemType; bool m_fileSystemTypeHasBeenSet = false; Aws::Vector m_networkInfoList; bool m_networkInfoListHasBeenSet = false; OSInfo m_osInfo; bool m_osInfoHasBeenSet = false; }; } // namespace Model } // namespace MigrationHubStrategyRecommendations } // namespace Aws