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/sms/SMS_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/sms/model/ConnectorStatus.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/sms/model/VmManagerType.h>
12 #include <aws/core/utils/DateTime.h>
13 #include <aws/sms/model/ConnectorCapability.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23   class JsonView;
24 } // namespace Json
25 } // namespace Utils
26 namespace SMS
27 {
28 namespace Model
29 {
30 
31   /**
32    * <p>Represents a connector.</p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/Connector">AWS API
34    * Reference</a></p>
35    */
36   class AWS_SMS_API Connector
37   {
38   public:
39     Connector();
40     Connector(Aws::Utils::Json::JsonView jsonValue);
41     Connector& operator=(Aws::Utils::Json::JsonView jsonValue);
42     Aws::Utils::Json::JsonValue Jsonize() const;
43 
44 
45     /**
46      * <p>The ID of the connector.</p>
47      */
GetConnectorId()48     inline const Aws::String& GetConnectorId() const{ return m_connectorId; }
49 
50     /**
51      * <p>The ID of the connector.</p>
52      */
ConnectorIdHasBeenSet()53     inline bool ConnectorIdHasBeenSet() const { return m_connectorIdHasBeenSet; }
54 
55     /**
56      * <p>The ID of the connector.</p>
57      */
SetConnectorId(const Aws::String & value)58     inline void SetConnectorId(const Aws::String& value) { m_connectorIdHasBeenSet = true; m_connectorId = value; }
59 
60     /**
61      * <p>The ID of the connector.</p>
62      */
SetConnectorId(Aws::String && value)63     inline void SetConnectorId(Aws::String&& value) { m_connectorIdHasBeenSet = true; m_connectorId = std::move(value); }
64 
65     /**
66      * <p>The ID of the connector.</p>
67      */
SetConnectorId(const char * value)68     inline void SetConnectorId(const char* value) { m_connectorIdHasBeenSet = true; m_connectorId.assign(value); }
69 
70     /**
71      * <p>The ID of the connector.</p>
72      */
WithConnectorId(const Aws::String & value)73     inline Connector& WithConnectorId(const Aws::String& value) { SetConnectorId(value); return *this;}
74 
75     /**
76      * <p>The ID of the connector.</p>
77      */
WithConnectorId(Aws::String && value)78     inline Connector& WithConnectorId(Aws::String&& value) { SetConnectorId(std::move(value)); return *this;}
79 
80     /**
81      * <p>The ID of the connector.</p>
82      */
WithConnectorId(const char * value)83     inline Connector& WithConnectorId(const char* value) { SetConnectorId(value); return *this;}
84 
85 
86     /**
87      * <p>The connector version.</p>
88      */
GetVersion()89     inline const Aws::String& GetVersion() const{ return m_version; }
90 
91     /**
92      * <p>The connector version.</p>
93      */
VersionHasBeenSet()94     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
95 
96     /**
97      * <p>The connector version.</p>
98      */
SetVersion(const Aws::String & value)99     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
100 
101     /**
102      * <p>The connector version.</p>
103      */
SetVersion(Aws::String && value)104     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
105 
106     /**
107      * <p>The connector version.</p>
108      */
SetVersion(const char * value)109     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
110 
111     /**
112      * <p>The connector version.</p>
113      */
WithVersion(const Aws::String & value)114     inline Connector& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
115 
116     /**
117      * <p>The connector version.</p>
118      */
WithVersion(Aws::String && value)119     inline Connector& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
120 
121     /**
122      * <p>The connector version.</p>
123      */
WithVersion(const char * value)124     inline Connector& WithVersion(const char* value) { SetVersion(value); return *this;}
125 
126 
127     /**
128      * <p>The status of the connector.</p>
129      */
GetStatus()130     inline const ConnectorStatus& GetStatus() const{ return m_status; }
131 
132     /**
133      * <p>The status of the connector.</p>
134      */
StatusHasBeenSet()135     inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
136 
137     /**
138      * <p>The status of the connector.</p>
139      */
SetStatus(const ConnectorStatus & value)140     inline void SetStatus(const ConnectorStatus& value) { m_statusHasBeenSet = true; m_status = value; }
141 
142     /**
143      * <p>The status of the connector.</p>
144      */
SetStatus(ConnectorStatus && value)145     inline void SetStatus(ConnectorStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); }
146 
147     /**
148      * <p>The status of the connector.</p>
149      */
WithStatus(const ConnectorStatus & value)150     inline Connector& WithStatus(const ConnectorStatus& value) { SetStatus(value); return *this;}
151 
152     /**
153      * <p>The status of the connector.</p>
154      */
WithStatus(ConnectorStatus && value)155     inline Connector& WithStatus(ConnectorStatus&& value) { SetStatus(std::move(value)); return *this;}
156 
157 
158     /**
159      * <p>The capabilities of the connector.</p>
160      */
GetCapabilityList()161     inline const Aws::Vector<ConnectorCapability>& GetCapabilityList() const{ return m_capabilityList; }
162 
163     /**
164      * <p>The capabilities of the connector.</p>
165      */
CapabilityListHasBeenSet()166     inline bool CapabilityListHasBeenSet() const { return m_capabilityListHasBeenSet; }
167 
168     /**
169      * <p>The capabilities of the connector.</p>
170      */
SetCapabilityList(const Aws::Vector<ConnectorCapability> & value)171     inline void SetCapabilityList(const Aws::Vector<ConnectorCapability>& value) { m_capabilityListHasBeenSet = true; m_capabilityList = value; }
172 
173     /**
174      * <p>The capabilities of the connector.</p>
175      */
SetCapabilityList(Aws::Vector<ConnectorCapability> && value)176     inline void SetCapabilityList(Aws::Vector<ConnectorCapability>&& value) { m_capabilityListHasBeenSet = true; m_capabilityList = std::move(value); }
177 
178     /**
179      * <p>The capabilities of the connector.</p>
180      */
WithCapabilityList(const Aws::Vector<ConnectorCapability> & value)181     inline Connector& WithCapabilityList(const Aws::Vector<ConnectorCapability>& value) { SetCapabilityList(value); return *this;}
182 
183     /**
184      * <p>The capabilities of the connector.</p>
185      */
WithCapabilityList(Aws::Vector<ConnectorCapability> && value)186     inline Connector& WithCapabilityList(Aws::Vector<ConnectorCapability>&& value) { SetCapabilityList(std::move(value)); return *this;}
187 
188     /**
189      * <p>The capabilities of the connector.</p>
190      */
AddCapabilityList(const ConnectorCapability & value)191     inline Connector& AddCapabilityList(const ConnectorCapability& value) { m_capabilityListHasBeenSet = true; m_capabilityList.push_back(value); return *this; }
192 
193     /**
194      * <p>The capabilities of the connector.</p>
195      */
AddCapabilityList(ConnectorCapability && value)196     inline Connector& AddCapabilityList(ConnectorCapability&& value) { m_capabilityListHasBeenSet = true; m_capabilityList.push_back(std::move(value)); return *this; }
197 
198 
199     /**
200      * <p>The name of the VM manager.</p>
201      */
GetVmManagerName()202     inline const Aws::String& GetVmManagerName() const{ return m_vmManagerName; }
203 
204     /**
205      * <p>The name of the VM manager.</p>
206      */
VmManagerNameHasBeenSet()207     inline bool VmManagerNameHasBeenSet() const { return m_vmManagerNameHasBeenSet; }
208 
209     /**
210      * <p>The name of the VM manager.</p>
211      */
SetVmManagerName(const Aws::String & value)212     inline void SetVmManagerName(const Aws::String& value) { m_vmManagerNameHasBeenSet = true; m_vmManagerName = value; }
213 
214     /**
215      * <p>The name of the VM manager.</p>
216      */
SetVmManagerName(Aws::String && value)217     inline void SetVmManagerName(Aws::String&& value) { m_vmManagerNameHasBeenSet = true; m_vmManagerName = std::move(value); }
218 
219     /**
220      * <p>The name of the VM manager.</p>
221      */
SetVmManagerName(const char * value)222     inline void SetVmManagerName(const char* value) { m_vmManagerNameHasBeenSet = true; m_vmManagerName.assign(value); }
223 
224     /**
225      * <p>The name of the VM manager.</p>
226      */
WithVmManagerName(const Aws::String & value)227     inline Connector& WithVmManagerName(const Aws::String& value) { SetVmManagerName(value); return *this;}
228 
229     /**
230      * <p>The name of the VM manager.</p>
231      */
WithVmManagerName(Aws::String && value)232     inline Connector& WithVmManagerName(Aws::String&& value) { SetVmManagerName(std::move(value)); return *this;}
233 
234     /**
235      * <p>The name of the VM manager.</p>
236      */
WithVmManagerName(const char * value)237     inline Connector& WithVmManagerName(const char* value) { SetVmManagerName(value); return *this;}
238 
239 
240     /**
241      * <p>The VM management product.</p>
242      */
GetVmManagerType()243     inline const VmManagerType& GetVmManagerType() const{ return m_vmManagerType; }
244 
245     /**
246      * <p>The VM management product.</p>
247      */
VmManagerTypeHasBeenSet()248     inline bool VmManagerTypeHasBeenSet() const { return m_vmManagerTypeHasBeenSet; }
249 
250     /**
251      * <p>The VM management product.</p>
252      */
SetVmManagerType(const VmManagerType & value)253     inline void SetVmManagerType(const VmManagerType& value) { m_vmManagerTypeHasBeenSet = true; m_vmManagerType = value; }
254 
255     /**
256      * <p>The VM management product.</p>
257      */
SetVmManagerType(VmManagerType && value)258     inline void SetVmManagerType(VmManagerType&& value) { m_vmManagerTypeHasBeenSet = true; m_vmManagerType = std::move(value); }
259 
260     /**
261      * <p>The VM management product.</p>
262      */
WithVmManagerType(const VmManagerType & value)263     inline Connector& WithVmManagerType(const VmManagerType& value) { SetVmManagerType(value); return *this;}
264 
265     /**
266      * <p>The VM management product.</p>
267      */
WithVmManagerType(VmManagerType && value)268     inline Connector& WithVmManagerType(VmManagerType&& value) { SetVmManagerType(std::move(value)); return *this;}
269 
270 
271     /**
272      * <p>The ID of the VM manager.</p>
273      */
GetVmManagerId()274     inline const Aws::String& GetVmManagerId() const{ return m_vmManagerId; }
275 
276     /**
277      * <p>The ID of the VM manager.</p>
278      */
VmManagerIdHasBeenSet()279     inline bool VmManagerIdHasBeenSet() const { return m_vmManagerIdHasBeenSet; }
280 
281     /**
282      * <p>The ID of the VM manager.</p>
283      */
SetVmManagerId(const Aws::String & value)284     inline void SetVmManagerId(const Aws::String& value) { m_vmManagerIdHasBeenSet = true; m_vmManagerId = value; }
285 
286     /**
287      * <p>The ID of the VM manager.</p>
288      */
SetVmManagerId(Aws::String && value)289     inline void SetVmManagerId(Aws::String&& value) { m_vmManagerIdHasBeenSet = true; m_vmManagerId = std::move(value); }
290 
291     /**
292      * <p>The ID of the VM manager.</p>
293      */
SetVmManagerId(const char * value)294     inline void SetVmManagerId(const char* value) { m_vmManagerIdHasBeenSet = true; m_vmManagerId.assign(value); }
295 
296     /**
297      * <p>The ID of the VM manager.</p>
298      */
WithVmManagerId(const Aws::String & value)299     inline Connector& WithVmManagerId(const Aws::String& value) { SetVmManagerId(value); return *this;}
300 
301     /**
302      * <p>The ID of the VM manager.</p>
303      */
WithVmManagerId(Aws::String && value)304     inline Connector& WithVmManagerId(Aws::String&& value) { SetVmManagerId(std::move(value)); return *this;}
305 
306     /**
307      * <p>The ID of the VM manager.</p>
308      */
WithVmManagerId(const char * value)309     inline Connector& WithVmManagerId(const char* value) { SetVmManagerId(value); return *this;}
310 
311 
312     /**
313      * <p>The IP address of the connector.</p>
314      */
GetIpAddress()315     inline const Aws::String& GetIpAddress() const{ return m_ipAddress; }
316 
317     /**
318      * <p>The IP address of the connector.</p>
319      */
IpAddressHasBeenSet()320     inline bool IpAddressHasBeenSet() const { return m_ipAddressHasBeenSet; }
321 
322     /**
323      * <p>The IP address of the connector.</p>
324      */
SetIpAddress(const Aws::String & value)325     inline void SetIpAddress(const Aws::String& value) { m_ipAddressHasBeenSet = true; m_ipAddress = value; }
326 
327     /**
328      * <p>The IP address of the connector.</p>
329      */
SetIpAddress(Aws::String && value)330     inline void SetIpAddress(Aws::String&& value) { m_ipAddressHasBeenSet = true; m_ipAddress = std::move(value); }
331 
332     /**
333      * <p>The IP address of the connector.</p>
334      */
SetIpAddress(const char * value)335     inline void SetIpAddress(const char* value) { m_ipAddressHasBeenSet = true; m_ipAddress.assign(value); }
336 
337     /**
338      * <p>The IP address of the connector.</p>
339      */
WithIpAddress(const Aws::String & value)340     inline Connector& WithIpAddress(const Aws::String& value) { SetIpAddress(value); return *this;}
341 
342     /**
343      * <p>The IP address of the connector.</p>
344      */
WithIpAddress(Aws::String && value)345     inline Connector& WithIpAddress(Aws::String&& value) { SetIpAddress(std::move(value)); return *this;}
346 
347     /**
348      * <p>The IP address of the connector.</p>
349      */
WithIpAddress(const char * value)350     inline Connector& WithIpAddress(const char* value) { SetIpAddress(value); return *this;}
351 
352 
353     /**
354      * <p>The MAC address of the connector.</p>
355      */
GetMacAddress()356     inline const Aws::String& GetMacAddress() const{ return m_macAddress; }
357 
358     /**
359      * <p>The MAC address of the connector.</p>
360      */
MacAddressHasBeenSet()361     inline bool MacAddressHasBeenSet() const { return m_macAddressHasBeenSet; }
362 
363     /**
364      * <p>The MAC address of the connector.</p>
365      */
SetMacAddress(const Aws::String & value)366     inline void SetMacAddress(const Aws::String& value) { m_macAddressHasBeenSet = true; m_macAddress = value; }
367 
368     /**
369      * <p>The MAC address of the connector.</p>
370      */
SetMacAddress(Aws::String && value)371     inline void SetMacAddress(Aws::String&& value) { m_macAddressHasBeenSet = true; m_macAddress = std::move(value); }
372 
373     /**
374      * <p>The MAC address of the connector.</p>
375      */
SetMacAddress(const char * value)376     inline void SetMacAddress(const char* value) { m_macAddressHasBeenSet = true; m_macAddress.assign(value); }
377 
378     /**
379      * <p>The MAC address of the connector.</p>
380      */
WithMacAddress(const Aws::String & value)381     inline Connector& WithMacAddress(const Aws::String& value) { SetMacAddress(value); return *this;}
382 
383     /**
384      * <p>The MAC address of the connector.</p>
385      */
WithMacAddress(Aws::String && value)386     inline Connector& WithMacAddress(Aws::String&& value) { SetMacAddress(std::move(value)); return *this;}
387 
388     /**
389      * <p>The MAC address of the connector.</p>
390      */
WithMacAddress(const char * value)391     inline Connector& WithMacAddress(const char* value) { SetMacAddress(value); return *this;}
392 
393 
394     /**
395      * <p>The time the connector was associated.</p>
396      */
GetAssociatedOn()397     inline const Aws::Utils::DateTime& GetAssociatedOn() const{ return m_associatedOn; }
398 
399     /**
400      * <p>The time the connector was associated.</p>
401      */
AssociatedOnHasBeenSet()402     inline bool AssociatedOnHasBeenSet() const { return m_associatedOnHasBeenSet; }
403 
404     /**
405      * <p>The time the connector was associated.</p>
406      */
SetAssociatedOn(const Aws::Utils::DateTime & value)407     inline void SetAssociatedOn(const Aws::Utils::DateTime& value) { m_associatedOnHasBeenSet = true; m_associatedOn = value; }
408 
409     /**
410      * <p>The time the connector was associated.</p>
411      */
SetAssociatedOn(Aws::Utils::DateTime && value)412     inline void SetAssociatedOn(Aws::Utils::DateTime&& value) { m_associatedOnHasBeenSet = true; m_associatedOn = std::move(value); }
413 
414     /**
415      * <p>The time the connector was associated.</p>
416      */
WithAssociatedOn(const Aws::Utils::DateTime & value)417     inline Connector& WithAssociatedOn(const Aws::Utils::DateTime& value) { SetAssociatedOn(value); return *this;}
418 
419     /**
420      * <p>The time the connector was associated.</p>
421      */
WithAssociatedOn(Aws::Utils::DateTime && value)422     inline Connector& WithAssociatedOn(Aws::Utils::DateTime&& value) { SetAssociatedOn(std::move(value)); return *this;}
423 
424   private:
425 
426     Aws::String m_connectorId;
427     bool m_connectorIdHasBeenSet;
428 
429     Aws::String m_version;
430     bool m_versionHasBeenSet;
431 
432     ConnectorStatus m_status;
433     bool m_statusHasBeenSet;
434 
435     Aws::Vector<ConnectorCapability> m_capabilityList;
436     bool m_capabilityListHasBeenSet;
437 
438     Aws::String m_vmManagerName;
439     bool m_vmManagerNameHasBeenSet;
440 
441     VmManagerType m_vmManagerType;
442     bool m_vmManagerTypeHasBeenSet;
443 
444     Aws::String m_vmManagerId;
445     bool m_vmManagerIdHasBeenSet;
446 
447     Aws::String m_ipAddress;
448     bool m_ipAddressHasBeenSet;
449 
450     Aws::String m_macAddress;
451     bool m_macAddressHasBeenSet;
452 
453     Aws::Utils::DateTime m_associatedOn;
454     bool m_associatedOnHasBeenSet;
455   };
456 
457 } // namespace Model
458 } // namespace SMS
459 } // namespace Aws
460