AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
AssetModelProperty.h
1
6#pragma once
7#include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/iotsitewise/model/PropertyDataType.h>
10#include <aws/iotsitewise/model/PropertyType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/iotsitewise/model/AssetModelPropertyPathSegment.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Json
20{
21 class JsonValue;
22 class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace IoTSiteWise
26{
27namespace Model
28{
29
37 {
38 public:
39 AWS_IOTSITEWISE_API AssetModelProperty() = default;
40 AWS_IOTSITEWISE_API AssetModelProperty(Aws::Utils::Json::JsonView jsonValue);
42 AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
61 inline const Aws::String& GetId() const { return m_id; }
62 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
63 template<typename IdT = Aws::String>
64 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
65 template<typename IdT = Aws::String>
66 AssetModelProperty& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
68
70
83 inline const Aws::String& GetExternalId() const { return m_externalId; }
84 inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; }
85 template<typename ExternalIdT = Aws::String>
86 void SetExternalId(ExternalIdT&& value) { m_externalIdHasBeenSet = true; m_externalId = std::forward<ExternalIdT>(value); }
87 template<typename ExternalIdT = Aws::String>
88 AssetModelProperty& WithExternalId(ExternalIdT&& value) { SetExternalId(std::forward<ExternalIdT>(value)); return *this;}
90
92
95 inline const Aws::String& GetName() const { return m_name; }
96 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
97 template<typename NameT = Aws::String>
98 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
99 template<typename NameT = Aws::String>
100 AssetModelProperty& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
102
104
109 inline PropertyDataType GetDataType() const { return m_dataType; }
110 inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; }
111 inline void SetDataType(PropertyDataType value) { m_dataTypeHasBeenSet = true; m_dataType = value; }
112 inline AssetModelProperty& WithDataType(PropertyDataType value) { SetDataType(value); return *this;}
114
116
120 inline const Aws::String& GetDataTypeSpec() const { return m_dataTypeSpec; }
121 inline bool DataTypeSpecHasBeenSet() const { return m_dataTypeSpecHasBeenSet; }
122 template<typename DataTypeSpecT = Aws::String>
123 void SetDataTypeSpec(DataTypeSpecT&& value) { m_dataTypeSpecHasBeenSet = true; m_dataTypeSpec = std::forward<DataTypeSpecT>(value); }
124 template<typename DataTypeSpecT = Aws::String>
125 AssetModelProperty& WithDataTypeSpec(DataTypeSpecT&& value) { SetDataTypeSpec(std::forward<DataTypeSpecT>(value)); return *this;}
127
129
133 inline const Aws::String& GetUnit() const { return m_unit; }
134 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
135 template<typename UnitT = Aws::String>
136 void SetUnit(UnitT&& value) { m_unitHasBeenSet = true; m_unit = std::forward<UnitT>(value); }
137 template<typename UnitT = Aws::String>
138 AssetModelProperty& WithUnit(UnitT&& value) { SetUnit(std::forward<UnitT>(value)); return *this;}
140
142
145 inline const PropertyType& GetType() const { return m_type; }
146 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
147 template<typename TypeT = PropertyType>
148 void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward<TypeT>(value); }
149 template<typename TypeT = PropertyType>
150 AssetModelProperty& WithType(TypeT&& value) { SetType(std::forward<TypeT>(value)); return *this;}
152
154
157 inline const Aws::Vector<AssetModelPropertyPathSegment>& GetPath() const { return m_path; }
158 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
159 template<typename PathT = Aws::Vector<AssetModelPropertyPathSegment>>
160 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
161 template<typename PathT = Aws::Vector<AssetModelPropertyPathSegment>>
162 AssetModelProperty& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
163 template<typename PathT = AssetModelPropertyPathSegment>
164 AssetModelProperty& AddPath(PathT&& value) { m_pathHasBeenSet = true; m_path.emplace_back(std::forward<PathT>(value)); return *this; }
166 private:
167
168 Aws::String m_id;
169 bool m_idHasBeenSet = false;
170
171 Aws::String m_externalId;
172 bool m_externalIdHasBeenSet = false;
173
174 Aws::String m_name;
175 bool m_nameHasBeenSet = false;
176
178 bool m_dataTypeHasBeenSet = false;
179
180 Aws::String m_dataTypeSpec;
181 bool m_dataTypeSpecHasBeenSet = false;
182
183 Aws::String m_unit;
184 bool m_unitHasBeenSet = false;
185
186 PropertyType m_type;
187 bool m_typeHasBeenSet = false;
188
190 bool m_pathHasBeenSet = false;
191 };
192
193} // namespace Model
194} // namespace IoTSiteWise
195} // namespace Aws
AssetModelProperty & WithDataTypeSpec(DataTypeSpecT &&value)
AssetModelProperty & WithType(TypeT &&value)
AWS_IOTSITEWISE_API AssetModelProperty()=default
AssetModelProperty & WithId(IdT &&value)
const Aws::Vector< AssetModelPropertyPathSegment > & GetPath() const
AWS_IOTSITEWISE_API AssetModelProperty(Aws::Utils::Json::JsonView jsonValue)
AssetModelProperty & AddPath(PathT &&value)
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
AssetModelProperty & WithPath(PathT &&value)
AssetModelProperty & WithDataType(PropertyDataType value)
AWS_IOTSITEWISE_API AssetModelProperty & operator=(Aws::Utils::Json::JsonView jsonValue)
AssetModelProperty & WithUnit(UnitT &&value)
AssetModelProperty & WithName(NameT &&value)
AssetModelProperty & WithExternalId(ExternalIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue