AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
Property.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/PropertyNotification.h>
10#include <aws/iotsitewise/model/PropertyDataType.h>
11#include <aws/iotsitewise/model/PropertyType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/iotsitewise/model/AssetPropertyPathSegment.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Json
21{
22 class JsonValue;
23 class JsonView;
24} // namespace Json
25} // namespace Utils
26namespace IoTSiteWise
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_IOTSITEWISE_API Property() = default;
40 AWS_IOTSITEWISE_API Property(Aws::Utils::Json::JsonView jsonValue);
41 AWS_IOTSITEWISE_API Property& operator=(Aws::Utils::Json::JsonView jsonValue);
42 AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const;
43
44
46
49 inline const Aws::String& GetId() const { return m_id; }
50 inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
51 template<typename IdT = Aws::String>
52 void SetId(IdT&& value) { m_idHasBeenSet = true; m_id = std::forward<IdT>(value); }
53 template<typename IdT = Aws::String>
54 Property& WithId(IdT&& value) { SetId(std::forward<IdT>(value)); return *this;}
56
58
61 inline const Aws::String& GetName() const { return m_name; }
62 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
63 template<typename NameT = Aws::String>
64 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
65 template<typename NameT = Aws::String>
66 Property& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
68
70
78 inline const Aws::String& GetAlias() const { return m_alias; }
79 inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; }
80 template<typename AliasT = Aws::String>
81 void SetAlias(AliasT&& value) { m_aliasHasBeenSet = true; m_alias = std::forward<AliasT>(value); }
82 template<typename AliasT = Aws::String>
83 Property& WithAlias(AliasT&& value) { SetAlias(std::forward<AliasT>(value)); return *this;}
85
87
92 inline const PropertyNotification& GetNotification() const { return m_notification; }
93 inline bool NotificationHasBeenSet() const { return m_notificationHasBeenSet; }
94 template<typename NotificationT = PropertyNotification>
95 void SetNotification(NotificationT&& value) { m_notificationHasBeenSet = true; m_notification = std::forward<NotificationT>(value); }
96 template<typename NotificationT = PropertyNotification>
97 Property& WithNotification(NotificationT&& value) { SetNotification(std::forward<NotificationT>(value)); return *this;}
99
101
104 inline PropertyDataType GetDataType() const { return m_dataType; }
105 inline bool DataTypeHasBeenSet() const { return m_dataTypeHasBeenSet; }
106 inline void SetDataType(PropertyDataType value) { m_dataTypeHasBeenSet = true; m_dataType = value; }
107 inline Property& WithDataType(PropertyDataType value) { SetDataType(value); return *this;}
109
111
115 inline const Aws::String& GetUnit() const { return m_unit; }
116 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
117 template<typename UnitT = Aws::String>
118 void SetUnit(UnitT&& value) { m_unitHasBeenSet = true; m_unit = std::forward<UnitT>(value); }
119 template<typename UnitT = Aws::String>
120 Property& WithUnit(UnitT&& value) { SetUnit(std::forward<UnitT>(value)); return *this;}
122
124
128 inline const PropertyType& GetType() const { return m_type; }
129 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
130 template<typename TypeT = PropertyType>
131 void SetType(TypeT&& value) { m_typeHasBeenSet = true; m_type = std::forward<TypeT>(value); }
132 template<typename TypeT = PropertyType>
133 Property& WithType(TypeT&& value) { SetType(std::forward<TypeT>(value)); return *this;}
135
137
140 inline const Aws::Vector<AssetPropertyPathSegment>& GetPath() const { return m_path; }
141 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
142 template<typename PathT = Aws::Vector<AssetPropertyPathSegment>>
143 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
144 template<typename PathT = Aws::Vector<AssetPropertyPathSegment>>
145 Property& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
146 template<typename PathT = AssetPropertyPathSegment>
147 Property& AddPath(PathT&& value) { m_pathHasBeenSet = true; m_path.emplace_back(std::forward<PathT>(value)); return *this; }
149
151
156 inline const Aws::String& GetExternalId() const { return m_externalId; }
157 inline bool ExternalIdHasBeenSet() const { return m_externalIdHasBeenSet; }
158 template<typename ExternalIdT = Aws::String>
159 void SetExternalId(ExternalIdT&& value) { m_externalIdHasBeenSet = true; m_externalId = std::forward<ExternalIdT>(value); }
160 template<typename ExternalIdT = Aws::String>
161 Property& WithExternalId(ExternalIdT&& value) { SetExternalId(std::forward<ExternalIdT>(value)); return *this;}
163 private:
164
165 Aws::String m_id;
166 bool m_idHasBeenSet = false;
167
168 Aws::String m_name;
169 bool m_nameHasBeenSet = false;
170
171 Aws::String m_alias;
172 bool m_aliasHasBeenSet = false;
173
174 PropertyNotification m_notification;
175 bool m_notificationHasBeenSet = false;
176
178 bool m_dataTypeHasBeenSet = false;
179
180 Aws::String m_unit;
181 bool m_unitHasBeenSet = false;
182
183 PropertyType m_type;
184 bool m_typeHasBeenSet = false;
185
187 bool m_pathHasBeenSet = false;
188
189 Aws::String m_externalId;
190 bool m_externalIdHasBeenSet = false;
191 };
192
193} // namespace Model
194} // namespace IoTSiteWise
195} // namespace Aws
void SetDataType(PropertyDataType value)
Definition Property.h:106
Property & WithName(NameT &&value)
Definition Property.h:66
const Aws::String & GetName() const
Definition Property.h:61
Property & WithNotification(NotificationT &&value)
Definition Property.h:97
Property & WithPath(PathT &&value)
Definition Property.h:145
const PropertyType & GetType() const
Definition Property.h:128
void SetName(NameT &&value)
Definition Property.h:64
AWS_IOTSITEWISE_API Property(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTSITEWISE_API Property()=default
Property & AddPath(PathT &&value)
Definition Property.h:147
AWS_IOTSITEWISE_API Property & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetUnit() const
Definition Property.h:115
const PropertyNotification & GetNotification() const
Definition Property.h:92
void SetType(TypeT &&value)
Definition Property.h:131
Property & WithExternalId(ExternalIdT &&value)
Definition Property.h:161
PropertyDataType GetDataType() const
Definition Property.h:104
Property & WithType(TypeT &&value)
Definition Property.h:133
void SetPath(PathT &&value)
Definition Property.h:143
Property & WithId(IdT &&value)
Definition Property.h:54
Property & WithUnit(UnitT &&value)
Definition Property.h:120
void SetAlias(AliasT &&value)
Definition Property.h:81
Property & WithAlias(AliasT &&value)
Definition Property.h:83
Property & WithDataType(PropertyDataType value)
Definition Property.h:107
const Aws::String & GetId() const
Definition Property.h:49
void SetNotification(NotificationT &&value)
Definition Property.h:95
const Aws::String & GetExternalId() const
Definition Property.h:156
void SetExternalId(ExternalIdT &&value)
Definition Property.h:159
const Aws::String & GetAlias() const
Definition Property.h:78
void SetUnit(UnitT &&value)
Definition Property.h:118
AWS_IOTSITEWISE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< AssetPropertyPathSegment > & GetPath() const
Definition Property.h:140
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue