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

Describes an Elastic IP address.

See Also:

AWS * API Reference

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

The IP address.

*/ inline const Aws::String& GetIp() const{ return m_ip; } /** *

The IP address.

*/ inline bool IpHasBeenSet() const { return m_ipHasBeenSet; } /** *

The IP address.

*/ inline void SetIp(const Aws::String& value) { m_ipHasBeenSet = true; m_ip = value; } /** *

The IP address.

*/ inline void SetIp(Aws::String&& value) { m_ipHasBeenSet = true; m_ip = std::move(value); } /** *

The IP address.

*/ inline void SetIp(const char* value) { m_ipHasBeenSet = true; m_ip.assign(value); } /** *

The IP address.

*/ inline ElasticIp& WithIp(const Aws::String& value) { SetIp(value); return *this;} /** *

The IP address.

*/ inline ElasticIp& WithIp(Aws::String&& value) { SetIp(std::move(value)); return *this;} /** *

The IP address.

*/ inline ElasticIp& WithIp(const char* value) { SetIp(value); return *this;} /** *

The name.

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

The name.

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

The name.

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

The name.

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

The name.

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

The name.

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

The name.

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

The name.

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

The domain.

*/ inline const Aws::String& GetDomain() const{ return m_domain; } /** *

The domain.

*/ inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; } /** *

The domain.

*/ inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; } /** *

The domain.

*/ inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); } /** *

The domain.

*/ inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); } /** *

The domain.

*/ inline ElasticIp& WithDomain(const Aws::String& value) { SetDomain(value); return *this;} /** *

The domain.

*/ inline ElasticIp& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;} /** *

The domain.

*/ inline ElasticIp& WithDomain(const char* value) { SetDomain(value); return *this;} /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline const Aws::String& GetRegion() const{ return m_region; } /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline bool RegionHasBeenSet() const { return m_regionHasBeenSet; } /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline void SetRegion(const Aws::String& value) { m_regionHasBeenSet = true; m_region = value; } /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline void SetRegion(Aws::String&& value) { m_regionHasBeenSet = true; m_region = std::move(value); } /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline void SetRegion(const char* value) { m_regionHasBeenSet = true; m_region.assign(value); } /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline ElasticIp& WithRegion(const Aws::String& value) { SetRegion(value); return *this;} /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline ElasticIp& WithRegion(Aws::String&& value) { SetRegion(std::move(value)); return *this;} /** *

The AWS region. For more information, see Regions and * Endpoints.

*/ inline ElasticIp& WithRegion(const char* value) { SetRegion(value); return *this;} /** *

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

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

The ID of the instance that the address is attached to.

*/ inline ElasticIp& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} private: Aws::String m_ip; bool m_ipHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_domain; bool m_domainHasBeenSet = false; Aws::String m_region; bool m_regionHasBeenSet = false; Aws::String m_instanceId; bool m_instanceIdHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws