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>Specifies the status and settings of the SMS channel for an
28    * application.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SMSChannelRequest">AWS
30    * API Reference</a></p>
31    */
32   class AWS_PINPOINT_API SMSChannelRequest
33   {
34   public:
35     SMSChannelRequest();
36     SMSChannelRequest(Aws::Utils::Json::JsonView jsonValue);
37     SMSChannelRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>Specifies whether to enable the SMS channel for the application.</p>
43      */
GetEnabled()44     inline bool GetEnabled() const{ return m_enabled; }
45 
46     /**
47      * <p>Specifies whether to enable the SMS channel for the application.</p>
48      */
EnabledHasBeenSet()49     inline bool EnabledHasBeenSet() const { return m_enabledHasBeenSet; }
50 
51     /**
52      * <p>Specifies whether to enable the SMS channel for the application.</p>
53      */
SetEnabled(bool value)54     inline void SetEnabled(bool value) { m_enabledHasBeenSet = true; m_enabled = value; }
55 
56     /**
57      * <p>Specifies whether to enable the SMS channel for the application.</p>
58      */
WithEnabled(bool value)59     inline SMSChannelRequest& WithEnabled(bool value) { SetEnabled(value); return *this;}
60 
61 
62     /**
63      * <p>The identity that you want to display on recipients' devices when they
64      * receive messages from the SMS channel.</p>
65      */
GetSenderId()66     inline const Aws::String& GetSenderId() const{ return m_senderId; }
67 
68     /**
69      * <p>The identity that you want to display on recipients' devices when they
70      * receive messages from the SMS channel.</p>
71      */
SenderIdHasBeenSet()72     inline bool SenderIdHasBeenSet() const { return m_senderIdHasBeenSet; }
73 
74     /**
75      * <p>The identity that you want to display on recipients' devices when they
76      * receive messages from the SMS channel.</p>
77      */
SetSenderId(const Aws::String & value)78     inline void SetSenderId(const Aws::String& value) { m_senderIdHasBeenSet = true; m_senderId = value; }
79 
80     /**
81      * <p>The identity that you want to display on recipients' devices when they
82      * receive messages from the SMS channel.</p>
83      */
SetSenderId(Aws::String && value)84     inline void SetSenderId(Aws::String&& value) { m_senderIdHasBeenSet = true; m_senderId = std::move(value); }
85 
86     /**
87      * <p>The identity that you want to display on recipients' devices when they
88      * receive messages from the SMS channel.</p>
89      */
SetSenderId(const char * value)90     inline void SetSenderId(const char* value) { m_senderIdHasBeenSet = true; m_senderId.assign(value); }
91 
92     /**
93      * <p>The identity that you want to display on recipients' devices when they
94      * receive messages from the SMS channel.</p>
95      */
WithSenderId(const Aws::String & value)96     inline SMSChannelRequest& WithSenderId(const Aws::String& value) { SetSenderId(value); return *this;}
97 
98     /**
99      * <p>The identity that you want to display on recipients' devices when they
100      * receive messages from the SMS channel.</p>
101      */
WithSenderId(Aws::String && value)102     inline SMSChannelRequest& WithSenderId(Aws::String&& value) { SetSenderId(std::move(value)); return *this;}
103 
104     /**
105      * <p>The identity that you want to display on recipients' devices when they
106      * receive messages from the SMS channel.</p>
107      */
WithSenderId(const char * value)108     inline SMSChannelRequest& WithSenderId(const char* value) { SetSenderId(value); return *this;}
109 
110 
111     /**
112      * <p>The registered short code that you want to use when you send messages through
113      * the SMS channel.</p>
114      */
GetShortCode()115     inline const Aws::String& GetShortCode() const{ return m_shortCode; }
116 
117     /**
118      * <p>The registered short code that you want to use when you send messages through
119      * the SMS channel.</p>
120      */
ShortCodeHasBeenSet()121     inline bool ShortCodeHasBeenSet() const { return m_shortCodeHasBeenSet; }
122 
123     /**
124      * <p>The registered short code that you want to use when you send messages through
125      * the SMS channel.</p>
126      */
SetShortCode(const Aws::String & value)127     inline void SetShortCode(const Aws::String& value) { m_shortCodeHasBeenSet = true; m_shortCode = value; }
128 
129     /**
130      * <p>The registered short code that you want to use when you send messages through
131      * the SMS channel.</p>
132      */
SetShortCode(Aws::String && value)133     inline void SetShortCode(Aws::String&& value) { m_shortCodeHasBeenSet = true; m_shortCode = std::move(value); }
134 
135     /**
136      * <p>The registered short code that you want to use when you send messages through
137      * the SMS channel.</p>
138      */
SetShortCode(const char * value)139     inline void SetShortCode(const char* value) { m_shortCodeHasBeenSet = true; m_shortCode.assign(value); }
140 
141     /**
142      * <p>The registered short code that you want to use when you send messages through
143      * the SMS channel.</p>
144      */
WithShortCode(const Aws::String & value)145     inline SMSChannelRequest& WithShortCode(const Aws::String& value) { SetShortCode(value); return *this;}
146 
147     /**
148      * <p>The registered short code that you want to use when you send messages through
149      * the SMS channel.</p>
150      */
WithShortCode(Aws::String && value)151     inline SMSChannelRequest& WithShortCode(Aws::String&& value) { SetShortCode(std::move(value)); return *this;}
152 
153     /**
154      * <p>The registered short code that you want to use when you send messages through
155      * the SMS channel.</p>
156      */
WithShortCode(const char * value)157     inline SMSChannelRequest& WithShortCode(const char* value) { SetShortCode(value); return *this;}
158 
159   private:
160 
161     bool m_enabled;
162     bool m_enabledHasBeenSet;
163 
164     Aws::String m_senderId;
165     bool m_senderIdHasBeenSet;
166 
167     Aws::String m_shortCode;
168     bool m_shortCodeHasBeenSet;
169   };
170 
171 } // namespace Model
172 } // namespace Pinpoint
173 } // namespace Aws
174