/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace IoTFleetWise { namespace Model { /** *

A signal that represents static information about the vehicle, such as engine * type or manufacturing date.

See Also:

AWS * API Reference

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

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline const Aws::String& GetFullyQualifiedName() const{ return m_fullyQualifiedName; } /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline bool FullyQualifiedNameHasBeenSet() const { return m_fullyQualifiedNameHasBeenSet; } /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline void SetFullyQualifiedName(const Aws::String& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = value; } /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline void SetFullyQualifiedName(Aws::String&& value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName = std::move(value); } /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline void SetFullyQualifiedName(const char* value) { m_fullyQualifiedNameHasBeenSet = true; m_fullyQualifiedName.assign(value); } /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline Attribute& WithFullyQualifiedName(const Aws::String& value) { SetFullyQualifiedName(value); return *this;} /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline Attribute& WithFullyQualifiedName(Aws::String&& value) { SetFullyQualifiedName(std::move(value)); return *this;} /** *

The fully qualified name of the attribute. For example, the fully qualified * name of an attribute might be Vehicle.Body.Engine.Type.

*/ inline Attribute& WithFullyQualifiedName(const char* value) { SetFullyQualifiedName(value); return *this;} /** *

The specified data type of the attribute.

*/ inline const NodeDataType& GetDataType() const{ return m_dataType; } /** *

The specified data type of the attribute.

*/ inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; } /** *

The specified data type of the attribute.

*/ inline void SetDataType(const NodeDataType& value) { m_dataTypeHasBeenSet = true; m_dataType = value; } /** *

The specified data type of the attribute.

*/ inline void SetDataType(NodeDataType&& value) { m_dataTypeHasBeenSet = true; m_dataType = std::move(value); } /** *

The specified data type of the attribute.

*/ inline Attribute& WithDataType(const NodeDataType& value) { SetDataType(value); return *this;} /** *

The specified data type of the attribute.

*/ inline Attribute& WithDataType(NodeDataType&& value) { SetDataType(std::move(value)); return *this;} /** *

A brief description of the attribute.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A brief description of the attribute.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A brief description of the attribute.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A brief description of the attribute.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A brief description of the attribute.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A brief description of the attribute.

*/ inline Attribute& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A brief description of the attribute.

*/ inline Attribute& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A brief description of the attribute.

*/ inline Attribute& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The scientific unit for the attribute.

*/ inline const Aws::String& GetUnit() const{ return m_unit; } /** *

The scientific unit for the attribute.

*/ inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; } /** *

The scientific unit for the attribute.

*/ inline void SetUnit(const Aws::String& value) { m_unitHasBeenSet = true; m_unit = value; } /** *

The scientific unit for the attribute.

*/ inline void SetUnit(Aws::String&& value) { m_unitHasBeenSet = true; m_unit = std::move(value); } /** *

The scientific unit for the attribute.

*/ inline void SetUnit(const char* value) { m_unitHasBeenSet = true; m_unit.assign(value); } /** *

The scientific unit for the attribute.

*/ inline Attribute& WithUnit(const Aws::String& value) { SetUnit(value); return *this;} /** *

The scientific unit for the attribute.

*/ inline Attribute& WithUnit(Aws::String&& value) { SetUnit(std::move(value)); return *this;} /** *

The scientific unit for the attribute.

*/ inline Attribute& WithUnit(const char* value) { SetUnit(value); return *this;} /** *

A list of possible values an attribute can be assigned.

*/ inline const Aws::Vector& GetAllowedValues() const{ return m_allowedValues; } /** *

A list of possible values an attribute can be assigned.

*/ inline bool AllowedValuesHasBeenSet() const { return m_allowedValuesHasBeenSet; } /** *

A list of possible values an attribute can be assigned.

*/ inline void SetAllowedValues(const Aws::Vector& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = value; } /** *

A list of possible values an attribute can be assigned.

*/ inline void SetAllowedValues(Aws::Vector&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues = std::move(value); } /** *

A list of possible values an attribute can be assigned.

*/ inline Attribute& WithAllowedValues(const Aws::Vector& value) { SetAllowedValues(value); return *this;} /** *

A list of possible values an attribute can be assigned.

*/ inline Attribute& WithAllowedValues(Aws::Vector&& value) { SetAllowedValues(std::move(value)); return *this;} /** *

A list of possible values an attribute can be assigned.

*/ inline Attribute& AddAllowedValues(const Aws::String& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } /** *

A list of possible values an attribute can be assigned.

*/ inline Attribute& AddAllowedValues(Aws::String&& value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(std::move(value)); return *this; } /** *

A list of possible values an attribute can be assigned.

*/ inline Attribute& AddAllowedValues(const char* value) { m_allowedValuesHasBeenSet = true; m_allowedValues.push_back(value); return *this; } /** *

The specified possible minimum value of the attribute.

*/ inline double GetMin() const{ return m_min; } /** *

The specified possible minimum value of the attribute.

*/ inline bool MinHasBeenSet() const { return m_minHasBeenSet; } /** *

The specified possible minimum value of the attribute.

*/ inline void SetMin(double value) { m_minHasBeenSet = true; m_min = value; } /** *

The specified possible minimum value of the attribute.

*/ inline Attribute& WithMin(double value) { SetMin(value); return *this;} /** *

The specified possible maximum value of the attribute.

*/ inline double GetMax() const{ return m_max; } /** *

The specified possible maximum value of the attribute.

*/ inline bool MaxHasBeenSet() const { return m_maxHasBeenSet; } /** *

The specified possible maximum value of the attribute.

*/ inline void SetMax(double value) { m_maxHasBeenSet = true; m_max = value; } /** *

The specified possible maximum value of the attribute.

*/ inline Attribute& WithMax(double value) { SetMax(value); return *this;} /** *

The default value of the attribute.

*/ inline const Aws::String& GetDefaultValue() const{ return m_defaultValue; } /** *

The default value of the attribute.

*/ inline bool DefaultValueHasBeenSet() const { return m_defaultValueHasBeenSet; } /** *

The default value of the attribute.

*/ inline void SetDefaultValue(const Aws::String& value) { m_defaultValueHasBeenSet = true; m_defaultValue = value; } /** *

The default value of the attribute.

*/ inline void SetDefaultValue(Aws::String&& value) { m_defaultValueHasBeenSet = true; m_defaultValue = std::move(value); } /** *

The default value of the attribute.

*/ inline void SetDefaultValue(const char* value) { m_defaultValueHasBeenSet = true; m_defaultValue.assign(value); } /** *

The default value of the attribute.

*/ inline Attribute& WithDefaultValue(const Aws::String& value) { SetDefaultValue(value); return *this;} /** *

The default value of the attribute.

*/ inline Attribute& WithDefaultValue(Aws::String&& value) { SetDefaultValue(std::move(value)); return *this;} /** *

The default value of the attribute.

*/ inline Attribute& WithDefaultValue(const char* value) { SetDefaultValue(value); return *this;} /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline const Aws::String& GetDeprecationMessage() const{ return m_deprecationMessage; } /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline bool DeprecationMessageHasBeenSet() const { return m_deprecationMessageHasBeenSet; } /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline void SetDeprecationMessage(const Aws::String& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = value; } /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline void SetDeprecationMessage(Aws::String&& value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage = std::move(value); } /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline void SetDeprecationMessage(const char* value) { m_deprecationMessageHasBeenSet = true; m_deprecationMessage.assign(value); } /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline Attribute& WithDeprecationMessage(const Aws::String& value) { SetDeprecationMessage(value); return *this;} /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline Attribute& WithDeprecationMessage(Aws::String&& value) { SetDeprecationMessage(std::move(value)); return *this;} /** *

The deprecation message for the node or the branch that was moved or * deleted.

*/ inline Attribute& WithDeprecationMessage(const char* value) { SetDeprecationMessage(value); return *this;} /** *

A comment in addition to the description.

*/ inline const Aws::String& GetComment() const{ return m_comment; } /** *

A comment in addition to the description.

*/ inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } /** *

A comment in addition to the description.

*/ inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } /** *

A comment in addition to the description.

*/ inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } /** *

A comment in addition to the description.

*/ inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } /** *

A comment in addition to the description.

*/ inline Attribute& WithComment(const Aws::String& value) { SetComment(value); return *this;} /** *

A comment in addition to the description.

*/ inline Attribute& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} /** *

A comment in addition to the description.

*/ inline Attribute& WithComment(const char* value) { SetComment(value); return *this;} private: Aws::String m_fullyQualifiedName; bool m_fullyQualifiedNameHasBeenSet = false; NodeDataType m_dataType; bool m_dataTypeHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_unit; bool m_unitHasBeenSet = false; Aws::Vector m_allowedValues; bool m_allowedValuesHasBeenSet = false; double m_min; bool m_minHasBeenSet = false; double m_max; bool m_maxHasBeenSet = false; Aws::String m_defaultValue; bool m_defaultValueHasBeenSet = false; Aws::String m_deprecationMessage; bool m_deprecationMessageHasBeenSet = false; Aws::String m_comment; bool m_commentHasBeenSet = false; }; } // namespace Model } // namespace IoTFleetWise } // namespace Aws