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 email channel for
28    * an application.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EmailChannelResponse">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API EmailChannelResponse
33   {
34   public:
35     EmailChannelResponse();
36     EmailChannelResponse(Aws::Utils::Json::JsonView jsonValue);
37     EmailChannelResponse& 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 email 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 email 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 email 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 email 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 email 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 email channel applies
73      * to.</p>
74      */
WithApplicationId(const Aws::String & value)75     inline EmailChannelResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
76 
77     /**
78      * <p>The unique identifier for the application that the email channel applies
79      * to.</p>
80      */
WithApplicationId(Aws::String && value)81     inline EmailChannelResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
82 
83     /**
84      * <p>The unique identifier for the application that the email channel applies
85      * to.</p>
86      */
WithApplicationId(const char * value)87     inline EmailChannelResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
88 
89 
90     /**
91      * <p>The <a
92      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
93      * SES configuration set</a> that's applied to messages that are sent through the
94      * channel.</p>
95      */
GetConfigurationSet()96     inline const Aws::String& GetConfigurationSet() const{ return m_configurationSet; }
97 
98     /**
99      * <p>The <a
100      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
101      * SES configuration set</a> that's applied to messages that are sent through the
102      * channel.</p>
103      */
ConfigurationSetHasBeenSet()104     inline bool ConfigurationSetHasBeenSet() const { return m_configurationSetHasBeenSet; }
105 
106     /**
107      * <p>The <a
108      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
109      * SES configuration set</a> that's applied to messages that are sent through the
110      * channel.</p>
111      */
SetConfigurationSet(const Aws::String & value)112     inline void SetConfigurationSet(const Aws::String& value) { m_configurationSetHasBeenSet = true; m_configurationSet = value; }
113 
114     /**
115      * <p>The <a
116      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
117      * SES configuration set</a> that's applied to messages that are sent through the
118      * channel.</p>
119      */
SetConfigurationSet(Aws::String && value)120     inline void SetConfigurationSet(Aws::String&& value) { m_configurationSetHasBeenSet = true; m_configurationSet = std::move(value); }
121 
122     /**
123      * <p>The <a
124      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
125      * SES configuration set</a> that's applied to messages that are sent through the
126      * channel.</p>
127      */
SetConfigurationSet(const char * value)128     inline void SetConfigurationSet(const char* value) { m_configurationSetHasBeenSet = true; m_configurationSet.assign(value); }
129 
130     /**
131      * <p>The <a
132      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
133      * SES configuration set</a> that's applied to messages that are sent through the
134      * channel.</p>
135      */
WithConfigurationSet(const Aws::String & value)136     inline EmailChannelResponse& WithConfigurationSet(const Aws::String& value) { SetConfigurationSet(value); return *this;}
137 
138     /**
139      * <p>The <a
140      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
141      * SES configuration set</a> that's applied to messages that are sent through the
142      * channel.</p>
143      */
WithConfigurationSet(Aws::String && value)144     inline EmailChannelResponse& WithConfigurationSet(Aws::String&& value) { SetConfigurationSet(std::move(value)); return *this;}
145 
146     /**
147      * <p>The <a
148      * href="https://docs.aws.amazon.com/ses/latest/APIReference/API_ConfigurationSet.html">Amazon
149      * SES configuration set</a> that's applied to messages that are sent through the
150      * channel.</p>
151      */
WithConfigurationSet(const char * value)152     inline EmailChannelResponse& WithConfigurationSet(const char* value) { SetConfigurationSet(value); return *this;}
153 
154 
155     /**
156      * <p>The date and time, in ISO 8601 format, when the email channel was
157      * enabled.</p>
158      */
GetCreationDate()159     inline const Aws::String& GetCreationDate() const{ return m_creationDate; }
160 
161     /**
162      * <p>The date and time, in ISO 8601 format, when the email channel was
163      * enabled.</p>
164      */
CreationDateHasBeenSet()165     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
166 
167     /**
168      * <p>The date and time, in ISO 8601 format, when the email channel was
169      * enabled.</p>
170      */
SetCreationDate(const Aws::String & value)171     inline void SetCreationDate(const Aws::String& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
172 
173     /**
174      * <p>The date and time, in ISO 8601 format, when the email channel was
175      * enabled.</p>
176      */
SetCreationDate(Aws::String && value)177     inline void SetCreationDate(Aws::String&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
178 
179     /**
180      * <p>The date and time, in ISO 8601 format, when the email channel was
181      * enabled.</p>
182      */
SetCreationDate(const char * value)183     inline void SetCreationDate(const char* value) { m_creationDateHasBeenSet = true; m_creationDate.assign(value); }
184 
185     /**
186      * <p>The date and time, in ISO 8601 format, when the email channel was
187      * enabled.</p>
188      */
WithCreationDate(const Aws::String & value)189     inline EmailChannelResponse& WithCreationDate(const Aws::String& value) { SetCreationDate(value); return *this;}
190 
191     /**
192      * <p>The date and time, in ISO 8601 format, when the email channel was
193      * enabled.</p>
194      */
WithCreationDate(Aws::String && value)195     inline EmailChannelResponse& WithCreationDate(Aws::String&& value) { SetCreationDate(std::move(value)); return *this;}
196 
197     /**
198      * <p>The date and time, in ISO 8601 format, when the email channel was
199      * enabled.</p>
200      */
WithCreationDate(const char * value)201     inline EmailChannelResponse& WithCreationDate(const char* value) { SetCreationDate(value); return *this;}
202 
203 
204     /**
205      * <p>Specifies whether the email channel is enabled for the application.</p>
206      */
GetEnabled()207     inline bool GetEnabled() const{ return m_enabled; }
208 
209     /**
210      * <p>Specifies whether the email channel is enabled for the application.</p>
211      */
EnabledHasBeenSet()212     inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
213 
214     /**
215      * <p>Specifies whether the email channel is enabled for the application.</p>
216      */
SetEnabled(bool value)217     inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
218 
219     /**
220      * <p>Specifies whether the email channel is enabled for the application.</p>
221      */
WithEnabled(bool value)222     inline EmailChannelResponse& WithEnabled(bool value) { SetEnabled(value); return *this;}
223 
224 
225     /**
226      * <p>The verified email address that email is sent from when you send email
227      * through the channel.</p>
228      */
GetFromAddress()229     inline const Aws::String& GetFromAddress() const{ return m_fromAddress; }
230 
231     /**
232      * <p>The verified email address that email is sent from when you send email
233      * through the channel.</p>
234      */
FromAddressHasBeenSet()235     inline bool FromAddressHasBeenSet() const { return m_fromAddressHasBeenSet; }
236 
237     /**
238      * <p>The verified email address that email is sent from when you send email
239      * through the channel.</p>
240      */
SetFromAddress(const Aws::String & value)241     inline void SetFromAddress(const Aws::String& value) { m_fromAddressHasBeenSet = true; m_fromAddress = value; }
242 
243     /**
244      * <p>The verified email address that email is sent from when you send email
245      * through the channel.</p>
246      */
SetFromAddress(Aws::String && value)247     inline void SetFromAddress(Aws::String&& value) { m_fromAddressHasBeenSet = true; m_fromAddress = std::move(value); }
248 
249     /**
250      * <p>The verified email address that email is sent from when you send email
251      * through the channel.</p>
252      */
SetFromAddress(const char * value)253     inline void SetFromAddress(const char* value) { m_fromAddressHasBeenSet = true; m_fromAddress.assign(value); }
254 
255     /**
256      * <p>The verified email address that email is sent from when you send email
257      * through the channel.</p>
258      */
WithFromAddress(const Aws::String & value)259     inline EmailChannelResponse& WithFromAddress(const Aws::String& value) { SetFromAddress(value); return *this;}
260 
261     /**
262      * <p>The verified email address that email is sent from when you send email
263      * through the channel.</p>
264      */
WithFromAddress(Aws::String && value)265     inline EmailChannelResponse& WithFromAddress(Aws::String&& value) { SetFromAddress(std::move(value)); return *this;}
266 
267     /**
268      * <p>The verified email address that email is sent from when you send email
269      * through the channel.</p>
270      */
WithFromAddress(const char * value)271     inline EmailChannelResponse& WithFromAddress(const char* value) { SetFromAddress(value); return *this;}
272 
273 
274     /**
275      * <p>(Not used) This property is retained only for backward compatibility.</p>
276      */
GetHasCredential()277     inline bool GetHasCredential() const{ return m_hasCredential; }
278 
279     /**
280      * <p>(Not used) This property is retained only for backward compatibility.</p>
281      */
HasCredentialHasBeenSet()282     inline bool HasCredentialHasBeenSet() const { return m_hasCredentialHasBeenSet; }
283 
284     /**
285      * <p>(Not used) This property is retained only for backward compatibility.</p>
286      */
SetHasCredential(bool value)287     inline void SetHasCredential(bool value) { m_hasCredentialHasBeenSet = true; m_hasCredential = value; }
288 
289     /**
290      * <p>(Not used) This property is retained only for backward compatibility.</p>
291      */
WithHasCredential(bool value)292     inline EmailChannelResponse& WithHasCredential(bool value) { SetHasCredential(value); return *this;}
293 
294 
295     /**
296      * <p>(Deprecated) An identifier for the email channel. This property is retained
297      * only for backward compatibility.</p>
298      */
GetId()299     inline const Aws::String& GetId() const{ return m_id; }
300 
301     /**
302      * <p>(Deprecated) An identifier for the email channel. This property is retained
303      * only for backward compatibility.</p>
304      */
IdHasBeenSet()305     inline bool IdHasBeenSet() const { return m_idHasBeenSet; }
306 
307     /**
308      * <p>(Deprecated) An identifier for the email channel. This property is retained
309      * only for backward compatibility.</p>
310      */
SetId(const Aws::String & value)311     inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; }
312 
313     /**
314      * <p>(Deprecated) An identifier for the email channel. This property is retained
315      * only for backward compatibility.</p>
316      */
SetId(Aws::String && value)317     inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); }
318 
319     /**
320      * <p>(Deprecated) An identifier for the email channel. This property is retained
321      * only for backward compatibility.</p>
322      */
SetId(const char * value)323     inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); }
324 
325     /**
326      * <p>(Deprecated) An identifier for the email channel. This property is retained
327      * only for backward compatibility.</p>
328      */
WithId(const Aws::String & value)329     inline EmailChannelResponse& WithId(const Aws::String& value) { SetId(value); return *this;}
330 
331     /**
332      * <p>(Deprecated) An identifier for the email channel. This property is retained
333      * only for backward compatibility.</p>
334      */
WithId(Aws::String && value)335     inline EmailChannelResponse& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;}
336 
337     /**
338      * <p>(Deprecated) An identifier for the email channel. This property is retained
339      * only for backward compatibility.</p>
340      */
WithId(const char * value)341     inline EmailChannelResponse& WithId(const char* value) { SetId(value); return *this;}
342 
343 
344     /**
345      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
346      * Email Service (Amazon SES), that's used when you send email through the
347      * channel.</p>
348      */
GetIdentity()349     inline const Aws::String& GetIdentity() const{ return m_identity; }
350 
351     /**
352      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
353      * Email Service (Amazon SES), that's used when you send email through the
354      * channel.</p>
355      */
IdentityHasBeenSet()356     inline bool IdentityHasBeenSet() const { return m_identityHasBeenSet; }
357 
358     /**
359      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
360      * Email Service (Amazon SES), that's used when you send email through the
361      * channel.</p>
362      */
SetIdentity(const Aws::String & value)363     inline void SetIdentity(const Aws::String& value) { m_identityHasBeenSet = true; m_identity = value; }
364 
365     /**
366      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
367      * Email Service (Amazon SES), that's used when you send email through the
368      * channel.</p>
369      */
SetIdentity(Aws::String && value)370     inline void SetIdentity(Aws::String&& value) { m_identityHasBeenSet = true; m_identity = std::move(value); }
371 
372     /**
373      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
374      * Email Service (Amazon SES), that's used when you send email through the
375      * channel.</p>
376      */
SetIdentity(const char * value)377     inline void SetIdentity(const char* value) { m_identityHasBeenSet = true; m_identity.assign(value); }
378 
379     /**
380      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
381      * Email Service (Amazon SES), that's used when you send email through the
382      * channel.</p>
383      */
WithIdentity(const Aws::String & value)384     inline EmailChannelResponse& WithIdentity(const Aws::String& value) { SetIdentity(value); return *this;}
385 
386     /**
387      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
388      * Email Service (Amazon SES), that's used when you send email through the
389      * channel.</p>
390      */
WithIdentity(Aws::String && value)391     inline EmailChannelResponse& WithIdentity(Aws::String&& value) { SetIdentity(std::move(value)); return *this;}
392 
393     /**
394      * <p>The Amazon Resource Name (ARN) of the identity, verified with Amazon Simple
395      * Email Service (Amazon SES), that's used when you send email through the
396      * channel.</p>
397      */
WithIdentity(const char * value)398     inline EmailChannelResponse& WithIdentity(const char* value) { SetIdentity(value); return *this;}
399 
400 
401     /**
402      * <p>Specifies whether the email channel is archived.</p>
403      */
GetIsArchived()404     inline bool GetIsArchived() const{ return m_isArchived; }
405 
406     /**
407      * <p>Specifies whether the email channel is archived.</p>
408      */
IsArchivedHasBeenSet()409     inline bool IsArchivedHasBeenSet() const { return m_isArchivedHasBeenSet; }
410 
411     /**
412      * <p>Specifies whether the email channel is archived.</p>
413      */
SetIsArchived(bool value)414     inline void SetIsArchived(bool value) { m_isArchivedHasBeenSet = true; m_isArchived = value; }
415 
416     /**
417      * <p>Specifies whether the email channel is archived.</p>
418      */
WithIsArchived(bool value)419     inline EmailChannelResponse& WithIsArchived(bool value) { SetIsArchived(value); return *this;}
420 
421 
422     /**
423      * <p>The user who last modified the email channel.</p>
424      */
GetLastModifiedBy()425     inline const Aws::String& GetLastModifiedBy() const{ return m_lastModifiedBy; }
426 
427     /**
428      * <p>The user who last modified the email channel.</p>
429      */
LastModifiedByHasBeenSet()430     inline bool LastModifiedByHasBeenSet() const { return m_lastModifiedByHasBeenSet; }
431 
432     /**
433      * <p>The user who last modified the email channel.</p>
434      */
SetLastModifiedBy(const Aws::String & value)435     inline void SetLastModifiedBy(const Aws::String& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = value; }
436 
437     /**
438      * <p>The user who last modified the email channel.</p>
439      */
SetLastModifiedBy(Aws::String && value)440     inline void SetLastModifiedBy(Aws::String&& value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy = std::move(value); }
441 
442     /**
443      * <p>The user who last modified the email channel.</p>
444      */
SetLastModifiedBy(const char * value)445     inline void SetLastModifiedBy(const char* value) { m_lastModifiedByHasBeenSet = true; m_lastModifiedBy.assign(value); }
446 
447     /**
448      * <p>The user who last modified the email channel.</p>
449      */
WithLastModifiedBy(const Aws::String & value)450     inline EmailChannelResponse& WithLastModifiedBy(const Aws::String& value) { SetLastModifiedBy(value); return *this;}
451 
452     /**
453      * <p>The user who last modified the email channel.</p>
454      */
WithLastModifiedBy(Aws::String && value)455     inline EmailChannelResponse& WithLastModifiedBy(Aws::String&& value) { SetLastModifiedBy(std::move(value)); return *this;}
456 
457     /**
458      * <p>The user who last modified the email channel.</p>
459      */
WithLastModifiedBy(const char * value)460     inline EmailChannelResponse& WithLastModifiedBy(const char* value) { SetLastModifiedBy(value); return *this;}
461 
462 
463     /**
464      * <p>The date and time, in ISO 8601 format, when the email channel was last
465      * modified.</p>
466      */
GetLastModifiedDate()467     inline const Aws::String& GetLastModifiedDate() const{ return m_lastModifiedDate; }
468 
469     /**
470      * <p>The date and time, in ISO 8601 format, when the email channel was last
471      * modified.</p>
472      */
LastModifiedDateHasBeenSet()473     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
474 
475     /**
476      * <p>The date and time, in ISO 8601 format, when the email channel was last
477      * modified.</p>
478      */
SetLastModifiedDate(const Aws::String & value)479     inline void SetLastModifiedDate(const Aws::String& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
480 
481     /**
482      * <p>The date and time, in ISO 8601 format, when the email channel was last
483      * modified.</p>
484      */
SetLastModifiedDate(Aws::String && value)485     inline void SetLastModifiedDate(Aws::String&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
486 
487     /**
488      * <p>The date and time, in ISO 8601 format, when the email channel was last
489      * modified.</p>
490      */
SetLastModifiedDate(const char * value)491     inline void SetLastModifiedDate(const char* value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate.assign(value); }
492 
493     /**
494      * <p>The date and time, in ISO 8601 format, when the email channel was last
495      * modified.</p>
496      */
WithLastModifiedDate(const Aws::String & value)497     inline EmailChannelResponse& WithLastModifiedDate(const Aws::String& value) { SetLastModifiedDate(value); return *this;}
498 
499     /**
500      * <p>The date and time, in ISO 8601 format, when the email channel was last
501      * modified.</p>
502      */
WithLastModifiedDate(Aws::String && value)503     inline EmailChannelResponse& WithLastModifiedDate(Aws::String&& value) { SetLastModifiedDate(std::move(value)); return *this;}
504 
505     /**
506      * <p>The date and time, in ISO 8601 format, when the email channel was last
507      * modified.</p>
508      */
WithLastModifiedDate(const char * value)509     inline EmailChannelResponse& WithLastModifiedDate(const char* value) { SetLastModifiedDate(value); return *this;}
510 
511 
512     /**
513      * <p>The maximum number of emails that can be sent through the channel each
514      * second.</p>
515      */
GetMessagesPerSecond()516     inline int GetMessagesPerSecond() const{ return m_messagesPerSecond; }
517 
518     /**
519      * <p>The maximum number of emails that can be sent through the channel each
520      * second.</p>
521      */
MessagesPerSecondHasBeenSet()522     inline bool MessagesPerSecondHasBeenSet() const { return m_messagesPerSecondHasBeenSet; }
523 
524     /**
525      * <p>The maximum number of emails that can be sent through the channel each
526      * second.</p>
527      */
SetMessagesPerSecond(int value)528     inline void SetMessagesPerSecond(int value) { m_messagesPerSecondHasBeenSet = true; m_messagesPerSecond = value; }
529 
530     /**
531      * <p>The maximum number of emails that can be sent through the channel each
532      * second.</p>
533      */
WithMessagesPerSecond(int value)534     inline EmailChannelResponse& WithMessagesPerSecond(int value) { SetMessagesPerSecond(value); return *this;}
535 
536 
537     /**
538      * <p>The type of messaging or notification platform for the channel. For the email
539      * channel, this value is EMAIL.</p>
540      */
GetPlatform()541     inline const Aws::String& GetPlatform() const{ return m_platform; }
542 
543     /**
544      * <p>The type of messaging or notification platform for the channel. For the email
545      * channel, this value is EMAIL.</p>
546      */
PlatformHasBeenSet()547     inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
548 
549     /**
550      * <p>The type of messaging or notification platform for the channel. For the email
551      * channel, this value is EMAIL.</p>
552      */
SetPlatform(const Aws::String & value)553     inline void SetPlatform(const Aws::String& value) { m_platformHasBeenSet = true; m_platform = value; }
554 
555     /**
556      * <p>The type of messaging or notification platform for the channel. For the email
557      * channel, this value is EMAIL.</p>
558      */
SetPlatform(Aws::String && value)559     inline void SetPlatform(Aws::String&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); }
560 
561     /**
562      * <p>The type of messaging or notification platform for the channel. For the email
563      * channel, this value is EMAIL.</p>
564      */
SetPlatform(const char * value)565     inline void SetPlatform(const char* value) { m_platformHasBeenSet = true; m_platform.assign(value); }
566 
567     /**
568      * <p>The type of messaging or notification platform for the channel. For the email
569      * channel, this value is EMAIL.</p>
570      */
WithPlatform(const Aws::String & value)571     inline EmailChannelResponse& WithPlatform(const Aws::String& value) { SetPlatform(value); return *this;}
572 
573     /**
574      * <p>The type of messaging or notification platform for the channel. For the email
575      * channel, this value is EMAIL.</p>
576      */
WithPlatform(Aws::String && value)577     inline EmailChannelResponse& WithPlatform(Aws::String&& value) { SetPlatform(std::move(value)); return *this;}
578 
579     /**
580      * <p>The type of messaging or notification platform for the channel. For the email
581      * channel, this value is EMAIL.</p>
582      */
WithPlatform(const char * value)583     inline EmailChannelResponse& WithPlatform(const char* value) { SetPlatform(value); return *this;}
584 
585 
586     /**
587      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
588      * Pinpoint uses to submit email-related event data for the channel.</p>
589      */
GetRoleArn()590     inline const Aws::String& GetRoleArn() const{ return m_roleArn; }
591 
592     /**
593      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
594      * Pinpoint uses to submit email-related event data for the channel.</p>
595      */
RoleArnHasBeenSet()596     inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; }
597 
598     /**
599      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
600      * Pinpoint uses to submit email-related event data for the channel.</p>
601      */
SetRoleArn(const Aws::String & value)602     inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; }
603 
604     /**
605      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
606      * Pinpoint uses to submit email-related event data for the channel.</p>
607      */
SetRoleArn(Aws::String && value)608     inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); }
609 
610     /**
611      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
612      * Pinpoint uses to submit email-related event data for the channel.</p>
613      */
SetRoleArn(const char * value)614     inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); }
615 
616     /**
617      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
618      * Pinpoint uses to submit email-related event data for the channel.</p>
619      */
WithRoleArn(const Aws::String & value)620     inline EmailChannelResponse& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;}
621 
622     /**
623      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
624      * Pinpoint uses to submit email-related event data for the channel.</p>
625      */
WithRoleArn(Aws::String && value)626     inline EmailChannelResponse& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;}
627 
628     /**
629      * <p>The ARN of the AWS Identity and Access Management (IAM) role that Amazon
630      * Pinpoint uses to submit email-related event data for the channel.</p>
631      */
WithRoleArn(const char * value)632     inline EmailChannelResponse& WithRoleArn(const char* value) { SetRoleArn(value); return *this;}
633 
634 
635     /**
636      * <p>The current version of the email channel.</p>
637      */
GetVersion()638     inline int GetVersion() const{ return m_version; }
639 
640     /**
641      * <p>The current version of the email channel.</p>
642      */
VersionHasBeenSet()643     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
644 
645     /**
646      * <p>The current version of the email channel.</p>
647      */
SetVersion(int value)648     inline void SetVersion(int value) { m_versionHasBeenSet = true; m_version = value; }
649 
650     /**
651      * <p>The current version of the email channel.</p>
652      */
WithVersion(int value)653     inline EmailChannelResponse& WithVersion(int value) { SetVersion(value); return *this;}
654 
655   private:
656 
657     Aws::String m_applicationId;
658     bool m_applicationIdHasBeenSet;
659 
660     Aws::String m_configurationSet;
661     bool m_configurationSetHasBeenSet;
662 
663     Aws::String m_creationDate;
664     bool m_creationDateHasBeenSet;
665 
666     bool m_enabled;
667     bool m_enabledHasBeenSet;
668 
669     Aws::String m_fromAddress;
670     bool m_fromAddressHasBeenSet;
671 
672     bool m_hasCredential;
673     bool m_hasCredentialHasBeenSet;
674 
675     Aws::String m_id;
676     bool m_idHasBeenSet;
677 
678     Aws::String m_identity;
679     bool m_identityHasBeenSet;
680 
681     bool m_isArchived;
682     bool m_isArchivedHasBeenSet;
683 
684     Aws::String m_lastModifiedBy;
685     bool m_lastModifiedByHasBeenSet;
686 
687     Aws::String m_lastModifiedDate;
688     bool m_lastModifiedDateHasBeenSet;
689 
690     int m_messagesPerSecond;
691     bool m_messagesPerSecondHasBeenSet;
692 
693     Aws::String m_platform;
694     bool m_platformHasBeenSet;
695 
696     Aws::String m_roleArn;
697     bool m_roleArnHasBeenSet;
698 
699     int m_version;
700     bool m_versionHasBeenSet;
701   };
702 
703 } // namespace Model
704 } // namespace Pinpoint
705 } // namespace Aws
706