/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include A general abstraction of a signal. A node can be specified as an actuator,
* attribute, branch, or sensor.See Also:
AWS
* API Reference
Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline const Branch& GetBranch() const{ return m_branch; } /** *Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline bool BranchHasBeenSet() const { return m_branchHasBeenSet; } /** *Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline void SetBranch(const Branch& value) { m_branchHasBeenSet = true; m_branch = value; } /** *Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline void SetBranch(Branch&& value) { m_branchHasBeenSet = true; m_branch = std::move(value); } /** *Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline Node& WithBranch(const Branch& value) { SetBranch(value); return *this;} /** *Information about a node specified as a branch.
A group of * signals that are defined in a hierarchical structure.
*/ inline Node& WithBranch(Branch&& value) { SetBranch(std::move(value)); return *this;} inline const Sensor& GetSensor() const{ return m_sensor; } inline bool SensorHasBeenSet() const { return m_sensorHasBeenSet; } inline void SetSensor(const Sensor& value) { m_sensorHasBeenSet = true; m_sensor = value; } inline void SetSensor(Sensor&& value) { m_sensorHasBeenSet = true; m_sensor = std::move(value); } inline Node& WithSensor(const Sensor& value) { SetSensor(value); return *this;} inline Node& WithSensor(Sensor&& value) { SetSensor(std::move(value)); return *this;} /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline const Actuator& GetActuator() const{ return m_actuator; } /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline bool ActuatorHasBeenSet() const { return m_actuatorHasBeenSet; } /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline void SetActuator(const Actuator& value) { m_actuatorHasBeenSet = true; m_actuator = value; } /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline void SetActuator(Actuator&& value) { m_actuatorHasBeenSet = true; m_actuator = std::move(value); } /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline Node& WithActuator(const Actuator& value) { SetActuator(value); return *this;} /** *Information about a node specified as an actuator.
An actuator * is a digital representation of a vehicle device.
*/ inline Node& WithActuator(Actuator&& value) { SetActuator(std::move(value)); return *this;} /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline const Attribute& GetAttribute() const{ return m_attribute; } /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline bool AttributeHasBeenSet() const { return m_attributeHasBeenSet; } /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline void SetAttribute(const Attribute& value) { m_attributeHasBeenSet = true; m_attribute = value; } /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline void SetAttribute(Attribute&& value) { m_attributeHasBeenSet = true; m_attribute = std::move(value); } /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline Node& WithAttribute(const Attribute& value) { SetAttribute(value); return *this;} /** *Information about a node specified as an attribute.
An * attribute represents static information about a vehicle.
*/ inline Node& WithAttribute(Attribute&& value) { SetAttribute(std::move(value)); return *this;} private: Branch m_branch; bool m_branchHasBeenSet = false; Sensor m_sensor; bool m_sensorHasBeenSet = false; Actuator m_actuator; bool m_actuatorHasBeenSet = false; Attribute m_attribute; bool m_attributeHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws