/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Represents a node and its specifications in an in-vehicle communication
* network. All signal decoders must be associated with a network node. To
* return this information about all the network interfaces specified in a decoder
* manifest, use the API operation.See Also:
AWS
* API Reference
The ID of the network interface.
*/ inline const Aws::String& GetInterfaceId() const{ return m_interfaceId; } /** *The ID of the network interface.
*/ inline bool InterfaceIdHasBeenSet() const { return m_interfaceIdHasBeenSet; } /** *The ID of the network interface.
*/ inline void SetInterfaceId(const Aws::String& value) { m_interfaceIdHasBeenSet = true; m_interfaceId = value; } /** *The ID of the network interface.
*/ inline void SetInterfaceId(Aws::String&& value) { m_interfaceIdHasBeenSet = true; m_interfaceId = std::move(value); } /** *The ID of the network interface.
*/ inline void SetInterfaceId(const char* value) { m_interfaceIdHasBeenSet = true; m_interfaceId.assign(value); } /** *The ID of the network interface.
*/ inline NetworkInterface& WithInterfaceId(const Aws::String& value) { SetInterfaceId(value); return *this;} /** *The ID of the network interface.
*/ inline NetworkInterface& WithInterfaceId(Aws::String&& value) { SetInterfaceId(std::move(value)); return *this;} /** *The ID of the network interface.
*/ inline NetworkInterface& WithInterfaceId(const char* value) { SetInterfaceId(value); return *this;} /** *The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
The network protocol for the vehicle. For example, CAN_SIGNAL
* specifies a protocol that defines how data is communicated between electronic
* control units (ECUs). OBD_SIGNAL
specifies a protocol that defines
* how self-diagnostic data is communicated between ECUs.
Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline const CanInterface& GetCanInterface() const{ return m_canInterface; } /** *Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline bool CanInterfaceHasBeenSet() const { return m_canInterfaceHasBeenSet; } /** *Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline void SetCanInterface(const CanInterface& value) { m_canInterfaceHasBeenSet = true; m_canInterface = value; } /** *Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline void SetCanInterface(CanInterface&& value) { m_canInterfaceHasBeenSet = true; m_canInterface = std::move(value); } /** *Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline NetworkInterface& WithCanInterface(const CanInterface& value) { SetCanInterface(value); return *this;} /** *Information about a network interface specified by the Controller Area * Network (CAN) protocol.
*/ inline NetworkInterface& WithCanInterface(CanInterface&& value) { SetCanInterface(std::move(value)); return *this;} /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline const ObdInterface& GetObdInterface() const{ return m_obdInterface; } /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline bool ObdInterfaceHasBeenSet() const { return m_obdInterfaceHasBeenSet; } /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline void SetObdInterface(const ObdInterface& value) { m_obdInterfaceHasBeenSet = true; m_obdInterface = value; } /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline void SetObdInterface(ObdInterface&& value) { m_obdInterfaceHasBeenSet = true; m_obdInterface = std::move(value); } /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline NetworkInterface& WithObdInterface(const ObdInterface& value) { SetObdInterface(value); return *this;} /** *Information about a network interface specified by the On-board diagnostic * (OBD) II protocol.
*/ inline NetworkInterface& WithObdInterface(ObdInterface&& value) { SetObdInterface(std::move(value)); return *this;} private: Aws::String m_interfaceId; bool m_interfaceIdHasBeenSet = false; NetworkInterfaceType m_type; bool m_typeHasBeenSet = false; CanInterface m_canInterface; bool m_canInterfaceHasBeenSet = false; ObdInterface m_obdInterface; bool m_obdInterfaceHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws