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

Describes the properties of the Dedicated Host.

See Also:

* AWS API * Reference

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

The name of the Dedicated Host.

*/ inline const Aws::String& GetHostName() const{ return m_hostName; } /** *

The name of the Dedicated Host.

*/ inline bool HostNameHasBeenSet() const { return m_hostNameHasBeenSet; } /** *

The name of the Dedicated Host.

*/ inline void SetHostName(const Aws::String& value) { m_hostNameHasBeenSet = true; m_hostName = value; } /** *

The name of the Dedicated Host.

*/ inline void SetHostName(Aws::String&& value) { m_hostNameHasBeenSet = true; m_hostName = std::move(value); } /** *

The name of the Dedicated Host.

*/ inline void SetHostName(const char* value) { m_hostNameHasBeenSet = true; m_hostName.assign(value); } /** *

The name of the Dedicated Host.

*/ inline Host& WithHostName(const Aws::String& value) { SetHostName(value); return *this;} /** *

The name of the Dedicated Host.

*/ inline Host& WithHostName(Aws::String&& value) { SetHostName(std::move(value)); return *this;} /** *

The name of the Dedicated Host.

*/ inline Host& WithHostName(const char* value) { SetHostName(value); return *this;} /** *

The IP address of the Dedicated Host.

*/ inline const Aws::String& GetHostIp() const{ return m_hostIp; } /** *

The IP address of the Dedicated Host.

*/ inline bool HostIpHasBeenSet() const { return m_hostIpHasBeenSet; } /** *

The IP address of the Dedicated Host.

*/ inline void SetHostIp(const Aws::String& value) { m_hostIpHasBeenSet = true; m_hostIp = value; } /** *

The IP address of the Dedicated Host.

*/ inline void SetHostIp(Aws::String&& value) { m_hostIpHasBeenSet = true; m_hostIp = std::move(value); } /** *

The IP address of the Dedicated Host.

*/ inline void SetHostIp(const char* value) { m_hostIpHasBeenSet = true; m_hostIp.assign(value); } /** *

The IP address of the Dedicated Host.

*/ inline Host& WithHostIp(const Aws::String& value) { SetHostIp(value); return *this;} /** *

The IP address of the Dedicated Host.

*/ inline Host& WithHostIp(Aws::String&& value) { SetHostIp(std::move(value)); return *this;} /** *

The IP address of the Dedicated Host.

*/ inline Host& WithHostIp(const char* value) { SetHostIp(value); return *this;} /** *

The ID of Amazon EC2 instance.

*/ inline const Aws::String& GetEC2InstanceId() const{ return m_eC2InstanceId; } /** *

The ID of Amazon EC2 instance.

*/ inline bool EC2InstanceIdHasBeenSet() const { return m_eC2InstanceIdHasBeenSet; } /** *

The ID of Amazon EC2 instance.

*/ inline void SetEC2InstanceId(const Aws::String& value) { m_eC2InstanceIdHasBeenSet = true; m_eC2InstanceId = value; } /** *

The ID of Amazon EC2 instance.

*/ inline void SetEC2InstanceId(Aws::String&& value) { m_eC2InstanceIdHasBeenSet = true; m_eC2InstanceId = std::move(value); } /** *

The ID of Amazon EC2 instance.

*/ inline void SetEC2InstanceId(const char* value) { m_eC2InstanceIdHasBeenSet = true; m_eC2InstanceId.assign(value); } /** *

The ID of Amazon EC2 instance.

*/ inline Host& WithEC2InstanceId(const Aws::String& value) { SetEC2InstanceId(value); return *this;} /** *

The ID of Amazon EC2 instance.

*/ inline Host& WithEC2InstanceId(Aws::String&& value) { SetEC2InstanceId(std::move(value)); return *this;} /** *

The ID of Amazon EC2 instance.

*/ inline Host& WithEC2InstanceId(const char* value) { SetEC2InstanceId(value); return *this;} /** *

The instance ID of the instance on the Dedicated Host.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The instance ID of the instance on the Dedicated Host.

*/ inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; } /** *

The instance ID of the instance on the Dedicated Host.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; } /** *

The instance ID of the instance on the Dedicated Host.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::move(value); } /** *

The instance ID of the instance on the Dedicated Host.

*/ inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); } /** *

The instance ID of the instance on the Dedicated Host.

*/ inline Host& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The instance ID of the instance on the Dedicated Host.

*/ inline Host& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The instance ID of the instance on the Dedicated Host.

*/ inline Host& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The role of the Dedicated Host.

*/ inline const HostRole& GetHostRole() const{ return m_hostRole; } /** *

The role of the Dedicated Host.

*/ inline bool HostRoleHasBeenSet() const { return m_hostRoleHasBeenSet; } /** *

The role of the Dedicated Host.

*/ inline void SetHostRole(const HostRole& value) { m_hostRoleHasBeenSet = true; m_hostRole = value; } /** *

The role of the Dedicated Host.

*/ inline void SetHostRole(HostRole&& value) { m_hostRoleHasBeenSet = true; m_hostRole = std::move(value); } /** *

The role of the Dedicated Host.

*/ inline Host& WithHostRole(const HostRole& value) { SetHostRole(value); return *this;} /** *

The role of the Dedicated Host.

*/ inline Host& WithHostRole(HostRole&& value) { SetHostRole(std::move(value)); return *this;} /** *

The version of the operating system.

*/ inline const Aws::String& GetOsVersion() const{ return m_osVersion; } /** *

The version of the operating system.

*/ inline bool OsVersionHasBeenSet() const { return m_osVersionHasBeenSet; } /** *

The version of the operating system.

*/ inline void SetOsVersion(const Aws::String& value) { m_osVersionHasBeenSet = true; m_osVersion = value; } /** *

The version of the operating system.

*/ inline void SetOsVersion(Aws::String&& value) { m_osVersionHasBeenSet = true; m_osVersion = std::move(value); } /** *

The version of the operating system.

*/ inline void SetOsVersion(const char* value) { m_osVersionHasBeenSet = true; m_osVersion.assign(value); } /** *

The version of the operating system.

*/ inline Host& WithOsVersion(const Aws::String& value) { SetOsVersion(value); return *this;} /** *

The version of the operating system.

*/ inline Host& WithOsVersion(Aws::String&& value) { SetOsVersion(std::move(value)); return *this;} /** *

The version of the operating system.

*/ inline Host& WithOsVersion(const char* value) { SetOsVersion(value); return *this;} private: Aws::String m_hostName; bool m_hostNameHasBeenSet = false; Aws::String m_hostIp; bool m_hostIpHasBeenSet = false; Aws::String m_eC2InstanceId; bool m_eC2InstanceIdHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; HostRole m_hostRole; bool m_hostRoleHasBeenSet = false; Aws::String m_osVersion; bool m_osVersionHasBeenSet = false; }; } // namespace Model } // namespace SsmSap } // namespace Aws