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/medialive/MediaLive_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/medialive/model/InputDeviceConnectionState.h>
10 #include <aws/medialive/model/DeviceSettingsSyncState.h>
11 #include <aws/medialive/model/DeviceUpdateStatus.h>
12 #include <aws/medialive/model/InputDeviceHdSettings.h>
13 #include <aws/medialive/model/InputDeviceNetworkSettings.h>
14 #include <aws/medialive/model/InputDeviceType.h>
15 #include <aws/medialive/model/InputDeviceUhdSettings.h>
16 #include <utility>
17 
18 namespace Aws
19 {
20 template<typename RESULT_TYPE>
21 class AmazonWebServiceResult;
22 
23 namespace Utils
24 {
25 namespace Json
26 {
27   class JsonValue;
28 } // namespace Json
29 } // namespace Utils
30 namespace MediaLive
31 {
32 namespace Model
33 {
34   /**
35    * Placeholder documentation for UpdateInputDeviceResponse<p><h3>See Also:</h3>
36    * <a
37    * href="http://docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/UpdateInputDeviceResponse">AWS
38    * API Reference</a></p>
39    */
40   class AWS_MEDIALIVE_API UpdateInputDeviceResult
41   {
42   public:
43     UpdateInputDeviceResult();
44     UpdateInputDeviceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
45     UpdateInputDeviceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
46 
47 
48     /**
49      * The unique ARN of the input device.
50      */
GetArn()51     inline const Aws::String& GetArn() const{ return m_arn; }
52 
53     /**
54      * The unique ARN of the input device.
55      */
SetArn(const Aws::String & value)56     inline void SetArn(const Aws::String& value) { m_arn = value; }
57 
58     /**
59      * The unique ARN of the input device.
60      */
SetArn(Aws::String && value)61     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
62 
63     /**
64      * The unique ARN of the input device.
65      */
SetArn(const char * value)66     inline void SetArn(const char* value) { m_arn.assign(value); }
67 
68     /**
69      * The unique ARN of the input device.
70      */
WithArn(const Aws::String & value)71     inline UpdateInputDeviceResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
72 
73     /**
74      * The unique ARN of the input device.
75      */
WithArn(Aws::String && value)76     inline UpdateInputDeviceResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
77 
78     /**
79      * The unique ARN of the input device.
80      */
WithArn(const char * value)81     inline UpdateInputDeviceResult& WithArn(const char* value) { SetArn(value); return *this;}
82 
83 
84     /**
85      * The state of the connection between the input device and AWS.
86      */
GetConnectionState()87     inline const InputDeviceConnectionState& GetConnectionState() const{ return m_connectionState; }
88 
89     /**
90      * The state of the connection between the input device and AWS.
91      */
SetConnectionState(const InputDeviceConnectionState & value)92     inline void SetConnectionState(const InputDeviceConnectionState& value) { m_connectionState = value; }
93 
94     /**
95      * The state of the connection between the input device and AWS.
96      */
SetConnectionState(InputDeviceConnectionState && value)97     inline void SetConnectionState(InputDeviceConnectionState&& value) { m_connectionState = std::move(value); }
98 
99     /**
100      * The state of the connection between the input device and AWS.
101      */
WithConnectionState(const InputDeviceConnectionState & value)102     inline UpdateInputDeviceResult& WithConnectionState(const InputDeviceConnectionState& value) { SetConnectionState(value); return *this;}
103 
104     /**
105      * The state of the connection between the input device and AWS.
106      */
WithConnectionState(InputDeviceConnectionState && value)107     inline UpdateInputDeviceResult& WithConnectionState(InputDeviceConnectionState&& value) { SetConnectionState(std::move(value)); return *this;}
108 
109 
110     /**
111      * The status of the action to synchronize the device configuration. If you change
112      * the configuration of the input device (for example, the maximum bitrate),
113      * MediaLive sends the new data to the device. The device might not update itself
114      * immediately. SYNCED means the device has updated its configuration. SYNCING
115      * means that it has not updated its configuration.
116      */
GetDeviceSettingsSyncState()117     inline const DeviceSettingsSyncState& GetDeviceSettingsSyncState() const{ return m_deviceSettingsSyncState; }
118 
119     /**
120      * The status of the action to synchronize the device configuration. If you change
121      * the configuration of the input device (for example, the maximum bitrate),
122      * MediaLive sends the new data to the device. The device might not update itself
123      * immediately. SYNCED means the device has updated its configuration. SYNCING
124      * means that it has not updated its configuration.
125      */
SetDeviceSettingsSyncState(const DeviceSettingsSyncState & value)126     inline void SetDeviceSettingsSyncState(const DeviceSettingsSyncState& value) { m_deviceSettingsSyncState = value; }
127 
128     /**
129      * The status of the action to synchronize the device configuration. If you change
130      * the configuration of the input device (for example, the maximum bitrate),
131      * MediaLive sends the new data to the device. The device might not update itself
132      * immediately. SYNCED means the device has updated its configuration. SYNCING
133      * means that it has not updated its configuration.
134      */
SetDeviceSettingsSyncState(DeviceSettingsSyncState && value)135     inline void SetDeviceSettingsSyncState(DeviceSettingsSyncState&& value) { m_deviceSettingsSyncState = std::move(value); }
136 
137     /**
138      * The status of the action to synchronize the device configuration. If you change
139      * the configuration of the input device (for example, the maximum bitrate),
140      * MediaLive sends the new data to the device. The device might not update itself
141      * immediately. SYNCED means the device has updated its configuration. SYNCING
142      * means that it has not updated its configuration.
143      */
WithDeviceSettingsSyncState(const DeviceSettingsSyncState & value)144     inline UpdateInputDeviceResult& WithDeviceSettingsSyncState(const DeviceSettingsSyncState& value) { SetDeviceSettingsSyncState(value); return *this;}
145 
146     /**
147      * The status of the action to synchronize the device configuration. If you change
148      * the configuration of the input device (for example, the maximum bitrate),
149      * MediaLive sends the new data to the device. The device might not update itself
150      * immediately. SYNCED means the device has updated its configuration. SYNCING
151      * means that it has not updated its configuration.
152      */
WithDeviceSettingsSyncState(DeviceSettingsSyncState && value)153     inline UpdateInputDeviceResult& WithDeviceSettingsSyncState(DeviceSettingsSyncState&& value) { SetDeviceSettingsSyncState(std::move(value)); return *this;}
154 
155 
156     /**
157      * The status of software on the input device.
158      */
GetDeviceUpdateStatus()159     inline const DeviceUpdateStatus& GetDeviceUpdateStatus() const{ return m_deviceUpdateStatus; }
160 
161     /**
162      * The status of software on the input device.
163      */
SetDeviceUpdateStatus(const DeviceUpdateStatus & value)164     inline void SetDeviceUpdateStatus(const DeviceUpdateStatus& value) { m_deviceUpdateStatus = value; }
165 
166     /**
167      * The status of software on the input device.
168      */
SetDeviceUpdateStatus(DeviceUpdateStatus && value)169     inline void SetDeviceUpdateStatus(DeviceUpdateStatus&& value) { m_deviceUpdateStatus = std::move(value); }
170 
171     /**
172      * The status of software on the input device.
173      */
WithDeviceUpdateStatus(const DeviceUpdateStatus & value)174     inline UpdateInputDeviceResult& WithDeviceUpdateStatus(const DeviceUpdateStatus& value) { SetDeviceUpdateStatus(value); return *this;}
175 
176     /**
177      * The status of software on the input device.
178      */
WithDeviceUpdateStatus(DeviceUpdateStatus && value)179     inline UpdateInputDeviceResult& WithDeviceUpdateStatus(DeviceUpdateStatus&& value) { SetDeviceUpdateStatus(std::move(value)); return *this;}
180 
181 
182     /**
183      * Settings that describe an input device that is type HD.
184      */
GetHdDeviceSettings()185     inline const InputDeviceHdSettings& GetHdDeviceSettings() const{ return m_hdDeviceSettings; }
186 
187     /**
188      * Settings that describe an input device that is type HD.
189      */
SetHdDeviceSettings(const InputDeviceHdSettings & value)190     inline void SetHdDeviceSettings(const InputDeviceHdSettings& value) { m_hdDeviceSettings = value; }
191 
192     /**
193      * Settings that describe an input device that is type HD.
194      */
SetHdDeviceSettings(InputDeviceHdSettings && value)195     inline void SetHdDeviceSettings(InputDeviceHdSettings&& value) { m_hdDeviceSettings = std::move(value); }
196 
197     /**
198      * Settings that describe an input device that is type HD.
199      */
WithHdDeviceSettings(const InputDeviceHdSettings & value)200     inline UpdateInputDeviceResult& WithHdDeviceSettings(const InputDeviceHdSettings& value) { SetHdDeviceSettings(value); return *this;}
201 
202     /**
203      * Settings that describe an input device that is type HD.
204      */
WithHdDeviceSettings(InputDeviceHdSettings && value)205     inline UpdateInputDeviceResult& WithHdDeviceSettings(InputDeviceHdSettings&& value) { SetHdDeviceSettings(std::move(value)); return *this;}
206 
207 
208     /**
209      * The unique ID of the input device.
210      */
GetId()211     inline const Aws::String& GetId() const{ return m_id; }
212 
213     /**
214      * The unique ID of the input device.
215      */
SetId(const Aws::String & value)216     inline void SetId(const Aws::String& value) { m_id = value; }
217 
218     /**
219      * The unique ID of the input device.
220      */
SetId(Aws::String && value)221     inline void SetId(Aws::String&& value) { m_id = std::move(value); }
222 
223     /**
224      * The unique ID of the input device.
225      */
SetId(const char * value)226     inline void SetId(const char* value) { m_id.assign(value); }
227 
228     /**
229      * The unique ID of the input device.
230      */
WithId(const Aws::String & value)231     inline UpdateInputDeviceResult& WithId(const Aws::String& value) { SetId(value); return *this;}
232 
233     /**
234      * The unique ID of the input device.
235      */
WithId(Aws::String && value)236     inline UpdateInputDeviceResult& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
237 
238     /**
239      * The unique ID of the input device.
240      */
WithId(const char * value)241     inline UpdateInputDeviceResult& WithId(const char* value) { SetId(value); return *this;}
242 
243 
244     /**
245      * The network MAC address of the input device.
246      */
GetMacAddress()247     inline const Aws::String& GetMacAddress() const{ return m_macAddress; }
248 
249     /**
250      * The network MAC address of the input device.
251      */
SetMacAddress(const Aws::String & value)252     inline void SetMacAddress(const Aws::String& value) { m_macAddress = value; }
253 
254     /**
255      * The network MAC address of the input device.
256      */
SetMacAddress(Aws::String && value)257     inline void SetMacAddress(Aws::String&& value) { m_macAddress = std::move(value); }
258 
259     /**
260      * The network MAC address of the input device.
261      */
SetMacAddress(const char * value)262     inline void SetMacAddress(const char* value) { m_macAddress.assign(value); }
263 
264     /**
265      * The network MAC address of the input device.
266      */
WithMacAddress(const Aws::String & value)267     inline UpdateInputDeviceResult& WithMacAddress(const Aws::String& value) { SetMacAddress(value); return *this;}
268 
269     /**
270      * The network MAC address of the input device.
271      */
WithMacAddress(Aws::String && value)272     inline UpdateInputDeviceResult& WithMacAddress(Aws::String&& value) { SetMacAddress(std::move(value)); return *this;}
273 
274     /**
275      * The network MAC address of the input device.
276      */
WithMacAddress(const char * value)277     inline UpdateInputDeviceResult& WithMacAddress(const char* value) { SetMacAddress(value); return *this;}
278 
279 
280     /**
281      * A name that you specify for the input device.
282      */
GetName()283     inline const Aws::String& GetName() const{ return m_name; }
284 
285     /**
286      * A name that you specify for the input device.
287      */
SetName(const Aws::String & value)288     inline void SetName(const Aws::String& value) { m_name = value; }
289 
290     /**
291      * A name that you specify for the input device.
292      */
SetName(Aws::String && value)293     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
294 
295     /**
296      * A name that you specify for the input device.
297      */
SetName(const char * value)298     inline void SetName(const char* value) { m_name.assign(value); }
299 
300     /**
301      * A name that you specify for the input device.
302      */
WithName(const Aws::String & value)303     inline UpdateInputDeviceResult& WithName(const Aws::String& value) { SetName(value); return *this;}
304 
305     /**
306      * A name that you specify for the input device.
307      */
WithName(Aws::String && value)308     inline UpdateInputDeviceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
309 
310     /**
311      * A name that you specify for the input device.
312      */
WithName(const char * value)313     inline UpdateInputDeviceResult& WithName(const char* value) { SetName(value); return *this;}
314 
315 
316     /**
317      * The network settings for the input device.
318      */
GetNetworkSettings()319     inline const InputDeviceNetworkSettings& GetNetworkSettings() const{ return m_networkSettings; }
320 
321     /**
322      * The network settings for the input device.
323      */
SetNetworkSettings(const InputDeviceNetworkSettings & value)324     inline void SetNetworkSettings(const InputDeviceNetworkSettings& value) { m_networkSettings = value; }
325 
326     /**
327      * The network settings for the input device.
328      */
SetNetworkSettings(InputDeviceNetworkSettings && value)329     inline void SetNetworkSettings(InputDeviceNetworkSettings&& value) { m_networkSettings = std::move(value); }
330 
331     /**
332      * The network settings for the input device.
333      */
WithNetworkSettings(const InputDeviceNetworkSettings & value)334     inline UpdateInputDeviceResult& WithNetworkSettings(const InputDeviceNetworkSettings& value) { SetNetworkSettings(value); return *this;}
335 
336     /**
337      * The network settings for the input device.
338      */
WithNetworkSettings(InputDeviceNetworkSettings && value)339     inline UpdateInputDeviceResult& WithNetworkSettings(InputDeviceNetworkSettings&& value) { SetNetworkSettings(std::move(value)); return *this;}
340 
341 
342     /**
343      * The unique serial number of the input device.
344      */
GetSerialNumber()345     inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; }
346 
347     /**
348      * The unique serial number of the input device.
349      */
SetSerialNumber(const Aws::String & value)350     inline void SetSerialNumber(const Aws::String& value) { m_serialNumber = value; }
351 
352     /**
353      * The unique serial number of the input device.
354      */
SetSerialNumber(Aws::String && value)355     inline void SetSerialNumber(Aws::String&& value) { m_serialNumber = std::move(value); }
356 
357     /**
358      * The unique serial number of the input device.
359      */
SetSerialNumber(const char * value)360     inline void SetSerialNumber(const char* value) { m_serialNumber.assign(value); }
361 
362     /**
363      * The unique serial number of the input device.
364      */
WithSerialNumber(const Aws::String & value)365     inline UpdateInputDeviceResult& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;}
366 
367     /**
368      * The unique serial number of the input device.
369      */
WithSerialNumber(Aws::String && value)370     inline UpdateInputDeviceResult& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;}
371 
372     /**
373      * The unique serial number of the input device.
374      */
WithSerialNumber(const char * value)375     inline UpdateInputDeviceResult& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;}
376 
377 
378     /**
379      * The type of the input device.
380      */
GetType()381     inline const InputDeviceType& GetType() const{ return m_type; }
382 
383     /**
384      * The type of the input device.
385      */
SetType(const InputDeviceType & value)386     inline void SetType(const InputDeviceType& value) { m_type = value; }
387 
388     /**
389      * The type of the input device.
390      */
SetType(InputDeviceType && value)391     inline void SetType(InputDeviceType&& value) { m_type = std::move(value); }
392 
393     /**
394      * The type of the input device.
395      */
WithType(const InputDeviceType & value)396     inline UpdateInputDeviceResult& WithType(const InputDeviceType& value) { SetType(value); return *this;}
397 
398     /**
399      * The type of the input device.
400      */
WithType(InputDeviceType && value)401     inline UpdateInputDeviceResult& WithType(InputDeviceType&& value) { SetType(std::move(value)); return *this;}
402 
403 
404     /**
405      * Settings that describe an input device that is type UHD.
406      */
GetUhdDeviceSettings()407     inline const InputDeviceUhdSettings& GetUhdDeviceSettings() const{ return m_uhdDeviceSettings; }
408 
409     /**
410      * Settings that describe an input device that is type UHD.
411      */
SetUhdDeviceSettings(const InputDeviceUhdSettings & value)412     inline void SetUhdDeviceSettings(const InputDeviceUhdSettings& value) { m_uhdDeviceSettings = value; }
413 
414     /**
415      * Settings that describe an input device that is type UHD.
416      */
SetUhdDeviceSettings(InputDeviceUhdSettings && value)417     inline void SetUhdDeviceSettings(InputDeviceUhdSettings&& value) { m_uhdDeviceSettings = std::move(value); }
418 
419     /**
420      * Settings that describe an input device that is type UHD.
421      */
WithUhdDeviceSettings(const InputDeviceUhdSettings & value)422     inline UpdateInputDeviceResult& WithUhdDeviceSettings(const InputDeviceUhdSettings& value) { SetUhdDeviceSettings(value); return *this;}
423 
424     /**
425      * Settings that describe an input device that is type UHD.
426      */
WithUhdDeviceSettings(InputDeviceUhdSettings && value)427     inline UpdateInputDeviceResult& WithUhdDeviceSettings(InputDeviceUhdSettings&& value) { SetUhdDeviceSettings(std::move(value)); return *this;}
428 
429   private:
430 
431     Aws::String m_arn;
432 
433     InputDeviceConnectionState m_connectionState;
434 
435     DeviceSettingsSyncState m_deviceSettingsSyncState;
436 
437     DeviceUpdateStatus m_deviceUpdateStatus;
438 
439     InputDeviceHdSettings m_hdDeviceSettings;
440 
441     Aws::String m_id;
442 
443     Aws::String m_macAddress;
444 
445     Aws::String m_name;
446 
447     InputDeviceNetworkSettings m_networkSettings;
448 
449     Aws::String m_serialNumber;
450 
451     InputDeviceType m_type;
452 
453     InputDeviceUhdSettings m_uhdDeviceSettings;
454   };
455 
456 } // namespace Model
457 } // namespace MediaLive
458 } // namespace Aws
459