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

An object that represents the elastic network interface for a multi-node * parallel job node.

See Also:

AWS * API Reference

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

The attachment ID for the network interface.

*/ inline const Aws::String& GetAttachmentId() const{ return m_attachmentId; } /** *

The attachment ID for the network interface.

*/ inline bool AttachmentIdHasBeenSet() const { return m_attachmentIdHasBeenSet; } /** *

The attachment ID for the network interface.

*/ inline void SetAttachmentId(const Aws::String& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = value; } /** *

The attachment ID for the network interface.

*/ inline void SetAttachmentId(Aws::String&& value) { m_attachmentIdHasBeenSet = true; m_attachmentId = std::move(value); } /** *

The attachment ID for the network interface.

*/ inline void SetAttachmentId(const char* value) { m_attachmentIdHasBeenSet = true; m_attachmentId.assign(value); } /** *

The attachment ID for the network interface.

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

The attachment ID for the network interface.

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

The attachment ID for the network interface.

*/ inline NetworkInterface& WithAttachmentId(const char* value) { SetAttachmentId(value); return *this;} /** *

The private IPv6 address for the network interface.

*/ inline const Aws::String& GetIpv6Address() const{ return m_ipv6Address; } /** *

The private IPv6 address for the network interface.

*/ inline bool Ipv6AddressHasBeenSet() const { return m_ipv6AddressHasBeenSet; } /** *

The private IPv6 address for the network interface.

*/ inline void SetIpv6Address(const Aws::String& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = value; } /** *

The private IPv6 address for the network interface.

*/ inline void SetIpv6Address(Aws::String&& value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address = std::move(value); } /** *

The private IPv6 address for the network interface.

*/ inline void SetIpv6Address(const char* value) { m_ipv6AddressHasBeenSet = true; m_ipv6Address.assign(value); } /** *

The private IPv6 address for the network interface.

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

The private IPv6 address for the network interface.

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

The private IPv6 address for the network interface.

*/ inline NetworkInterface& WithIpv6Address(const char* value) { SetIpv6Address(value); return *this;} /** *

The private IPv4 address for the network interface.

*/ inline const Aws::String& GetPrivateIpv4Address() const{ return m_privateIpv4Address; } /** *

The private IPv4 address for the network interface.

*/ inline bool PrivateIpv4AddressHasBeenSet() const { return m_privateIpv4AddressHasBeenSet; } /** *

The private IPv4 address for the network interface.

*/ inline void SetPrivateIpv4Address(const Aws::String& value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address = value; } /** *

The private IPv4 address for the network interface.

*/ inline void SetPrivateIpv4Address(Aws::String&& value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address = std::move(value); } /** *

The private IPv4 address for the network interface.

*/ inline void SetPrivateIpv4Address(const char* value) { m_privateIpv4AddressHasBeenSet = true; m_privateIpv4Address.assign(value); } /** *

The private IPv4 address for the network interface.

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

The private IPv4 address for the network interface.

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

The private IPv4 address for the network interface.

*/ inline NetworkInterface& WithPrivateIpv4Address(const char* value) { SetPrivateIpv4Address(value); return *this;} private: Aws::String m_attachmentId; bool m_attachmentIdHasBeenSet = false; Aws::String m_ipv6Address; bool m_ipv6AddressHasBeenSet = false; Aws::String m_privateIpv4Address; bool m_privateIpv4AddressHasBeenSet = false; }; } // namespace Model } // namespace Batch } // namespace Aws