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

Network interface.

See Also:

AWS * API Reference

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

Network interface IPs.

*/ inline const Aws::Vector& GetIps() const{ return m_ips; } /** *

Network interface IPs.

*/ inline bool IpsHasBeenSet() const { return m_ipsHasBeenSet; } /** *

Network interface IPs.

*/ inline void SetIps(const Aws::Vector& value) { m_ipsHasBeenSet = true; m_ips = value; } /** *

Network interface IPs.

*/ inline void SetIps(Aws::Vector&& value) { m_ipsHasBeenSet = true; m_ips = std::move(value); } /** *

Network interface IPs.

*/ inline NetworkInterface& WithIps(const Aws::Vector& value) { SetIps(value); return *this;} /** *

Network interface IPs.

*/ inline NetworkInterface& WithIps(Aws::Vector&& value) { SetIps(std::move(value)); return *this;} /** *

Network interface IPs.

*/ inline NetworkInterface& AddIps(const Aws::String& value) { m_ipsHasBeenSet = true; m_ips.push_back(value); return *this; } /** *

Network interface IPs.

*/ inline NetworkInterface& AddIps(Aws::String&& value) { m_ipsHasBeenSet = true; m_ips.push_back(std::move(value)); return *this; } /** *

Network interface IPs.

*/ inline NetworkInterface& AddIps(const char* value) { m_ipsHasBeenSet = true; m_ips.push_back(value); return *this; } /** *

Network interface primary IP.

*/ inline bool GetIsPrimary() const{ return m_isPrimary; } /** *

Network interface primary IP.

*/ inline bool IsPrimaryHasBeenSet() const { return m_isPrimaryHasBeenSet; } /** *

Network interface primary IP.

*/ inline void SetIsPrimary(bool value) { m_isPrimaryHasBeenSet = true; m_isPrimary = value; } /** *

Network interface primary IP.

*/ inline NetworkInterface& WithIsPrimary(bool value) { SetIsPrimary(value); return *this;} /** *

Network interface Mac address.

*/ inline const Aws::String& GetMacAddress() const{ return m_macAddress; } /** *

Network interface Mac address.

*/ inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; } /** *

Network interface Mac address.

*/ inline void SetMacAddress(const Aws::String& value) { m_macAddressHasBeenSet = true; m_macAddress = value; } /** *

Network interface Mac address.

*/ inline void SetMacAddress(Aws::String&& value) { m_macAddressHasBeenSet = true; m_macAddress = std::move(value); } /** *

Network interface Mac address.

*/ inline void SetMacAddress(const char* value) { m_macAddressHasBeenSet = true; m_macAddress.assign(value); } /** *

Network interface Mac address.

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

Network interface Mac address.

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

Network interface Mac address.

*/ inline NetworkInterface& WithMacAddress(const char* value) { SetMacAddress(value); return *this;} private: Aws::Vector m_ips; bool m_ipsHasBeenSet = false; bool m_isPrimary; bool m_isPrimaryHasBeenSet = false; Aws::String m_macAddress; bool m_macAddressHasBeenSet = false; }; } // namespace Model } // namespace mgn } // namespace Aws