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/panorama/Panorama_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/panorama/model/DeviceType.h>
10 #include <aws/panorama/model/DeviceConnectionStatus.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/panorama/model/DeviceStatus.h>
13 #include <aws/core/utils/memory/stl/AWSMap.h>
14 #include <aws/panorama/model/NetworkPayload.h>
15 #include <aws/panorama/model/NetworkStatus.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 Panorama
31 {
32 namespace Model
33 {
34   class AWS_PANORAMA_API DescribeDeviceResult
35   {
36   public:
37     DescribeDeviceResult();
38     DescribeDeviceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39     DescribeDeviceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40 
41 
42     /**
43      * <p>The device's ID.</p>
44      */
GetDeviceId()45     inline const Aws::String& GetDeviceId() const{ return m_deviceId; }
46 
47     /**
48      * <p>The device's ID.</p>
49      */
SetDeviceId(const Aws::String & value)50     inline void SetDeviceId(const Aws::String& value) { m_deviceId = value; }
51 
52     /**
53      * <p>The device's ID.</p>
54      */
SetDeviceId(Aws::String && value)55     inline void SetDeviceId(Aws::String&& value) { m_deviceId = std::move(value); }
56 
57     /**
58      * <p>The device's ID.</p>
59      */
SetDeviceId(const char * value)60     inline void SetDeviceId(const char* value) { m_deviceId.assign(value); }
61 
62     /**
63      * <p>The device's ID.</p>
64      */
WithDeviceId(const Aws::String & value)65     inline DescribeDeviceResult& WithDeviceId(const Aws::String& value) { SetDeviceId(value); return *this;}
66 
67     /**
68      * <p>The device's ID.</p>
69      */
WithDeviceId(Aws::String && value)70     inline DescribeDeviceResult& WithDeviceId(Aws::String&& value) { SetDeviceId(std::move(value)); return *this;}
71 
72     /**
73      * <p>The device's ID.</p>
74      */
WithDeviceId(const char * value)75     inline DescribeDeviceResult& WithDeviceId(const char* value) { SetDeviceId(value); return *this;}
76 
77 
78     /**
79      * <p>The device's name.</p>
80      */
GetName()81     inline const Aws::String& GetName() const{ return m_name; }
82 
83     /**
84      * <p>The device's name.</p>
85      */
SetName(const Aws::String & value)86     inline void SetName(const Aws::String& value) { m_name = value; }
87 
88     /**
89      * <p>The device's name.</p>
90      */
SetName(Aws::String && value)91     inline void SetName(Aws::String&& value) { m_name = std::move(value); }
92 
93     /**
94      * <p>The device's name.</p>
95      */
SetName(const char * value)96     inline void SetName(const char* value) { m_name.assign(value); }
97 
98     /**
99      * <p>The device's name.</p>
100      */
WithName(const Aws::String & value)101     inline DescribeDeviceResult& WithName(const Aws::String& value) { SetName(value); return *this;}
102 
103     /**
104      * <p>The device's name.</p>
105      */
WithName(Aws::String && value)106     inline DescribeDeviceResult& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
107 
108     /**
109      * <p>The device's name.</p>
110      */
WithName(const char * value)111     inline DescribeDeviceResult& WithName(const char* value) { SetName(value); return *this;}
112 
113 
114     /**
115      * <p>The device's ARN.</p>
116      */
GetArn()117     inline const Aws::String& GetArn() const{ return m_arn; }
118 
119     /**
120      * <p>The device's ARN.</p>
121      */
SetArn(const Aws::String & value)122     inline void SetArn(const Aws::String& value) { m_arn = value; }
123 
124     /**
125      * <p>The device's ARN.</p>
126      */
SetArn(Aws::String && value)127     inline void SetArn(Aws::String&& value) { m_arn = std::move(value); }
128 
129     /**
130      * <p>The device's ARN.</p>
131      */
SetArn(const char * value)132     inline void SetArn(const char* value) { m_arn.assign(value); }
133 
134     /**
135      * <p>The device's ARN.</p>
136      */
WithArn(const Aws::String & value)137     inline DescribeDeviceResult& WithArn(const Aws::String& value) { SetArn(value); return *this;}
138 
139     /**
140      * <p>The device's ARN.</p>
141      */
WithArn(Aws::String && value)142     inline DescribeDeviceResult& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
143 
144     /**
145      * <p>The device's ARN.</p>
146      */
WithArn(const char * value)147     inline DescribeDeviceResult& WithArn(const char* value) { SetArn(value); return *this;}
148 
149 
150     /**
151      * <p>The device's description.</p>
152      */
GetDescription()153     inline const Aws::String& GetDescription() const{ return m_description; }
154 
155     /**
156      * <p>The device's description.</p>
157      */
SetDescription(const Aws::String & value)158     inline void SetDescription(const Aws::String& value) { m_description = value; }
159 
160     /**
161      * <p>The device's description.</p>
162      */
SetDescription(Aws::String && value)163     inline void SetDescription(Aws::String&& value) { m_description = std::move(value); }
164 
165     /**
166      * <p>The device's description.</p>
167      */
SetDescription(const char * value)168     inline void SetDescription(const char* value) { m_description.assign(value); }
169 
170     /**
171      * <p>The device's description.</p>
172      */
WithDescription(const Aws::String & value)173     inline DescribeDeviceResult& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
174 
175     /**
176      * <p>The device's description.</p>
177      */
WithDescription(Aws::String && value)178     inline DescribeDeviceResult& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
179 
180     /**
181      * <p>The device's description.</p>
182      */
WithDescription(const char * value)183     inline DescribeDeviceResult& WithDescription(const char* value) { SetDescription(value); return *this;}
184 
185 
186     /**
187      * <p>The device's type.</p>
188      */
GetType()189     inline const DeviceType& GetType() const{ return m_type; }
190 
191     /**
192      * <p>The device's type.</p>
193      */
SetType(const DeviceType & value)194     inline void SetType(const DeviceType& value) { m_type = value; }
195 
196     /**
197      * <p>The device's type.</p>
198      */
SetType(DeviceType && value)199     inline void SetType(DeviceType&& value) { m_type = std::move(value); }
200 
201     /**
202      * <p>The device's type.</p>
203      */
WithType(const DeviceType & value)204     inline DescribeDeviceResult& WithType(const DeviceType& value) { SetType(value); return *this;}
205 
206     /**
207      * <p>The device's type.</p>
208      */
WithType(DeviceType && value)209     inline DescribeDeviceResult& WithType(DeviceType&& value) { SetType(std::move(value)); return *this;}
210 
211 
212     /**
213      * <p>The device's connection status.</p>
214      */
GetDeviceConnectionStatus()215     inline const DeviceConnectionStatus& GetDeviceConnectionStatus() const{ return m_deviceConnectionStatus; }
216 
217     /**
218      * <p>The device's connection status.</p>
219      */
SetDeviceConnectionStatus(const DeviceConnectionStatus & value)220     inline void SetDeviceConnectionStatus(const DeviceConnectionStatus& value) { m_deviceConnectionStatus = value; }
221 
222     /**
223      * <p>The device's connection status.</p>
224      */
SetDeviceConnectionStatus(DeviceConnectionStatus && value)225     inline void SetDeviceConnectionStatus(DeviceConnectionStatus&& value) { m_deviceConnectionStatus = std::move(value); }
226 
227     /**
228      * <p>The device's connection status.</p>
229      */
WithDeviceConnectionStatus(const DeviceConnectionStatus & value)230     inline DescribeDeviceResult& WithDeviceConnectionStatus(const DeviceConnectionStatus& value) { SetDeviceConnectionStatus(value); return *this;}
231 
232     /**
233      * <p>The device's connection status.</p>
234      */
WithDeviceConnectionStatus(DeviceConnectionStatus && value)235     inline DescribeDeviceResult& WithDeviceConnectionStatus(DeviceConnectionStatus&& value) { SetDeviceConnectionStatus(std::move(value)); return *this;}
236 
237 
238     /**
239      * <p>When the device was created.</p>
240      */
GetCreatedTime()241     inline const Aws::Utils::DateTime& GetCreatedTime() const{ return m_createdTime; }
242 
243     /**
244      * <p>When the device was created.</p>
245      */
SetCreatedTime(const Aws::Utils::DateTime & value)246     inline void SetCreatedTime(const Aws::Utils::DateTime& value) { m_createdTime = value; }
247 
248     /**
249      * <p>When the device was created.</p>
250      */
SetCreatedTime(Aws::Utils::DateTime && value)251     inline void SetCreatedTime(Aws::Utils::DateTime&& value) { m_createdTime = std::move(value); }
252 
253     /**
254      * <p>When the device was created.</p>
255      */
WithCreatedTime(const Aws::Utils::DateTime & value)256     inline DescribeDeviceResult& WithCreatedTime(const Aws::Utils::DateTime& value) { SetCreatedTime(value); return *this;}
257 
258     /**
259      * <p>When the device was created.</p>
260      */
WithCreatedTime(Aws::Utils::DateTime && value)261     inline DescribeDeviceResult& WithCreatedTime(Aws::Utils::DateTime&& value) { SetCreatedTime(std::move(value)); return *this;}
262 
263 
264     /**
265      * <p>The device's provisioning status.</p>
266      */
GetProvisioningStatus()267     inline const DeviceStatus& GetProvisioningStatus() const{ return m_provisioningStatus; }
268 
269     /**
270      * <p>The device's provisioning status.</p>
271      */
SetProvisioningStatus(const DeviceStatus & value)272     inline void SetProvisioningStatus(const DeviceStatus& value) { m_provisioningStatus = value; }
273 
274     /**
275      * <p>The device's provisioning status.</p>
276      */
SetProvisioningStatus(DeviceStatus && value)277     inline void SetProvisioningStatus(DeviceStatus&& value) { m_provisioningStatus = std::move(value); }
278 
279     /**
280      * <p>The device's provisioning status.</p>
281      */
WithProvisioningStatus(const DeviceStatus & value)282     inline DescribeDeviceResult& WithProvisioningStatus(const DeviceStatus& value) { SetProvisioningStatus(value); return *this;}
283 
284     /**
285      * <p>The device's provisioning status.</p>
286      */
WithProvisioningStatus(DeviceStatus && value)287     inline DescribeDeviceResult& WithProvisioningStatus(DeviceStatus&& value) { SetProvisioningStatus(std::move(value)); return *this;}
288 
289 
290     /**
291      * <p>The latest software version available for the device.</p>
292      */
GetLatestSoftware()293     inline const Aws::String& GetLatestSoftware() const{ return m_latestSoftware; }
294 
295     /**
296      * <p>The latest software version available for the device.</p>
297      */
SetLatestSoftware(const Aws::String & value)298     inline void SetLatestSoftware(const Aws::String& value) { m_latestSoftware = value; }
299 
300     /**
301      * <p>The latest software version available for the device.</p>
302      */
SetLatestSoftware(Aws::String && value)303     inline void SetLatestSoftware(Aws::String&& value) { m_latestSoftware = std::move(value); }
304 
305     /**
306      * <p>The latest software version available for the device.</p>
307      */
SetLatestSoftware(const char * value)308     inline void SetLatestSoftware(const char* value) { m_latestSoftware.assign(value); }
309 
310     /**
311      * <p>The latest software version available for the device.</p>
312      */
WithLatestSoftware(const Aws::String & value)313     inline DescribeDeviceResult& WithLatestSoftware(const Aws::String& value) { SetLatestSoftware(value); return *this;}
314 
315     /**
316      * <p>The latest software version available for the device.</p>
317      */
WithLatestSoftware(Aws::String && value)318     inline DescribeDeviceResult& WithLatestSoftware(Aws::String&& value) { SetLatestSoftware(std::move(value)); return *this;}
319 
320     /**
321      * <p>The latest software version available for the device.</p>
322      */
WithLatestSoftware(const char * value)323     inline DescribeDeviceResult& WithLatestSoftware(const char* value) { SetLatestSoftware(value); return *this;}
324 
325 
326     /**
327      * <p>The device's current software version.</p>
328      */
GetCurrentSoftware()329     inline const Aws::String& GetCurrentSoftware() const{ return m_currentSoftware; }
330 
331     /**
332      * <p>The device's current software version.</p>
333      */
SetCurrentSoftware(const Aws::String & value)334     inline void SetCurrentSoftware(const Aws::String& value) { m_currentSoftware = value; }
335 
336     /**
337      * <p>The device's current software version.</p>
338      */
SetCurrentSoftware(Aws::String && value)339     inline void SetCurrentSoftware(Aws::String&& value) { m_currentSoftware = std::move(value); }
340 
341     /**
342      * <p>The device's current software version.</p>
343      */
SetCurrentSoftware(const char * value)344     inline void SetCurrentSoftware(const char* value) { m_currentSoftware.assign(value); }
345 
346     /**
347      * <p>The device's current software version.</p>
348      */
WithCurrentSoftware(const Aws::String & value)349     inline DescribeDeviceResult& WithCurrentSoftware(const Aws::String& value) { SetCurrentSoftware(value); return *this;}
350 
351     /**
352      * <p>The device's current software version.</p>
353      */
WithCurrentSoftware(Aws::String && value)354     inline DescribeDeviceResult& WithCurrentSoftware(Aws::String&& value) { SetCurrentSoftware(std::move(value)); return *this;}
355 
356     /**
357      * <p>The device's current software version.</p>
358      */
WithCurrentSoftware(const char * value)359     inline DescribeDeviceResult& WithCurrentSoftware(const char* value) { SetCurrentSoftware(value); return *this;}
360 
361 
362     /**
363      * <p>The device's serial number.</p>
364      */
GetSerialNumber()365     inline const Aws::String& GetSerialNumber() const{ return m_serialNumber; }
366 
367     /**
368      * <p>The device's serial number.</p>
369      */
SetSerialNumber(const Aws::String & value)370     inline void SetSerialNumber(const Aws::String& value) { m_serialNumber = value; }
371 
372     /**
373      * <p>The device's serial number.</p>
374      */
SetSerialNumber(Aws::String && value)375     inline void SetSerialNumber(Aws::String&& value) { m_serialNumber = std::move(value); }
376 
377     /**
378      * <p>The device's serial number.</p>
379      */
SetSerialNumber(const char * value)380     inline void SetSerialNumber(const char* value) { m_serialNumber.assign(value); }
381 
382     /**
383      * <p>The device's serial number.</p>
384      */
WithSerialNumber(const Aws::String & value)385     inline DescribeDeviceResult& WithSerialNumber(const Aws::String& value) { SetSerialNumber(value); return *this;}
386 
387     /**
388      * <p>The device's serial number.</p>
389      */
WithSerialNumber(Aws::String && value)390     inline DescribeDeviceResult& WithSerialNumber(Aws::String&& value) { SetSerialNumber(std::move(value)); return *this;}
391 
392     /**
393      * <p>The device's serial number.</p>
394      */
WithSerialNumber(const char * value)395     inline DescribeDeviceResult& WithSerialNumber(const char* value) { SetSerialNumber(value); return *this;}
396 
397 
398     /**
399      * <p>The device's tags.</p>
400      */
GetTags()401     inline const Aws::Map<Aws::String, Aws::String>& GetTags() const{ return m_tags; }
402 
403     /**
404      * <p>The device's tags.</p>
405      */
SetTags(const Aws::Map<Aws::String,Aws::String> & value)406     inline void SetTags(const Aws::Map<Aws::String, Aws::String>& value) { m_tags = value; }
407 
408     /**
409      * <p>The device's tags.</p>
410      */
SetTags(Aws::Map<Aws::String,Aws::String> && value)411     inline void SetTags(Aws::Map<Aws::String, Aws::String>&& value) { m_tags = std::move(value); }
412 
413     /**
414      * <p>The device's tags.</p>
415      */
WithTags(const Aws::Map<Aws::String,Aws::String> & value)416     inline DescribeDeviceResult& WithTags(const Aws::Map<Aws::String, Aws::String>& value) { SetTags(value); return *this;}
417 
418     /**
419      * <p>The device's tags.</p>
420      */
WithTags(Aws::Map<Aws::String,Aws::String> && value)421     inline DescribeDeviceResult& WithTags(Aws::Map<Aws::String, Aws::String>&& value) { SetTags(std::move(value)); return *this;}
422 
423     /**
424      * <p>The device's tags.</p>
425      */
AddTags(const Aws::String & key,const Aws::String & value)426     inline DescribeDeviceResult& AddTags(const Aws::String& key, const Aws::String& value) { m_tags.emplace(key, value); return *this; }
427 
428     /**
429      * <p>The device's tags.</p>
430      */
AddTags(Aws::String && key,const Aws::String & value)431     inline DescribeDeviceResult& AddTags(Aws::String&& key, const Aws::String& value) { m_tags.emplace(std::move(key), value); return *this; }
432 
433     /**
434      * <p>The device's tags.</p>
435      */
AddTags(const Aws::String & key,Aws::String && value)436     inline DescribeDeviceResult& AddTags(const Aws::String& key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
437 
438     /**
439      * <p>The device's tags.</p>
440      */
AddTags(Aws::String && key,Aws::String && value)441     inline DescribeDeviceResult& AddTags(Aws::String&& key, Aws::String&& value) { m_tags.emplace(std::move(key), std::move(value)); return *this; }
442 
443     /**
444      * <p>The device's tags.</p>
445      */
AddTags(const char * key,Aws::String && value)446     inline DescribeDeviceResult& AddTags(const char* key, Aws::String&& value) { m_tags.emplace(key, std::move(value)); return *this; }
447 
448     /**
449      * <p>The device's tags.</p>
450      */
AddTags(Aws::String && key,const char * value)451     inline DescribeDeviceResult& AddTags(Aws::String&& key, const char* value) { m_tags.emplace(std::move(key), value); return *this; }
452 
453     /**
454      * <p>The device's tags.</p>
455      */
AddTags(const char * key,const char * value)456     inline DescribeDeviceResult& AddTags(const char* key, const char* value) { m_tags.emplace(key, value); return *this; }
457 
458 
459     /**
460      * <p>The device's networking configuration.</p>
461      */
GetNetworkingConfiguration()462     inline const NetworkPayload& GetNetworkingConfiguration() const{ return m_networkingConfiguration; }
463 
464     /**
465      * <p>The device's networking configuration.</p>
466      */
SetNetworkingConfiguration(const NetworkPayload & value)467     inline void SetNetworkingConfiguration(const NetworkPayload& value) { m_networkingConfiguration = value; }
468 
469     /**
470      * <p>The device's networking configuration.</p>
471      */
SetNetworkingConfiguration(NetworkPayload && value)472     inline void SetNetworkingConfiguration(NetworkPayload&& value) { m_networkingConfiguration = std::move(value); }
473 
474     /**
475      * <p>The device's networking configuration.</p>
476      */
WithNetworkingConfiguration(const NetworkPayload & value)477     inline DescribeDeviceResult& WithNetworkingConfiguration(const NetworkPayload& value) { SetNetworkingConfiguration(value); return *this;}
478 
479     /**
480      * <p>The device's networking configuration.</p>
481      */
WithNetworkingConfiguration(NetworkPayload && value)482     inline DescribeDeviceResult& WithNetworkingConfiguration(NetworkPayload&& value) { SetNetworkingConfiguration(std::move(value)); return *this;}
483 
484 
485     /**
486      * <p>The device's networking status.</p>
487      */
GetCurrentNetworkingStatus()488     inline const NetworkStatus& GetCurrentNetworkingStatus() const{ return m_currentNetworkingStatus; }
489 
490     /**
491      * <p>The device's networking status.</p>
492      */
SetCurrentNetworkingStatus(const NetworkStatus & value)493     inline void SetCurrentNetworkingStatus(const NetworkStatus& value) { m_currentNetworkingStatus = value; }
494 
495     /**
496      * <p>The device's networking status.</p>
497      */
SetCurrentNetworkingStatus(NetworkStatus && value)498     inline void SetCurrentNetworkingStatus(NetworkStatus&& value) { m_currentNetworkingStatus = std::move(value); }
499 
500     /**
501      * <p>The device's networking status.</p>
502      */
WithCurrentNetworkingStatus(const NetworkStatus & value)503     inline DescribeDeviceResult& WithCurrentNetworkingStatus(const NetworkStatus& value) { SetCurrentNetworkingStatus(value); return *this;}
504 
505     /**
506      * <p>The device's networking status.</p>
507      */
WithCurrentNetworkingStatus(NetworkStatus && value)508     inline DescribeDeviceResult& WithCurrentNetworkingStatus(NetworkStatus&& value) { SetCurrentNetworkingStatus(std::move(value)); return *this;}
509 
510 
511     /**
512      * <p>The device's lease expiration time.</p>
513      */
GetLeaseExpirationTime()514     inline const Aws::Utils::DateTime& GetLeaseExpirationTime() const{ return m_leaseExpirationTime; }
515 
516     /**
517      * <p>The device's lease expiration time.</p>
518      */
SetLeaseExpirationTime(const Aws::Utils::DateTime & value)519     inline void SetLeaseExpirationTime(const Aws::Utils::DateTime& value) { m_leaseExpirationTime = value; }
520 
521     /**
522      * <p>The device's lease expiration time.</p>
523      */
SetLeaseExpirationTime(Aws::Utils::DateTime && value)524     inline void SetLeaseExpirationTime(Aws::Utils::DateTime&& value) { m_leaseExpirationTime = std::move(value); }
525 
526     /**
527      * <p>The device's lease expiration time.</p>
528      */
WithLeaseExpirationTime(const Aws::Utils::DateTime & value)529     inline DescribeDeviceResult& WithLeaseExpirationTime(const Aws::Utils::DateTime& value) { SetLeaseExpirationTime(value); return *this;}
530 
531     /**
532      * <p>The device's lease expiration time.</p>
533      */
WithLeaseExpirationTime(Aws::Utils::DateTime && value)534     inline DescribeDeviceResult& WithLeaseExpirationTime(Aws::Utils::DateTime&& value) { SetLeaseExpirationTime(std::move(value)); return *this;}
535 
536   private:
537 
538     Aws::String m_deviceId;
539 
540     Aws::String m_name;
541 
542     Aws::String m_arn;
543 
544     Aws::String m_description;
545 
546     DeviceType m_type;
547 
548     DeviceConnectionStatus m_deviceConnectionStatus;
549 
550     Aws::Utils::DateTime m_createdTime;
551 
552     DeviceStatus m_provisioningStatus;
553 
554     Aws::String m_latestSoftware;
555 
556     Aws::String m_currentSoftware;
557 
558     Aws::String m_serialNumber;
559 
560     Aws::Map<Aws::String, Aws::String> m_tags;
561 
562     NetworkPayload m_networkingConfiguration;
563 
564     NetworkStatus m_currentNetworkingStatus;
565 
566     Aws::Utils::DateTime m_leaseExpirationTime;
567   };
568 
569 } // namespace Model
570 } // namespace Panorama
571 } // namespace Aws
572