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/alexaforbusiness/AlexaForBusiness_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/alexaforbusiness/model/NetworkSecurityType.h>
10 #include <aws/alexaforbusiness/model/NetworkEapMethod.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace AlexaForBusiness
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>The data associated with a network profile.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/alexaforbusiness-2017-11-09/NetworkProfileData">AWS
31    * API Reference</a></p>
32    */
33   class AWS_ALEXAFORBUSINESS_API NetworkProfileData
34   {
35   public:
36     NetworkProfileData();
37     NetworkProfileData(Aws::Utils::Json::JsonView jsonValue);
38     NetworkProfileData& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The ARN of the network profile associated with a device.</p>
44      */
GetNetworkProfileArn()45     inline const Aws::String& GetNetworkProfileArn() const{ return m_networkProfileArn; }
46 
47     /**
48      * <p>The ARN of the network profile associated with a device.</p>
49      */
NetworkProfileArnHasBeenSet()50     inline bool NetworkProfileArnHasBeenSet() const { return m_networkProfileArnHasBeenSet; }
51 
52     /**
53      * <p>The ARN of the network profile associated with a device.</p>
54      */
SetNetworkProfileArn(const Aws::String & value)55     inline void SetNetworkProfileArn(const Aws::String& value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn = value; }
56 
57     /**
58      * <p>The ARN of the network profile associated with a device.</p>
59      */
SetNetworkProfileArn(Aws::String && value)60     inline void SetNetworkProfileArn(Aws::String&& value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn = std::move(value); }
61 
62     /**
63      * <p>The ARN of the network profile associated with a device.</p>
64      */
SetNetworkProfileArn(const char * value)65     inline void SetNetworkProfileArn(const char* value) { m_networkProfileArnHasBeenSet = true; m_networkProfileArn.assign(value); }
66 
67     /**
68      * <p>The ARN of the network profile associated with a device.</p>
69      */
WithNetworkProfileArn(const Aws::String & value)70     inline NetworkProfileData& WithNetworkProfileArn(const Aws::String& value) { SetNetworkProfileArn(value); return *this;}
71 
72     /**
73      * <p>The ARN of the network profile associated with a device.</p>
74      */
WithNetworkProfileArn(Aws::String && value)75     inline NetworkProfileData& WithNetworkProfileArn(Aws::String&& value) { SetNetworkProfileArn(std::move(value)); return *this;}
76 
77     /**
78      * <p>The ARN of the network profile associated with a device.</p>
79      */
WithNetworkProfileArn(const char * value)80     inline NetworkProfileData& WithNetworkProfileArn(const char* value) { SetNetworkProfileArn(value); return *this;}
81 
82 
83     /**
84      * <p>The name of the network profile associated with a device.</p>
85      */
GetNetworkProfileName()86     inline const Aws::String& GetNetworkProfileName() const{ return m_networkProfileName; }
87 
88     /**
89      * <p>The name of the network profile associated with a device.</p>
90      */
NetworkProfileNameHasBeenSet()91     inline bool NetworkProfileNameHasBeenSet() const { return m_networkProfileNameHasBeenSet; }
92 
93     /**
94      * <p>The name of the network profile associated with a device.</p>
95      */
SetNetworkProfileName(const Aws::String & value)96     inline void SetNetworkProfileName(const Aws::String& value) { m_networkProfileNameHasBeenSet = true; m_networkProfileName = value; }
97 
98     /**
99      * <p>The name of the network profile associated with a device.</p>
100      */
SetNetworkProfileName(Aws::String && value)101     inline void SetNetworkProfileName(Aws::String&& value) { m_networkProfileNameHasBeenSet = true; m_networkProfileName = std::move(value); }
102 
103     /**
104      * <p>The name of the network profile associated with a device.</p>
105      */
SetNetworkProfileName(const char * value)106     inline void SetNetworkProfileName(const char* value) { m_networkProfileNameHasBeenSet = true; m_networkProfileName.assign(value); }
107 
108     /**
109      * <p>The name of the network profile associated with a device.</p>
110      */
WithNetworkProfileName(const Aws::String & value)111     inline NetworkProfileData& WithNetworkProfileName(const Aws::String& value) { SetNetworkProfileName(value); return *this;}
112 
113     /**
114      * <p>The name of the network profile associated with a device.</p>
115      */
WithNetworkProfileName(Aws::String && value)116     inline NetworkProfileData& WithNetworkProfileName(Aws::String&& value) { SetNetworkProfileName(std::move(value)); return *this;}
117 
118     /**
119      * <p>The name of the network profile associated with a device.</p>
120      */
WithNetworkProfileName(const char * value)121     inline NetworkProfileData& WithNetworkProfileName(const char* value) { SetNetworkProfileName(value); return *this;}
122 
123 
124     /**
125      * <p>Detailed information about a device's network profile.</p>
126      */
GetDescription()127     inline const Aws::String& GetDescription() const{ return m_description; }
128 
129     /**
130      * <p>Detailed information about a device's network profile.</p>
131      */
DescriptionHasBeenSet()132     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
133 
134     /**
135      * <p>Detailed information about a device's network profile.</p>
136      */
SetDescription(const Aws::String & value)137     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
138 
139     /**
140      * <p>Detailed information about a device's network profile.</p>
141      */
SetDescription(Aws::String && value)142     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
143 
144     /**
145      * <p>Detailed information about a device's network profile.</p>
146      */
SetDescription(const char * value)147     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
148 
149     /**
150      * <p>Detailed information about a device's network profile.</p>
151      */
WithDescription(const Aws::String & value)152     inline NetworkProfileData& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
153 
154     /**
155      * <p>Detailed information about a device's network profile.</p>
156      */
WithDescription(Aws::String && value)157     inline NetworkProfileData& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
158 
159     /**
160      * <p>Detailed information about a device's network profile.</p>
161      */
WithDescription(const char * value)162     inline NetworkProfileData& WithDescription(const char* value) { SetDescription(value); return *this;}
163 
164 
165     /**
166      * <p>The SSID of the Wi-Fi network.</p>
167      */
GetSsid()168     inline const Aws::String& GetSsid() const{ return m_ssid; }
169 
170     /**
171      * <p>The SSID of the Wi-Fi network.</p>
172      */
SsidHasBeenSet()173     inline bool SsidHasBeenSet() const { return m_ssidHasBeenSet; }
174 
175     /**
176      * <p>The SSID of the Wi-Fi network.</p>
177      */
SetSsid(const Aws::String & value)178     inline void SetSsid(const Aws::String& value) { m_ssidHasBeenSet = true; m_ssid = value; }
179 
180     /**
181      * <p>The SSID of the Wi-Fi network.</p>
182      */
SetSsid(Aws::String && value)183     inline void SetSsid(Aws::String&& value) { m_ssidHasBeenSet = true; m_ssid = std::move(value); }
184 
185     /**
186      * <p>The SSID of the Wi-Fi network.</p>
187      */
SetSsid(const char * value)188     inline void SetSsid(const char* value) { m_ssidHasBeenSet = true; m_ssid.assign(value); }
189 
190     /**
191      * <p>The SSID of the Wi-Fi network.</p>
192      */
WithSsid(const Aws::String & value)193     inline NetworkProfileData& WithSsid(const Aws::String& value) { SetSsid(value); return *this;}
194 
195     /**
196      * <p>The SSID of the Wi-Fi network.</p>
197      */
WithSsid(Aws::String && value)198     inline NetworkProfileData& WithSsid(Aws::String&& value) { SetSsid(std::move(value)); return *this;}
199 
200     /**
201      * <p>The SSID of the Wi-Fi network.</p>
202      */
WithSsid(const char * value)203     inline NetworkProfileData& WithSsid(const char* value) { SetSsid(value); return *this;}
204 
205 
206     /**
207      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
208      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
209      */
GetSecurityType()210     inline const NetworkSecurityType& GetSecurityType() const{ return m_securityType; }
211 
212     /**
213      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
214      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
215      */
SecurityTypeHasBeenSet()216     inline bool SecurityTypeHasBeenSet() const { return m_securityTypeHasBeenSet; }
217 
218     /**
219      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
220      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
221      */
SetSecurityType(const NetworkSecurityType & value)222     inline void SetSecurityType(const NetworkSecurityType& value) { m_securityTypeHasBeenSet = true; m_securityType = value; }
223 
224     /**
225      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
226      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
227      */
SetSecurityType(NetworkSecurityType && value)228     inline void SetSecurityType(NetworkSecurityType&& value) { m_securityTypeHasBeenSet = true; m_securityType = std::move(value); }
229 
230     /**
231      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
232      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
233      */
WithSecurityType(const NetworkSecurityType & value)234     inline NetworkProfileData& WithSecurityType(const NetworkSecurityType& value) { SetSecurityType(value); return *this;}
235 
236     /**
237      * <p>The security type of the Wi-Fi network. This can be WPA2_ENTERPRISE,
238      * WPA2_PSK, WPA_PSK, WEP, or OPEN.</p>
239      */
WithSecurityType(NetworkSecurityType && value)240     inline NetworkProfileData& WithSecurityType(NetworkSecurityType&& value) { SetSecurityType(std::move(value)); return *this;}
241 
242 
243     /**
244      * <p>The authentication standard that is used in the EAP framework. Currently,
245      * EAP_TLS is supported.</p>
246      */
GetEapMethod()247     inline const NetworkEapMethod& GetEapMethod() const{ return m_eapMethod; }
248 
249     /**
250      * <p>The authentication standard that is used in the EAP framework. Currently,
251      * EAP_TLS is supported.</p>
252      */
EapMethodHasBeenSet()253     inline bool EapMethodHasBeenSet() const { return m_eapMethodHasBeenSet; }
254 
255     /**
256      * <p>The authentication standard that is used in the EAP framework. Currently,
257      * EAP_TLS is supported.</p>
258      */
SetEapMethod(const NetworkEapMethod & value)259     inline void SetEapMethod(const NetworkEapMethod& value) { m_eapMethodHasBeenSet = true; m_eapMethod = value; }
260 
261     /**
262      * <p>The authentication standard that is used in the EAP framework. Currently,
263      * EAP_TLS is supported.</p>
264      */
SetEapMethod(NetworkEapMethod && value)265     inline void SetEapMethod(NetworkEapMethod&& value) { m_eapMethodHasBeenSet = true; m_eapMethod = std::move(value); }
266 
267     /**
268      * <p>The authentication standard that is used in the EAP framework. Currently,
269      * EAP_TLS is supported.</p>
270      */
WithEapMethod(const NetworkEapMethod & value)271     inline NetworkProfileData& WithEapMethod(const NetworkEapMethod& value) { SetEapMethod(value); return *this;}
272 
273     /**
274      * <p>The authentication standard that is used in the EAP framework. Currently,
275      * EAP_TLS is supported.</p>
276      */
WithEapMethod(NetworkEapMethod && value)277     inline NetworkProfileData& WithEapMethod(NetworkEapMethod&& value) { SetEapMethod(std::move(value)); return *this;}
278 
279 
280     /**
281      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
282      * Manager (ACM). This is used to issue certificates to the devices.</p>
283      */
GetCertificateAuthorityArn()284     inline const Aws::String& GetCertificateAuthorityArn() const{ return m_certificateAuthorityArn; }
285 
286     /**
287      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
288      * Manager (ACM). This is used to issue certificates to the devices.</p>
289      */
CertificateAuthorityArnHasBeenSet()290     inline bool CertificateAuthorityArnHasBeenSet() const { return m_certificateAuthorityArnHasBeenSet; }
291 
292     /**
293      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
294      * Manager (ACM). This is used to issue certificates to the devices.</p>
295      */
SetCertificateAuthorityArn(const Aws::String & value)296     inline void SetCertificateAuthorityArn(const Aws::String& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = value; }
297 
298     /**
299      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
300      * Manager (ACM). This is used to issue certificates to the devices.</p>
301      */
SetCertificateAuthorityArn(Aws::String && value)302     inline void SetCertificateAuthorityArn(Aws::String&& value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn = std::move(value); }
303 
304     /**
305      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
306      * Manager (ACM). This is used to issue certificates to the devices.</p>
307      */
SetCertificateAuthorityArn(const char * value)308     inline void SetCertificateAuthorityArn(const char* value) { m_certificateAuthorityArnHasBeenSet = true; m_certificateAuthorityArn.assign(value); }
309 
310     /**
311      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
312      * Manager (ACM). This is used to issue certificates to the devices.</p>
313      */
WithCertificateAuthorityArn(const Aws::String & value)314     inline NetworkProfileData& WithCertificateAuthorityArn(const Aws::String& value) { SetCertificateAuthorityArn(value); return *this;}
315 
316     /**
317      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
318      * Manager (ACM). This is used to issue certificates to the devices.</p>
319      */
WithCertificateAuthorityArn(Aws::String && value)320     inline NetworkProfileData& WithCertificateAuthorityArn(Aws::String&& value) { SetCertificateAuthorityArn(std::move(value)); return *this;}
321 
322     /**
323      * <p>The ARN of the Private Certificate Authority (PCA) created in AWS Certificate
324      * Manager (ACM). This is used to issue certificates to the devices.</p>
325      */
WithCertificateAuthorityArn(const char * value)326     inline NetworkProfileData& WithCertificateAuthorityArn(const char* value) { SetCertificateAuthorityArn(value); return *this;}
327 
328   private:
329 
330     Aws::String m_networkProfileArn;
331     bool m_networkProfileArnHasBeenSet;
332 
333     Aws::String m_networkProfileName;
334     bool m_networkProfileNameHasBeenSet;
335 
336     Aws::String m_description;
337     bool m_descriptionHasBeenSet;
338 
339     Aws::String m_ssid;
340     bool m_ssidHasBeenSet;
341 
342     NetworkSecurityType m_securityType;
343     bool m_securityTypeHasBeenSet;
344 
345     NetworkEapMethod m_eapMethod;
346     bool m_eapMethodHasBeenSet;
347 
348     Aws::String m_certificateAuthorityArn;
349     bool m_certificateAuthorityArnHasBeenSet;
350   };
351 
352 } // namespace Model
353 } // namespace AlexaForBusiness
354 } // namespace Aws
355