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