/** * 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 RedshiftServerless { namespace Model { /** *

Contains information about a network interface in an Amazon Redshift * Serverless managed VPC endpoint.

See Also:

AWS * API Reference

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

The availability Zone.

*/ inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } /** *

The availability Zone.

*/ inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } /** *

The availability Zone.

*/ inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } /** *

The availability Zone.

*/ inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } /** *

The availability Zone.

*/ inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } /** *

The availability Zone.

*/ inline NetworkInterface& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} /** *

The availability Zone.

*/ inline NetworkInterface& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} /** *

The availability Zone.

*/ inline NetworkInterface& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} /** *

The unique identifier of the network interface.

*/ inline const Aws::String& GetNetworkInterfaceId() const{ return m_networkInterfaceId; } /** *

The unique identifier of the network interface.

*/ inline bool NetworkInterfaceIdHasBeenSet() const { return m_networkInterfaceIdHasBeenSet; } /** *

The unique identifier of the network interface.

*/ inline void SetNetworkInterfaceId(const Aws::String& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = value; } /** *

The unique identifier of the network interface.

*/ inline void SetNetworkInterfaceId(Aws::String&& value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId = std::move(value); } /** *

The unique identifier of the network interface.

*/ inline void SetNetworkInterfaceId(const char* value) { m_networkInterfaceIdHasBeenSet = true; m_networkInterfaceId.assign(value); } /** *

The unique identifier of the network interface.

*/ inline NetworkInterface& WithNetworkInterfaceId(const Aws::String& value) { SetNetworkInterfaceId(value); return *this;} /** *

The unique identifier of the network interface.

*/ inline NetworkInterface& WithNetworkInterfaceId(Aws::String&& value) { SetNetworkInterfaceId(std::move(value)); return *this;} /** *

The unique identifier of the network interface.

*/ inline NetworkInterface& WithNetworkInterfaceId(const char* value) { SetNetworkInterfaceId(value); return *this;} /** *

The IPv4 address of the network interface within the subnet.

*/ inline const Aws::String& GetPrivateIpAddress() const{ return m_privateIpAddress; } /** *

The IPv4 address of the network interface within the subnet.

*/ inline bool PrivateIpAddressHasBeenSet() const { return m_privateIpAddressHasBeenSet; } /** *

The IPv4 address of the network interface within the subnet.

*/ inline void SetPrivateIpAddress(const Aws::String& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = value; } /** *

The IPv4 address of the network interface within the subnet.

*/ inline void SetPrivateIpAddress(Aws::String&& value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress = std::move(value); } /** *

The IPv4 address of the network interface within the subnet.

*/ inline void SetPrivateIpAddress(const char* value) { m_privateIpAddressHasBeenSet = true; m_privateIpAddress.assign(value); } /** *

The IPv4 address of the network interface within the subnet.

*/ inline NetworkInterface& WithPrivateIpAddress(const Aws::String& value) { SetPrivateIpAddress(value); return *this;} /** *

The IPv4 address of the network interface within the subnet.

*/ inline NetworkInterface& WithPrivateIpAddress(Aws::String&& value) { SetPrivateIpAddress(std::move(value)); return *this;} /** *

The IPv4 address of the network interface within the subnet.

*/ inline NetworkInterface& WithPrivateIpAddress(const char* value) { SetPrivateIpAddress(value); return *this;} /** *

The unique identifier of the subnet.

*/ inline const Aws::String& GetSubnetId() const{ return m_subnetId; } /** *

The unique identifier of the subnet.

*/ inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; } /** *

The unique identifier of the subnet.

*/ inline void SetSubnetId(const Aws::String& value) { m_subnetIdHasBeenSet = true; m_subnetId = value; } /** *

The unique identifier of the subnet.

*/ inline void SetSubnetId(Aws::String&& value) { m_subnetIdHasBeenSet = true; m_subnetId = std::move(value); } /** *

The unique identifier of the subnet.

*/ inline void SetSubnetId(const char* value) { m_subnetIdHasBeenSet = true; m_subnetId.assign(value); } /** *

The unique identifier of the subnet.

*/ inline NetworkInterface& WithSubnetId(const Aws::String& value) { SetSubnetId(value); return *this;} /** *

The unique identifier of the subnet.

*/ inline NetworkInterface& WithSubnetId(Aws::String&& value) { SetSubnetId(std::move(value)); return *this;} /** *

The unique identifier of the subnet.

*/ inline NetworkInterface& WithSubnetId(const char* value) { SetSubnetId(value); return *this;} private: Aws::String m_availabilityZone; bool m_availabilityZoneHasBeenSet = false; Aws::String m_networkInterfaceId; bool m_networkInterfaceIdHasBeenSet = false; Aws::String m_privateIpAddress; bool m_privateIpAddressHasBeenSet = false; Aws::String m_subnetId; bool m_subnetIdHasBeenSet = false; }; } // namespace Model } // namespace RedshiftServerless } // namespace Aws