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

Information about one or more IP address blocks.

See Also:

* AWS * API Reference

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

Identifier (ID) of the directory associated with the IP addresses.

*/ inline const Aws::String& GetDirectoryId() const{ return m_directoryId; } /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline bool DirectoryIdHasBeenSet() const { return m_directoryIdHasBeenSet; } /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline void SetDirectoryId(const Aws::String& value) { m_directoryIdHasBeenSet = true; m_directoryId = value; } /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline void SetDirectoryId(Aws::String&& value) { m_directoryIdHasBeenSet = true; m_directoryId = std::move(value); } /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline void SetDirectoryId(const char* value) { m_directoryIdHasBeenSet = true; m_directoryId.assign(value); } /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline IpRouteInfo& WithDirectoryId(const Aws::String& value) { SetDirectoryId(value); return *this;} /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline IpRouteInfo& WithDirectoryId(Aws::String&& value) { SetDirectoryId(std::move(value)); return *this;} /** *

Identifier (ID) of the directory associated with the IP addresses.

*/ inline IpRouteInfo& WithDirectoryId(const char* value) { SetDirectoryId(value); return *this;} /** *

IP address block in the IpRoute.

*/ inline const Aws::String& GetCidrIp() const{ return m_cidrIp; } /** *

IP address block in the IpRoute.

*/ inline bool CidrIpHasBeenSet() const { return m_cidrIpHasBeenSet; } /** *

IP address block in the IpRoute.

*/ inline void SetCidrIp(const Aws::String& value) { m_cidrIpHasBeenSet = true; m_cidrIp = value; } /** *

IP address block in the IpRoute.

*/ inline void SetCidrIp(Aws::String&& value) { m_cidrIpHasBeenSet = true; m_cidrIp = std::move(value); } /** *

IP address block in the IpRoute.

*/ inline void SetCidrIp(const char* value) { m_cidrIpHasBeenSet = true; m_cidrIp.assign(value); } /** *

IP address block in the IpRoute.

*/ inline IpRouteInfo& WithCidrIp(const Aws::String& value) { SetCidrIp(value); return *this;} /** *

IP address block in the IpRoute.

*/ inline IpRouteInfo& WithCidrIp(Aws::String&& value) { SetCidrIp(std::move(value)); return *this;} /** *

IP address block in the IpRoute.

*/ inline IpRouteInfo& WithCidrIp(const char* value) { SetCidrIp(value); return *this;} /** *

The status of the IP address block.

*/ inline const IpRouteStatusMsg& GetIpRouteStatusMsg() const{ return m_ipRouteStatusMsg; } /** *

The status of the IP address block.

*/ inline bool IpRouteStatusMsgHasBeenSet() const { return m_ipRouteStatusMsgHasBeenSet; } /** *

The status of the IP address block.

*/ inline void SetIpRouteStatusMsg(const IpRouteStatusMsg& value) { m_ipRouteStatusMsgHasBeenSet = true; m_ipRouteStatusMsg = value; } /** *

The status of the IP address block.

*/ inline void SetIpRouteStatusMsg(IpRouteStatusMsg&& value) { m_ipRouteStatusMsgHasBeenSet = true; m_ipRouteStatusMsg = std::move(value); } /** *

The status of the IP address block.

*/ inline IpRouteInfo& WithIpRouteStatusMsg(const IpRouteStatusMsg& value) { SetIpRouteStatusMsg(value); return *this;} /** *

The status of the IP address block.

*/ inline IpRouteInfo& WithIpRouteStatusMsg(IpRouteStatusMsg&& value) { SetIpRouteStatusMsg(std::move(value)); return *this;} /** *

The date and time the address block was added to the directory.

*/ inline const Aws::Utils::DateTime& GetAddedDateTime() const{ return m_addedDateTime; } /** *

The date and time the address block was added to the directory.

*/ inline bool AddedDateTimeHasBeenSet() const { return m_addedDateTimeHasBeenSet; } /** *

The date and time the address block was added to the directory.

*/ inline void SetAddedDateTime(const Aws::Utils::DateTime& value) { m_addedDateTimeHasBeenSet = true; m_addedDateTime = value; } /** *

The date and time the address block was added to the directory.

*/ inline void SetAddedDateTime(Aws::Utils::DateTime&& value) { m_addedDateTimeHasBeenSet = true; m_addedDateTime = std::move(value); } /** *

The date and time the address block was added to the directory.

*/ inline IpRouteInfo& WithAddedDateTime(const Aws::Utils::DateTime& value) { SetAddedDateTime(value); return *this;} /** *

The date and time the address block was added to the directory.

*/ inline IpRouteInfo& WithAddedDateTime(Aws::Utils::DateTime&& value) { SetAddedDateTime(std::move(value)); return *this;} /** *

The reason for the IpRouteStatusMsg.

*/ inline const Aws::String& GetIpRouteStatusReason() const{ return m_ipRouteStatusReason; } /** *

The reason for the IpRouteStatusMsg.

*/ inline bool IpRouteStatusReasonHasBeenSet() const { return m_ipRouteStatusReasonHasBeenSet; } /** *

The reason for the IpRouteStatusMsg.

*/ inline void SetIpRouteStatusReason(const Aws::String& value) { m_ipRouteStatusReasonHasBeenSet = true; m_ipRouteStatusReason = value; } /** *

The reason for the IpRouteStatusMsg.

*/ inline void SetIpRouteStatusReason(Aws::String&& value) { m_ipRouteStatusReasonHasBeenSet = true; m_ipRouteStatusReason = std::move(value); } /** *

The reason for the IpRouteStatusMsg.

*/ inline void SetIpRouteStatusReason(const char* value) { m_ipRouteStatusReasonHasBeenSet = true; m_ipRouteStatusReason.assign(value); } /** *

The reason for the IpRouteStatusMsg.

*/ inline IpRouteInfo& WithIpRouteStatusReason(const Aws::String& value) { SetIpRouteStatusReason(value); return *this;} /** *

The reason for the IpRouteStatusMsg.

*/ inline IpRouteInfo& WithIpRouteStatusReason(Aws::String&& value) { SetIpRouteStatusReason(std::move(value)); return *this;} /** *

The reason for the IpRouteStatusMsg.

*/ inline IpRouteInfo& WithIpRouteStatusReason(const char* value) { SetIpRouteStatusReason(value); return *this;} /** *

Description of the IpRouteInfo.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

Description of the IpRouteInfo.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

Description of the IpRouteInfo.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

Description of the IpRouteInfo.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

Description of the IpRouteInfo.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

Description of the IpRouteInfo.

*/ inline IpRouteInfo& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

Description of the IpRouteInfo.

*/ inline IpRouteInfo& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

Description of the IpRouteInfo.

*/ inline IpRouteInfo& WithDescription(const char* value) { SetDescription(value); return *this;} private: Aws::String m_directoryId; bool m_directoryIdHasBeenSet = false; Aws::String m_cidrIp; bool m_cidrIpHasBeenSet = false; IpRouteStatusMsg m_ipRouteStatusMsg; bool m_ipRouteStatusMsgHasBeenSet = false; Aws::Utils::DateTime m_addedDateTime; bool m_addedDateTimeHasBeenSet = false; Aws::String m_ipRouteStatusReason; bool m_ipRouteStatusReasonHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; }; } // namespace Model } // namespace DirectoryService } // namespace Aws