1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/iotsitewise/IoTSiteWise_EXPORTS.h>
8 #include <aws/iotsitewise/IoTSiteWiseRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/iotsitewise/model/PropertyNotificationState.h>
11 #include <utility>
12 #include <aws/core/utils/UUID.h>
13 
14 namespace Aws
15 {
16 namespace IoTSiteWise
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_IOTSITEWISE_API UpdateAssetPropertyRequest : public IoTSiteWiseRequest
24   {
25   public:
26     UpdateAssetPropertyRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "UpdateAssetProperty"; }
33 
34     Aws::String SerializePayload() const override;
35 
36 
37     /**
38      * <p>The ID of the asset to be updated.</p>
39      */
GetAssetId()40     inline const Aws::String& GetAssetId() const{ return m_assetId; }
41 
42     /**
43      * <p>The ID of the asset to be updated.</p>
44      */
AssetIdHasBeenSet()45     inline bool AssetIdHasBeenSet() const { return m_assetIdHasBeenSet; }
46 
47     /**
48      * <p>The ID of the asset to be updated.</p>
49      */
SetAssetId(const Aws::String & value)50     inline void SetAssetId(const Aws::String& value) { m_assetIdHasBeenSet = true; m_assetId = value; }
51 
52     /**
53      * <p>The ID of the asset to be updated.</p>
54      */
SetAssetId(Aws::String && value)55     inline void SetAssetId(Aws::String&& value) { m_assetIdHasBeenSet = true; m_assetId = std::move(value); }
56 
57     /**
58      * <p>The ID of the asset to be updated.</p>
59      */
SetAssetId(const char * value)60     inline void SetAssetId(const char* value) { m_assetIdHasBeenSet = true; m_assetId.assign(value); }
61 
62     /**
63      * <p>The ID of the asset to be updated.</p>
64      */
WithAssetId(const Aws::String & value)65     inline UpdateAssetPropertyRequest& WithAssetId(const Aws::String& value) { SetAssetId(value); return *this;}
66 
67     /**
68      * <p>The ID of the asset to be updated.</p>
69      */
WithAssetId(Aws::String && value)70     inline UpdateAssetPropertyRequest& WithAssetId(Aws::String&& value) { SetAssetId(std::move(value)); return *this;}
71 
72     /**
73      * <p>The ID of the asset to be updated.</p>
74      */
WithAssetId(const char * value)75     inline UpdateAssetPropertyRequest& WithAssetId(const char* value) { SetAssetId(value); return *this;}
76 
77 
78     /**
79      * <p>The ID of the asset property to be updated.</p>
80      */
GetPropertyId()81     inline const Aws::String& GetPropertyId() const{ return m_propertyId; }
82 
83     /**
84      * <p>The ID of the asset property to be updated.</p>
85      */
PropertyIdHasBeenSet()86     inline bool PropertyIdHasBeenSet() const { return m_propertyIdHasBeenSet; }
87 
88     /**
89      * <p>The ID of the asset property to be updated.</p>
90      */
SetPropertyId(const Aws::String & value)91     inline void SetPropertyId(const Aws::String& value) { m_propertyIdHasBeenSet = true; m_propertyId = value; }
92 
93     /**
94      * <p>The ID of the asset property to be updated.</p>
95      */
SetPropertyId(Aws::String && value)96     inline void SetPropertyId(Aws::String&& value) { m_propertyIdHasBeenSet = true; m_propertyId = std::move(value); }
97 
98     /**
99      * <p>The ID of the asset property to be updated.</p>
100      */
SetPropertyId(const char * value)101     inline void SetPropertyId(const char* value) { m_propertyIdHasBeenSet = true; m_propertyId.assign(value); }
102 
103     /**
104      * <p>The ID of the asset property to be updated.</p>
105      */
WithPropertyId(const Aws::String & value)106     inline UpdateAssetPropertyRequest& WithPropertyId(const Aws::String& value) { SetPropertyId(value); return *this;}
107 
108     /**
109      * <p>The ID of the asset property to be updated.</p>
110      */
WithPropertyId(Aws::String && value)111     inline UpdateAssetPropertyRequest& WithPropertyId(Aws::String&& value) { SetPropertyId(std::move(value)); return *this;}
112 
113     /**
114      * <p>The ID of the asset property to be updated.</p>
115      */
WithPropertyId(const char * value)116     inline UpdateAssetPropertyRequest& WithPropertyId(const char* value) { SetPropertyId(value); return *this;}
117 
118 
119     /**
120      * <p>The alias that identifies the property, such as an OPC-UA server data stream
121      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
122      * more information, see <a
123      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
124      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
125      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
126      * property.</p>
127      */
GetPropertyAlias()128     inline const Aws::String& GetPropertyAlias() const{ return m_propertyAlias; }
129 
130     /**
131      * <p>The alias that identifies the property, such as an OPC-UA server data stream
132      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
133      * more information, see <a
134      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
135      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
136      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
137      * property.</p>
138      */
PropertyAliasHasBeenSet()139     inline bool PropertyAliasHasBeenSet() const { return m_propertyAliasHasBeenSet; }
140 
141     /**
142      * <p>The alias that identifies the property, such as an OPC-UA server data stream
143      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
144      * more information, see <a
145      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
146      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
147      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
148      * property.</p>
149      */
SetPropertyAlias(const Aws::String & value)150     inline void SetPropertyAlias(const Aws::String& value) { m_propertyAliasHasBeenSet = true; m_propertyAlias = value; }
151 
152     /**
153      * <p>The alias that identifies the property, such as an OPC-UA server data stream
154      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
155      * more information, see <a
156      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
157      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
158      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
159      * property.</p>
160      */
SetPropertyAlias(Aws::String && value)161     inline void SetPropertyAlias(Aws::String&& value) { m_propertyAliasHasBeenSet = true; m_propertyAlias = std::move(value); }
162 
163     /**
164      * <p>The alias that identifies the property, such as an OPC-UA server data stream
165      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
166      * more information, see <a
167      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
168      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
169      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
170      * property.</p>
171      */
SetPropertyAlias(const char * value)172     inline void SetPropertyAlias(const char* value) { m_propertyAliasHasBeenSet = true; m_propertyAlias.assign(value); }
173 
174     /**
175      * <p>The alias that identifies the property, such as an OPC-UA server data stream
176      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
177      * more information, see <a
178      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
179      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
180      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
181      * property.</p>
182      */
WithPropertyAlias(const Aws::String & value)183     inline UpdateAssetPropertyRequest& WithPropertyAlias(const Aws::String& value) { SetPropertyAlias(value); return *this;}
184 
185     /**
186      * <p>The alias that identifies the property, such as an OPC-UA server data stream
187      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
188      * more information, see <a
189      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
190      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
191      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
192      * property.</p>
193      */
WithPropertyAlias(Aws::String && value)194     inline UpdateAssetPropertyRequest& WithPropertyAlias(Aws::String&& value) { SetPropertyAlias(std::move(value)); return *this;}
195 
196     /**
197      * <p>The alias that identifies the property, such as an OPC-UA server data stream
198      * path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For
199      * more information, see <a
200      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping
201      * industrial data streams to asset properties</a> in the <i>IoT SiteWise User
202      * Guide</i>.</p> <p>If you omit this parameter, the alias is removed from the
203      * property.</p>
204      */
WithPropertyAlias(const char * value)205     inline UpdateAssetPropertyRequest& WithPropertyAlias(const char* value) { SetPropertyAlias(value); return *this;}
206 
207 
208     /**
209      * <p>The MQTT notification state (enabled or disabled) for this asset property.
210      * When the notification state is enabled, IoT SiteWise publishes property value
211      * updates to a unique MQTT topic. For more information, see <a
212      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
213      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
214      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
215      */
GetPropertyNotificationState()216     inline const PropertyNotificationState& GetPropertyNotificationState() const{ return m_propertyNotificationState; }
217 
218     /**
219      * <p>The MQTT notification state (enabled or disabled) for this asset property.
220      * When the notification state is enabled, IoT SiteWise publishes property value
221      * updates to a unique MQTT topic. For more information, see <a
222      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
223      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
224      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
225      */
PropertyNotificationStateHasBeenSet()226     inline bool PropertyNotificationStateHasBeenSet() const { return m_propertyNotificationStateHasBeenSet; }
227 
228     /**
229      * <p>The MQTT notification state (enabled or disabled) for this asset property.
230      * When the notification state is enabled, IoT SiteWise publishes property value
231      * updates to a unique MQTT topic. For more information, see <a
232      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
233      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
234      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
235      */
SetPropertyNotificationState(const PropertyNotificationState & value)236     inline void SetPropertyNotificationState(const PropertyNotificationState& value) { m_propertyNotificationStateHasBeenSet = true; m_propertyNotificationState = value; }
237 
238     /**
239      * <p>The MQTT notification state (enabled or disabled) for this asset property.
240      * When the notification state is enabled, IoT SiteWise publishes property value
241      * updates to a unique MQTT topic. For more information, see <a
242      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
243      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
244      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
245      */
SetPropertyNotificationState(PropertyNotificationState && value)246     inline void SetPropertyNotificationState(PropertyNotificationState&& value) { m_propertyNotificationStateHasBeenSet = true; m_propertyNotificationState = std::move(value); }
247 
248     /**
249      * <p>The MQTT notification state (enabled or disabled) for this asset property.
250      * When the notification state is enabled, IoT SiteWise publishes property value
251      * updates to a unique MQTT topic. For more information, see <a
252      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
253      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
254      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
255      */
WithPropertyNotificationState(const PropertyNotificationState & value)256     inline UpdateAssetPropertyRequest& WithPropertyNotificationState(const PropertyNotificationState& value) { SetPropertyNotificationState(value); return *this;}
257 
258     /**
259      * <p>The MQTT notification state (enabled or disabled) for this asset property.
260      * When the notification state is enabled, IoT SiteWise publishes property value
261      * updates to a unique MQTT topic. For more information, see <a
262      * href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/interact-with-other-services.html">Interacting
263      * with other services</a> in the <i>IoT SiteWise User Guide</i>.</p> <p>If you
264      * omit this parameter, the notification state is set to <code>DISABLED</code>.</p>
265      */
WithPropertyNotificationState(PropertyNotificationState && value)266     inline UpdateAssetPropertyRequest& WithPropertyNotificationState(PropertyNotificationState&& value) { SetPropertyNotificationState(std::move(value)); return *this;}
267 
268 
269     /**
270      * <p>A unique case-sensitive identifier that you can provide to ensure the
271      * idempotency of the request. Don't reuse this client token if a new idempotent
272      * request is required.</p>
273      */
GetClientToken()274     inline const Aws::String& GetClientToken() const{ return m_clientToken; }
275 
276     /**
277      * <p>A unique case-sensitive identifier that you can provide to ensure the
278      * idempotency of the request. Don't reuse this client token if a new idempotent
279      * request is required.</p>
280      */
ClientTokenHasBeenSet()281     inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
282 
283     /**
284      * <p>A unique case-sensitive identifier that you can provide to ensure the
285      * idempotency of the request. Don't reuse this client token if a new idempotent
286      * request is required.</p>
287      */
SetClientToken(const Aws::String & value)288     inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
289 
290     /**
291      * <p>A unique case-sensitive identifier that you can provide to ensure the
292      * idempotency of the request. Don't reuse this client token if a new idempotent
293      * request is required.</p>
294      */
SetClientToken(Aws::String && value)295     inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); }
296 
297     /**
298      * <p>A unique case-sensitive identifier that you can provide to ensure the
299      * idempotency of the request. Don't reuse this client token if a new idempotent
300      * request is required.</p>
301      */
SetClientToken(const char * value)302     inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
303 
304     /**
305      * <p>A unique case-sensitive identifier that you can provide to ensure the
306      * idempotency of the request. Don't reuse this client token if a new idempotent
307      * request is required.</p>
308      */
WithClientToken(const Aws::String & value)309     inline UpdateAssetPropertyRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
310 
311     /**
312      * <p>A unique case-sensitive identifier that you can provide to ensure the
313      * idempotency of the request. Don't reuse this client token if a new idempotent
314      * request is required.</p>
315      */
WithClientToken(Aws::String && value)316     inline UpdateAssetPropertyRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;}
317 
318     /**
319      * <p>A unique case-sensitive identifier that you can provide to ensure the
320      * idempotency of the request. Don't reuse this client token if a new idempotent
321      * request is required.</p>
322      */
WithClientToken(const char * value)323     inline UpdateAssetPropertyRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;}
324 
325   private:
326 
327     Aws::String m_assetId;
328     bool m_assetIdHasBeenSet;
329 
330     Aws::String m_propertyId;
331     bool m_propertyIdHasBeenSet;
332 
333     Aws::String m_propertyAlias;
334     bool m_propertyAliasHasBeenSet;
335 
336     PropertyNotificationState m_propertyNotificationState;
337     bool m_propertyNotificationStateHasBeenSet;
338 
339     Aws::String m_clientToken;
340     bool m_clientTokenHasBeenSet;
341   };
342 
343 } // namespace Model
344 } // namespace IoTSiteWise
345 } // namespace Aws
346