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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace Pinpoint
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Provides information about the status and settings of the APNs (Apple Push
28    * Notification service) channel for an application.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/APNSChannelResponse">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API APNSChannelResponse
33   {
34   public:
35     APNSChannelResponse();
36     APNSChannelResponse(Aws::Utils::Json::JsonView jsonValue);
37     APNSChannelResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The unique identifier for the application that the APNs channel applies
43      * to.</p>
44      */
GetApplicationId()45     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
46 
47     /**
48      * <p>The unique identifier for the application that the APNs channel applies
49      * to.</p>
50      */
ApplicationIdHasBeenSet()51     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
52 
53     /**
54      * <p>The unique identifier for the application that the APNs channel applies
55      * to.</p>
56      */
SetApplicationId(const Aws::String & value)57     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
58 
59     /**
60      * <p>The unique identifier for the application that the APNs channel applies
61      * to.</p>
62      */
SetApplicationId(Aws::String && value)63     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
64 
65     /**
66      * <p>The unique identifier for the application that the APNs channel applies
67      * to.</p>
68      */
SetApplicationId(const char * value)69     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
70 
71     /**
72      * <p>The unique identifier for the application that the APNs channel applies
73      * to.</p>
74      */
WithApplicationId(const Aws::String & value)75     inline APNSChannelResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
76 
77     /**
78      * <p>The unique identifier for the application that the APNs channel applies
79      * to.</p>
80      */
WithApplicationId(Aws::String && value)81     inline APNSChannelResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
82 
83     /**
84      * <p>The unique identifier for the application that the APNs channel applies
85      * to.</p>
86      */
WithApplicationId(const char * value)87     inline APNSChannelResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
88 
89 
90     /**
91      * <p>The date and time when the APNs channel was enabled.</p>
92      */
GetCreationDate()93     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
94 
95     /**
96      * <p>The date and time when the APNs channel was enabled.</p>
97      */
CreationDateHasBeenSet()98     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
99 
100     /**
101      * <p>The date and time when the APNs channel was enabled.</p>
102      */
SetCreationDate(const Aws::String & value)103     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
104 
105     /**
106      * <p>The date and time when the APNs channel was enabled.</p>
107      */
SetCreationDate(Aws::String && value)108     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
109 
110     /**
111      * <p>The date and time when the APNs channel was enabled.</p>
112      */
SetCreationDate(const char * value)113     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
114 
115     /**
116      * <p>The date and time when the APNs channel was enabled.</p>
117      */
WithCreationDate(const Aws::String & value)118     inline APNSChannelResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
119 
120     /**
121      * <p>The date and time when the APNs channel was enabled.</p>
122      */
WithCreationDate(Aws::String && value)123     inline APNSChannelResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
124 
125     /**
126      * <p>The date and time when the APNs channel was enabled.</p>
127      */
WithCreationDate(const char * value)128     inline APNSChannelResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
129 
130 
131     /**
132      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
133      * with APNs for this channel, key or certificate.</p>
134      */
GetDefaultAuthenticationMethod()135     inline const Aws::String& GetDefaultAuthenticationMethod() const{ return m_defaultAuthenticationMethod; }
136 
137     /**
138      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
139      * with APNs for this channel, key or certificate.</p>
140      */
DefaultAuthenticationMethodHasBeenSet()141     inline bool DefaultAuthenticationMethodHasBeenSet() const { return m_defaultAuthenticationMethodHasBeenSet; }
142 
143     /**
144      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
145      * with APNs for this channel, key or certificate.</p>
146      */
SetDefaultAuthenticationMethod(const Aws::String & value)147     inline void SetDefaultAuthenticationMethod(const Aws::String& value) { m_defaultAuthenticationMethodHasBeenSet = true; m_defaultAuthenticationMethod = value; }
148 
149     /**
150      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
151      * with APNs for this channel, key or certificate.</p>
152      */
SetDefaultAuthenticationMethod(Aws::String && value)153     inline void SetDefaultAuthenticationMethod(Aws::String&& value) { m_defaultAuthenticationMethodHasBeenSet = true; m_defaultAuthenticationMethod = std::move(value); }
154 
155     /**
156      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
157      * with APNs for this channel, key or certificate.</p>
158      */
SetDefaultAuthenticationMethod(const char * value)159     inline void SetDefaultAuthenticationMethod(const char* value) { m_defaultAuthenticationMethodHasBeenSet = true; m_defaultAuthenticationMethod.assign(value); }
160 
161     /**
162      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
163      * with APNs for this channel, key or certificate.</p>
164      */
WithDefaultAuthenticationMethod(const Aws::String & value)165     inline APNSChannelResponse& WithDefaultAuthenticationMethod(const Aws::String& value) { SetDefaultAuthenticationMethod(value); return *this;}
166 
167     /**
168      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
169      * with APNs for this channel, key or certificate.</p>
170      */
WithDefaultAuthenticationMethod(Aws::String && value)171     inline APNSChannelResponse& WithDefaultAuthenticationMethod(Aws::String&& value) { SetDefaultAuthenticationMethod(std::move(value)); return *this;}
172 
173     /**
174      * <p>The default authentication method that Amazon Pinpoint uses to authenticate
175      * with APNs for this channel, key or certificate.</p>
176      */
WithDefaultAuthenticationMethod(const char * value)177     inline APNSChannelResponse& WithDefaultAuthenticationMethod(const char* value) { SetDefaultAuthenticationMethod(value); return *this;}
178 
179 
180     /**
181      * <p>Specifies whether the APNs channel is enabled for the application.</p>
182      */
GetEnabled()183     inline bool GetEnabled() const{ return m_enabled; }
184 
185     /**
186      * <p>Specifies whether the APNs channel is enabled for the application.</p>
187      */
EnabledHasBeenSet()188     inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
189 
190     /**
191      * <p>Specifies whether the APNs channel is enabled for the application.</p>
192      */
SetEnabled(bool value)193     inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
194 
195     /**
196      * <p>Specifies whether the APNs channel is enabled for the application.</p>
197      */
WithEnabled(bool value)198     inline APNSChannelResponse& WithEnabled(bool value) { SetEnabled(value); return *this;}
199 
200 
201     /**
202      * <p>(Not used) This property is retained only for backward compatibility.</p>
203      */
GetHasCredential()204     inline bool GetHasCredential() const{ return m_hasCredential; }
205 
206     /**
207      * <p>(Not used) This property is retained only for backward compatibility.</p>
208      */
HasCredentialHasBeenSet()209     inline bool HasCredentialHasBeenSet() const { return m_hasCredentialHasBeenSet; }
210 
211     /**
212      * <p>(Not used) This property is retained only for backward compatibility.</p>
213      */
SetHasCredential(bool value)214     inline void SetHasCredential(bool value) { m_hasCredentialHasBeenSet = true; m_hasCredential = value; }
215 
216     /**
217      * <p>(Not used) This property is retained only for backward compatibility.</p>
218      */
WithHasCredential(bool value)219     inline APNSChannelResponse& WithHasCredential(bool value) { SetHasCredential(value); return *this;}
220 
221 
222     /**
223      * <p>Specifies whether the APNs channel is configured to communicate with APNs by
224      * using APNs tokens. To provide an authentication key for APNs tokens, set the
225      * TokenKey property of the channel.</p>
226      */
GetHasTokenKey()227     inline bool GetHasTokenKey() const{ return m_hasTokenKey; }
228 
229     /**
230      * <p>Specifies whether the APNs channel is configured to communicate with APNs by
231      * using APNs tokens. To provide an authentication key for APNs tokens, set the
232      * TokenKey property of the channel.</p>
233      */
HasTokenKeyHasBeenSet()234     inline bool HasTokenKeyHasBeenSet() const { return m_hasTokenKeyHasBeenSet; }
235 
236     /**
237      * <p>Specifies whether the APNs channel is configured to communicate with APNs by
238      * using APNs tokens. To provide an authentication key for APNs tokens, set the
239      * TokenKey property of the channel.</p>
240      */
SetHasTokenKey(bool value)241     inline void SetHasTokenKey(bool value) { m_hasTokenKeyHasBeenSet = true; m_hasTokenKey = value; }
242 
243     /**
244      * <p>Specifies whether the APNs channel is configured to communicate with APNs by
245      * using APNs tokens. To provide an authentication key for APNs tokens, set the
246      * TokenKey property of the channel.</p>
247      */
WithHasTokenKey(bool value)248     inline APNSChannelResponse& WithHasTokenKey(bool value) { SetHasTokenKey(value); return *this;}
249 
250 
251     /**
252      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
253      * only for backward compatibility.</p>
254      */
GetId()255     inline const Aws::String& GetId() const{ return m_id; }
256 
257     /**
258      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
259      * only for backward compatibility.</p>
260      */
IdHasBeenSet()261     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
262 
263     /**
264      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
265      * only for backward compatibility.</p>
266      */
SetId(const Aws::String & value)267     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
268 
269     /**
270      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
271      * only for backward compatibility.</p>
272      */
SetId(Aws::String && value)273     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
274 
275     /**
276      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
277      * only for backward compatibility.</p>
278      */
SetId(const char * value)279     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
280 
281     /**
282      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
283      * only for backward compatibility.</p>
284      */
WithId(const Aws::String & value)285     inline APNSChannelResponse& WithId(const Aws::String& value) { SetId(value); return *this;}
286 
287     /**
288      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
289      * only for backward compatibility.</p>
290      */
WithId(Aws::String && value)291     inline APNSChannelResponse& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
292 
293     /**
294      * <p>(Deprecated) An identifier for the APNs channel. This property is retained
295      * only for backward compatibility.</p>
296      */
WithId(const char * value)297     inline APNSChannelResponse& WithId(const char* value) { SetId(value); return *this;}
298 
299 
300     /**
301      * <p>Specifies whether the APNs channel is archived.</p>
302      */
GetIsArchived()303     inline bool GetIsArchived() const{ return m_isArchived; }
304 
305     /**
306      * <p>Specifies whether the APNs channel is archived.</p>
307      */
IsArchivedHasBeenSet()308     inline bool IsArchivedHasBeenSet() const { return m_isArchivedHasBeenSet; }
309 
310     /**
311      * <p>Specifies whether the APNs channel is archived.</p>
312      */
SetIsArchived(bool value)313     inline void SetIsArchived(bool value) { m_isArchivedHasBeenSet = true; m_isArchived = value; }
314 
315     /**
316      * <p>Specifies whether the APNs channel is archived.</p>
317      */
WithIsArchived(bool value)318     inline APNSChannelResponse& WithIsArchived(bool value) { SetIsArchived(value); return *this;}
319 
320 
321     /**
322      * <p>The user who last modified the APNs channel.</p>
323      */
GetLastModifiedBy()324     inline const Aws::String& GetLastModifiedBy() const{ return m_lastModifiedBy; }
325 
326     /**
327      * <p>The user who last modified the APNs channel.</p>
328      */
LastModifiedByHasBeenSet()329     inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; }
330 
331     /**
332      * <p>The user who last modified the APNs channel.</p>
333      */
SetLastModifiedBy(const Aws::String & value)334     inline void SetLastModifiedBy(const Aws::String& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; }
335 
336     /**
337      * <p>The user who last modified the APNs channel.</p>
338      */
SetLastModifiedBy(Aws::String && value)339     inline void SetLastModifiedBy(Aws::String&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); }
340 
341     /**
342      * <p>The user who last modified the APNs channel.</p>
343      */
SetLastModifiedBy(const char * value)344     inline void SetLastModifiedBy(const char* value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy.assign(value); }
345 
346     /**
347      * <p>The user who last modified the APNs channel.</p>
348      */
WithLastModifiedBy(const Aws::String & value)349     inline APNSChannelResponse& WithLastModifiedBy(const Aws::String& value) { SetLastModifiedBy(value); return *this;}
350 
351     /**
352      * <p>The user who last modified the APNs channel.</p>
353      */
WithLastModifiedBy(Aws::String && value)354     inline APNSChannelResponse& WithLastModifiedBy(Aws::String&& value) { SetLastModifiedBy(std::move(value)); return *this;}
355 
356     /**
357      * <p>The user who last modified the APNs channel.</p>
358      */
WithLastModifiedBy(const char * value)359     inline APNSChannelResponse& WithLastModifiedBy(const char* value) { SetLastModifiedBy(value); return *this;}
360 
361 
362     /**
363      * <p>The date and time when the APNs channel was last modified.</p>
364      */
GetLastModifiedDate()365     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
366 
367     /**
368      * <p>The date and time when the APNs channel was last modified.</p>
369      */
LastModifiedDateHasBeenSet()370     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
371 
372     /**
373      * <p>The date and time when the APNs channel was last modified.</p>
374      */
SetLastModifiedDate(const Aws::String & value)375     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
376 
377     /**
378      * <p>The date and time when the APNs channel was last modified.</p>
379      */
SetLastModifiedDate(Aws::String && value)380     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
381 
382     /**
383      * <p>The date and time when the APNs channel was last modified.</p>
384      */
SetLastModifiedDate(const char * value)385     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
386 
387     /**
388      * <p>The date and time when the APNs channel was last modified.</p>
389      */
WithLastModifiedDate(const Aws::String & value)390     inline APNSChannelResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
391 
392     /**
393      * <p>The date and time when the APNs channel was last modified.</p>
394      */
WithLastModifiedDate(Aws::String && value)395     inline APNSChannelResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
396 
397     /**
398      * <p>The date and time when the APNs channel was last modified.</p>
399      */
WithLastModifiedDate(const char * value)400     inline APNSChannelResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
401 
402 
403     /**
404      * <p>The type of messaging or notification platform for the channel. For the APNs
405      * channel, this value is APNS.</p>
406      */
GetPlatform()407     inline const Aws::String& GetPlatform() const{ return m_platform; }
408 
409     /**
410      * <p>The type of messaging or notification platform for the channel. For the APNs
411      * channel, this value is APNS.</p>
412      */
PlatformHasBeenSet()413     inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
414 
415     /**
416      * <p>The type of messaging or notification platform for the channel. For the APNs
417      * channel, this value is APNS.</p>
418      */
SetPlatform(const Aws::String & value)419     inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; }
420 
421     /**
422      * <p>The type of messaging or notification platform for the channel. For the APNs
423      * channel, this value is APNS.</p>
424      */
SetPlatform(Aws::String && value)425     inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); }
426 
427     /**
428      * <p>The type of messaging or notification platform for the channel. For the APNs
429      * channel, this value is APNS.</p>
430      */
SetPlatform(const char * value)431     inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); }
432 
433     /**
434      * <p>The type of messaging or notification platform for the channel. For the APNs
435      * channel, this value is APNS.</p>
436      */
WithPlatform(const Aws::String & value)437     inline APNSChannelResponse& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;}
438 
439     /**
440      * <p>The type of messaging or notification platform for the channel. For the APNs
441      * channel, this value is APNS.</p>
442      */
WithPlatform(Aws::String && value)443     inline APNSChannelResponse& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;}
444 
445     /**
446      * <p>The type of messaging or notification platform for the channel. For the APNs
447      * channel, this value is APNS.</p>
448      */
WithPlatform(const char * value)449     inline APNSChannelResponse& WithPlatform(const char* value) { SetPlatform(value); return *this;}
450 
451 
452     /**
453      * <p>The current version of the APNs channel.</p>
454      */
GetVersion()455     inline int GetVersion() const{ return m_version; }
456 
457     /**
458      * <p>The current version of the APNs channel.</p>
459      */
VersionHasBeenSet()460     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
461 
462     /**
463      * <p>The current version of the APNs channel.</p>
464      */
SetVersion(int value)465     inline void SetVersion(int value) { m_versionHasBeenSet = true; m_version = value; }
466 
467     /**
468      * <p>The current version of the APNs channel.</p>
469      */
WithVersion(int value)470     inline APNSChannelResponse& WithVersion(int value) { SetVersion(value); return *this;}
471 
472   private:
473 
474     Aws::String m_applicationId;
475     bool m_applicationIdHasBeenSet;
476 
477     Aws::String m_creationDate;
478     bool m_creationDateHasBeenSet;
479 
480     Aws::String m_defaultAuthenticationMethod;
481     bool m_defaultAuthenticationMethodHasBeenSet;
482 
483     bool m_enabled;
484     bool m_enabledHasBeenSet;
485 
486     bool m_hasCredential;
487     bool m_hasCredentialHasBeenSet;
488 
489     bool m_hasTokenKey;
490     bool m_hasTokenKeyHasBeenSet;
491 
492     Aws::String m_id;
493     bool m_idHasBeenSet;
494 
495     bool m_isArchived;
496     bool m_isArchivedHasBeenSet;
497 
498     Aws::String m_lastModifiedBy;
499     bool m_lastModifiedByHasBeenSet;
500 
501     Aws::String m_lastModifiedDate;
502     bool m_lastModifiedDateHasBeenSet;
503 
504     Aws::String m_platform;
505     bool m_platformHasBeenSet;
506 
507     int m_version;
508     bool m_versionHasBeenSet;
509   };
510 
511 } // namespace Model
512 } // namespace Pinpoint
513 } // namespace Aws
514