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 <aws/core/utils/memory/stl/AWSMap.h>
10 #include <aws/pinpoint/model/EndpointMessageResult.h>
11 #include <aws/pinpoint/model/MessageResult.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace Pinpoint
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>Provides information about the results of a request to send a message to an
31    * endpoint address.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/MessageResponse">AWS
33    * API Reference</a></p>
34    */
35   class AWS_PINPOINT_API MessageResponse
36   {
37   public:
38     MessageResponse();
39     MessageResponse(Aws::Utils::Json::JsonView jsonValue);
40     MessageResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The unique identifier for the application that was used to send the
46      * message.</p>
47      */
GetApplicationId()48     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
49 
50     /**
51      * <p>The unique identifier for the application that was used to send the
52      * message.</p>
53      */
ApplicationIdHasBeenSet()54     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
55 
56     /**
57      * <p>The unique identifier for the application that was used to send the
58      * message.</p>
59      */
SetApplicationId(const Aws::String & value)60     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
61 
62     /**
63      * <p>The unique identifier for the application that was used to send the
64      * message.</p>
65      */
SetApplicationId(Aws::String && value)66     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
67 
68     /**
69      * <p>The unique identifier for the application that was used to send the
70      * message.</p>
71      */
SetApplicationId(const char * value)72     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
73 
74     /**
75      * <p>The unique identifier for the application that was used to send the
76      * message.</p>
77      */
WithApplicationId(const Aws::String & value)78     inline MessageResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
79 
80     /**
81      * <p>The unique identifier for the application that was used to send the
82      * message.</p>
83      */
WithApplicationId(Aws::String && value)84     inline MessageResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
85 
86     /**
87      * <p>The unique identifier for the application that was used to send the
88      * message.</p>
89      */
WithApplicationId(const char * value)90     inline MessageResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
91 
92 
93     /**
94      * <p>A map that contains a multipart response for each address that the message
95      * was sent to. In the map, the endpoint ID is the key and the result is the
96      * value.</p>
97      */
GetEndpointResult()98     inline const Aws::Map<Aws::String, EndpointMessageResult>& GetEndpointResult() const{ return m_endpointResult; }
99 
100     /**
101      * <p>A map that contains a multipart response for each address that the message
102      * was sent to. In the map, the endpoint ID is the key and the result is the
103      * value.</p>
104      */
EndpointResultHasBeenSet()105     inline bool EndpointResultHasBeenSet() const { return m_endpointResultHasBeenSet; }
106 
107     /**
108      * <p>A map that contains a multipart response for each address that the message
109      * was sent to. In the map, the endpoint ID is the key and the result is the
110      * value.</p>
111      */
SetEndpointResult(const Aws::Map<Aws::String,EndpointMessageResult> & value)112     inline void SetEndpointResult(const Aws::Map<Aws::String, EndpointMessageResult>& value) { m_endpointResultHasBeenSet = true; m_endpointResult = value; }
113 
114     /**
115      * <p>A map that contains a multipart response for each address that the message
116      * was sent to. In the map, the endpoint ID is the key and the result is the
117      * value.</p>
118      */
SetEndpointResult(Aws::Map<Aws::String,EndpointMessageResult> && value)119     inline void SetEndpointResult(Aws::Map<Aws::String, EndpointMessageResult>&& value) { m_endpointResultHasBeenSet = true; m_endpointResult = std::move(value); }
120 
121     /**
122      * <p>A map that contains a multipart response for each address that the message
123      * was sent to. In the map, the endpoint ID is the key and the result is the
124      * value.</p>
125      */
WithEndpointResult(const Aws::Map<Aws::String,EndpointMessageResult> & value)126     inline MessageResponse& WithEndpointResult(const Aws::Map<Aws::String, EndpointMessageResult>& value) { SetEndpointResult(value); return *this;}
127 
128     /**
129      * <p>A map that contains a multipart response for each address that the message
130      * was sent to. In the map, the endpoint ID is the key and the result is the
131      * value.</p>
132      */
WithEndpointResult(Aws::Map<Aws::String,EndpointMessageResult> && value)133     inline MessageResponse& WithEndpointResult(Aws::Map<Aws::String, EndpointMessageResult>&& value) { SetEndpointResult(std::move(value)); return *this;}
134 
135     /**
136      * <p>A map that contains a multipart response for each address that the message
137      * was sent to. In the map, the endpoint ID is the key and the result is the
138      * value.</p>
139      */
AddEndpointResult(const Aws::String & key,const EndpointMessageResult & value)140     inline MessageResponse& AddEndpointResult(const Aws::String& key, const EndpointMessageResult& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(key, value); return *this; }
141 
142     /**
143      * <p>A map that contains a multipart response for each address that the message
144      * was sent to. In the map, the endpoint ID is the key and the result is the
145      * value.</p>
146      */
AddEndpointResult(Aws::String && key,const EndpointMessageResult & value)147     inline MessageResponse& AddEndpointResult(Aws::String&& key, const EndpointMessageResult& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(std::move(key), value); return *this; }
148 
149     /**
150      * <p>A map that contains a multipart response for each address that the message
151      * was sent to. In the map, the endpoint ID is the key and the result is the
152      * value.</p>
153      */
AddEndpointResult(const Aws::String & key,EndpointMessageResult && value)154     inline MessageResponse& AddEndpointResult(const Aws::String& key, EndpointMessageResult&& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(key, std::move(value)); return *this; }
155 
156     /**
157      * <p>A map that contains a multipart response for each address that the message
158      * was sent to. In the map, the endpoint ID is the key and the result is the
159      * value.</p>
160      */
AddEndpointResult(Aws::String && key,EndpointMessageResult && value)161     inline MessageResponse& AddEndpointResult(Aws::String&& key, EndpointMessageResult&& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(std::move(key), std::move(value)); return *this; }
162 
163     /**
164      * <p>A map that contains a multipart response for each address that the message
165      * was sent to. In the map, the endpoint ID is the key and the result is the
166      * value.</p>
167      */
AddEndpointResult(const char * key,EndpointMessageResult && value)168     inline MessageResponse& AddEndpointResult(const char* key, EndpointMessageResult&& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(key, std::move(value)); return *this; }
169 
170     /**
171      * <p>A map that contains a multipart response for each address that the message
172      * was sent to. In the map, the endpoint ID is the key and the result is the
173      * value.</p>
174      */
AddEndpointResult(const char * key,const EndpointMessageResult & value)175     inline MessageResponse& AddEndpointResult(const char* key, const EndpointMessageResult& value) { m_endpointResultHasBeenSet = true; m_endpointResult.emplace(key, value); return *this; }
176 
177 
178     /**
179      * <p>The identifier for the original request that the message was delivered
180      * for.</p>
181      */
GetRequestId()182     inline const Aws::String& GetRequestId() const{ return m_requestId; }
183 
184     /**
185      * <p>The identifier for the original request that the message was delivered
186      * for.</p>
187      */
RequestIdHasBeenSet()188     inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
189 
190     /**
191      * <p>The identifier for the original request that the message was delivered
192      * for.</p>
193      */
SetRequestId(const Aws::String & value)194     inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
195 
196     /**
197      * <p>The identifier for the original request that the message was delivered
198      * for.</p>
199      */
SetRequestId(Aws::String && value)200     inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
201 
202     /**
203      * <p>The identifier for the original request that the message was delivered
204      * for.</p>
205      */
SetRequestId(const char * value)206     inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
207 
208     /**
209      * <p>The identifier for the original request that the message was delivered
210      * for.</p>
211      */
WithRequestId(const Aws::String & value)212     inline MessageResponse& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
213 
214     /**
215      * <p>The identifier for the original request that the message was delivered
216      * for.</p>
217      */
WithRequestId(Aws::String && value)218     inline MessageResponse& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
219 
220     /**
221      * <p>The identifier for the original request that the message was delivered
222      * for.</p>
223      */
WithRequestId(const char * value)224     inline MessageResponse& WithRequestId(const char* value) { SetRequestId(value); return *this;}
225 
226 
227     /**
228      * <p>A map that contains a multipart response for each address (email address,
229      * phone number, or push notification token) that the message was sent to. In the
230      * map, the address is the key and the result is the value.</p>
231      */
GetResult()232     inline const Aws::Map<Aws::String, MessageResult>& GetResult() const{ return m_result; }
233 
234     /**
235      * <p>A map that contains a multipart response for each address (email address,
236      * phone number, or push notification token) that the message was sent to. In the
237      * map, the address is the key and the result is the value.</p>
238      */
ResultHasBeenSet()239     inline bool ResultHasBeenSet() const { return m_resultHasBeenSet; }
240 
241     /**
242      * <p>A map that contains a multipart response for each address (email address,
243      * phone number, or push notification token) that the message was sent to. In the
244      * map, the address is the key and the result is the value.</p>
245      */
SetResult(const Aws::Map<Aws::String,MessageResult> & value)246     inline void SetResult(const Aws::Map<Aws::String, MessageResult>& value) { m_resultHasBeenSet = true; m_result = value; }
247 
248     /**
249      * <p>A map that contains a multipart response for each address (email address,
250      * phone number, or push notification token) that the message was sent to. In the
251      * map, the address is the key and the result is the value.</p>
252      */
SetResult(Aws::Map<Aws::String,MessageResult> && value)253     inline void SetResult(Aws::Map<Aws::String, MessageResult>&& value) { m_resultHasBeenSet = true; m_result = std::move(value); }
254 
255     /**
256      * <p>A map that contains a multipart response for each address (email address,
257      * phone number, or push notification token) that the message was sent to. In the
258      * map, the address is the key and the result is the value.</p>
259      */
WithResult(const Aws::Map<Aws::String,MessageResult> & value)260     inline MessageResponse& WithResult(const Aws::Map<Aws::String, MessageResult>& value) { SetResult(value); return *this;}
261 
262     /**
263      * <p>A map that contains a multipart response for each address (email address,
264      * phone number, or push notification token) that the message was sent to. In the
265      * map, the address is the key and the result is the value.</p>
266      */
WithResult(Aws::Map<Aws::String,MessageResult> && value)267     inline MessageResponse& WithResult(Aws::Map<Aws::String, MessageResult>&& value) { SetResult(std::move(value)); return *this;}
268 
269     /**
270      * <p>A map that contains a multipart response for each address (email address,
271      * phone number, or push notification token) that the message was sent to. In the
272      * map, the address is the key and the result is the value.</p>
273      */
AddResult(const Aws::String & key,const MessageResult & value)274     inline MessageResponse& AddResult(const Aws::String& key, const MessageResult& value) { m_resultHasBeenSet = true; m_result.emplace(key, value); return *this; }
275 
276     /**
277      * <p>A map that contains a multipart response for each address (email address,
278      * phone number, or push notification token) that the message was sent to. In the
279      * map, the address is the key and the result is the value.</p>
280      */
AddResult(Aws::String && key,const MessageResult & value)281     inline MessageResponse& AddResult(Aws::String&& key, const MessageResult& value) { m_resultHasBeenSet = true; m_result.emplace(std::move(key), value); return *this; }
282 
283     /**
284      * <p>A map that contains a multipart response for each address (email address,
285      * phone number, or push notification token) that the message was sent to. In the
286      * map, the address is the key and the result is the value.</p>
287      */
AddResult(const Aws::String & key,MessageResult && value)288     inline MessageResponse& AddResult(const Aws::String& key, MessageResult&& value) { m_resultHasBeenSet = true; m_result.emplace(key, std::move(value)); return *this; }
289 
290     /**
291      * <p>A map that contains a multipart response for each address (email address,
292      * phone number, or push notification token) that the message was sent to. In the
293      * map, the address is the key and the result is the value.</p>
294      */
AddResult(Aws::String && key,MessageResult && value)295     inline MessageResponse& AddResult(Aws::String&& key, MessageResult&& value) { m_resultHasBeenSet = true; m_result.emplace(std::move(key), std::move(value)); return *this; }
296 
297     /**
298      * <p>A map that contains a multipart response for each address (email address,
299      * phone number, or push notification token) that the message was sent to. In the
300      * map, the address is the key and the result is the value.</p>
301      */
AddResult(const char * key,MessageResult && value)302     inline MessageResponse& AddResult(const char* key, MessageResult&& value) { m_resultHasBeenSet = true; m_result.emplace(key, std::move(value)); return *this; }
303 
304     /**
305      * <p>A map that contains a multipart response for each address (email address,
306      * phone number, or push notification token) that the message was sent to. In the
307      * map, the address is the key and the result is the value.</p>
308      */
AddResult(const char * key,const MessageResult & value)309     inline MessageResponse& AddResult(const char* key, const MessageResult& value) { m_resultHasBeenSet = true; m_result.emplace(key, value); return *this; }
310 
311   private:
312 
313     Aws::String m_applicationId;
314     bool m_applicationIdHasBeenSet;
315 
316     Aws::Map<Aws::String, EndpointMessageResult> m_endpointResult;
317     bool m_endpointResultHasBeenSet;
318 
319     Aws::String m_requestId;
320     bool m_requestIdHasBeenSet;
321 
322     Aws::Map<Aws::String, MessageResult> m_result;
323     bool m_resultHasBeenSet;
324   };
325 
326 } // namespace Model
327 } // namespace Pinpoint
328 } // namespace Aws
329