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

An object that specifies a value for a property.

See Also:

* AWS * API Reference

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

A Boolean value.

*/ inline bool GetBooleanValue() const{ return m_booleanValue; } /** *

A Boolean value.

*/ inline bool BooleanValueHasBeenSet() const { return m_booleanValueHasBeenSet; } /** *

A Boolean value.

*/ inline void SetBooleanValue(bool value) { m_booleanValueHasBeenSet = true; m_booleanValue = value; } /** *

A Boolean value.

*/ inline DataValue& WithBooleanValue(bool value) { SetBooleanValue(value); return *this;} /** *

A double value.

*/ inline double GetDoubleValue() const{ return m_doubleValue; } /** *

A double value.

*/ inline bool DoubleValueHasBeenSet() const { return m_doubleValueHasBeenSet; } /** *

A double value.

*/ inline void SetDoubleValue(double value) { m_doubleValueHasBeenSet = true; m_doubleValue = value; } /** *

A double value.

*/ inline DataValue& WithDoubleValue(double value) { SetDoubleValue(value); return *this;} /** *

An integer value.

*/ inline int GetIntegerValue() const{ return m_integerValue; } /** *

An integer value.

*/ inline bool IntegerValueHasBeenSet() const { return m_integerValueHasBeenSet; } /** *

An integer value.

*/ inline void SetIntegerValue(int value) { m_integerValueHasBeenSet = true; m_integerValue = value; } /** *

An integer value.

*/ inline DataValue& WithIntegerValue(int value) { SetIntegerValue(value); return *this;} /** *

A long value.

*/ inline long long GetLongValue() const{ return m_longValue; } /** *

A long value.

*/ inline bool LongValueHasBeenSet() const { return m_longValueHasBeenSet; } /** *

A long value.

*/ inline void SetLongValue(long long value) { m_longValueHasBeenSet = true; m_longValue = value; } /** *

A long value.

*/ inline DataValue& WithLongValue(long long value) { SetLongValue(value); return *this;} /** *

A string value.

*/ inline const Aws::String& GetStringValue() const{ return m_stringValue; } /** *

A string value.

*/ inline bool StringValueHasBeenSet() const { return m_stringValueHasBeenSet; } /** *

A string value.

*/ inline void SetStringValue(const Aws::String& value) { m_stringValueHasBeenSet = true; m_stringValue = value; } /** *

A string value.

*/ inline void SetStringValue(Aws::String&& value) { m_stringValueHasBeenSet = true; m_stringValue = std::move(value); } /** *

A string value.

*/ inline void SetStringValue(const char* value) { m_stringValueHasBeenSet = true; m_stringValue.assign(value); } /** *

A string value.

*/ inline DataValue& WithStringValue(const Aws::String& value) { SetStringValue(value); return *this;} /** *

A string value.

*/ inline DataValue& WithStringValue(Aws::String&& value) { SetStringValue(std::move(value)); return *this;} /** *

A string value.

*/ inline DataValue& WithStringValue(const char* value) { SetStringValue(value); return *this;} /** *

A list of multiple values.

*/ inline const Aws::Vector& GetListValue() const{ return m_listValue; } /** *

A list of multiple values.

*/ inline bool ListValueHasBeenSet() const { return m_listValueHasBeenSet; } /** *

A list of multiple values.

*/ inline void SetListValue(const Aws::Vector& value) { m_listValueHasBeenSet = true; m_listValue = value; } /** *

A list of multiple values.

*/ inline void SetListValue(Aws::Vector&& value) { m_listValueHasBeenSet = true; m_listValue = std::move(value); } /** *

A list of multiple values.

*/ inline DataValue& WithListValue(const Aws::Vector& value) { SetListValue(value); return *this;} /** *

A list of multiple values.

*/ inline DataValue& WithListValue(Aws::Vector&& value) { SetListValue(std::move(value)); return *this;} /** *

A list of multiple values.

*/ inline DataValue& AddListValue(const DataValue& value) { m_listValueHasBeenSet = true; m_listValue.push_back(value); return *this; } /** *

A list of multiple values.

*/ inline DataValue& AddListValue(DataValue&& value) { m_listValueHasBeenSet = true; m_listValue.push_back(std::move(value)); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline const Aws::Map& GetMapValue() const{ return m_mapValue; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline bool MapValueHasBeenSet() const { return m_mapValueHasBeenSet; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline void SetMapValue(const Aws::Map& value) { m_mapValueHasBeenSet = true; m_mapValue = value; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline void SetMapValue(Aws::Map&& value) { m_mapValueHasBeenSet = true; m_mapValue = std::move(value); } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& WithMapValue(const Aws::Map& value) { SetMapValue(value); return *this;} /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& WithMapValue(Aws::Map&& value) { SetMapValue(std::move(value)); return *this;} /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(const Aws::String& key, const DataValue& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(Aws::String&& key, const DataValue& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), value); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(const Aws::String& key, DataValue&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(Aws::String&& key, DataValue&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(std::move(key), std::move(value)); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(const char* key, DataValue&& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, std::move(value)); return *this; } /** *

An object that maps strings to multiple DataValue objects.

*/ inline DataValue& AddMapValue(const char* key, const DataValue& value) { m_mapValueHasBeenSet = true; m_mapValue.emplace(key, value); return *this; } /** *

A value that relates a component to another component.

*/ inline const RelationshipValue& GetRelationshipValue() const{ return m_relationshipValue; } /** *

A value that relates a component to another component.

*/ inline bool RelationshipValueHasBeenSet() const { return m_relationshipValueHasBeenSet; } /** *

A value that relates a component to another component.

*/ inline void SetRelationshipValue(const RelationshipValue& value) { m_relationshipValueHasBeenSet = true; m_relationshipValue = value; } /** *

A value that relates a component to another component.

*/ inline void SetRelationshipValue(RelationshipValue&& value) { m_relationshipValueHasBeenSet = true; m_relationshipValue = std::move(value); } /** *

A value that relates a component to another component.

*/ inline DataValue& WithRelationshipValue(const RelationshipValue& value) { SetRelationshipValue(value); return *this;} /** *

A value that relates a component to another component.

*/ inline DataValue& WithRelationshipValue(RelationshipValue&& value) { SetRelationshipValue(std::move(value)); return *this;} /** *

An expression that produces the value.

*/ inline const Aws::String& GetExpression() const{ return m_expression; } /** *

An expression that produces the value.

*/ inline bool ExpressionHasBeenSet() const { return m_expressionHasBeenSet; } /** *

An expression that produces the value.

*/ inline void SetExpression(const Aws::String& value) { m_expressionHasBeenSet = true; m_expression = value; } /** *

An expression that produces the value.

*/ inline void SetExpression(Aws::String&& value) { m_expressionHasBeenSet = true; m_expression = std::move(value); } /** *

An expression that produces the value.

*/ inline void SetExpression(const char* value) { m_expressionHasBeenSet = true; m_expression.assign(value); } /** *

An expression that produces the value.

*/ inline DataValue& WithExpression(const Aws::String& value) { SetExpression(value); return *this;} /** *

An expression that produces the value.

*/ inline DataValue& WithExpression(Aws::String&& value) { SetExpression(std::move(value)); return *this;} /** *

An expression that produces the value.

*/ inline DataValue& WithExpression(const char* value) { SetExpression(value); return *this;} private: bool m_booleanValue; bool m_booleanValueHasBeenSet = false; double m_doubleValue; bool m_doubleValueHasBeenSet = false; int m_integerValue; bool m_integerValueHasBeenSet = false; long long m_longValue; bool m_longValueHasBeenSet = false; Aws::String m_stringValue; bool m_stringValueHasBeenSet = false; Aws::Vector m_listValue; bool m_listValueHasBeenSet = false; Aws::Map m_mapValue; bool m_mapValueHasBeenSet = false; RelationshipValue m_relationshipValue; bool m_relationshipValueHasBeenSet = false; Aws::String m_expression; bool m_expressionHasBeenSet = false; }; } // namespace Model } // namespace IoTTwinMaker } // namespace Aws