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

A device's network configuration.

See Also:

AWS * API Reference

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

How the device gets an IP address.

*/ inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } /** *

How the device gets an IP address.

*/ inline bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; } /** *

How the device gets an IP address.

*/ inline void SetConnectionType(const ConnectionType& value) { m_connectionTypeHasBeenSet = true; m_connectionType = value; } /** *

How the device gets an IP address.

*/ inline void SetConnectionType(ConnectionType&& value) { m_connectionTypeHasBeenSet = true; m_connectionType = std::move(value); } /** *

How the device gets an IP address.

*/ inline EthernetPayload& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} /** *

How the device gets an IP address.

*/ inline EthernetPayload& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} /** *

Network configuration for a static IP connection.

*/ inline const StaticIpConnectionInfo& GetStaticIpConnectionInfo() const{ return m_staticIpConnectionInfo; } /** *

Network configuration for a static IP connection.

*/ inline bool StaticIpConnectionInfoHasBeenSet() const { return m_staticIpConnectionInfoHasBeenSet; } /** *

Network configuration for a static IP connection.

*/ inline void SetStaticIpConnectionInfo(const StaticIpConnectionInfo& value) { m_staticIpConnectionInfoHasBeenSet = true; m_staticIpConnectionInfo = value; } /** *

Network configuration for a static IP connection.

*/ inline void SetStaticIpConnectionInfo(StaticIpConnectionInfo&& value) { m_staticIpConnectionInfoHasBeenSet = true; m_staticIpConnectionInfo = std::move(value); } /** *

Network configuration for a static IP connection.

*/ inline EthernetPayload& WithStaticIpConnectionInfo(const StaticIpConnectionInfo& value) { SetStaticIpConnectionInfo(value); return *this;} /** *

Network configuration for a static IP connection.

*/ inline EthernetPayload& WithStaticIpConnectionInfo(StaticIpConnectionInfo&& value) { SetStaticIpConnectionInfo(std::move(value)); return *this;} private: ConnectionType m_connectionType; bool m_connectionTypeHasBeenSet = false; StaticIpConnectionInfo m_staticIpConnectionInfo; bool m_staticIpConnectionInfoHasBeenSet = false; }; } // namespace Model } // namespace Panorama } // namespace Aws