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 <utility>
12 
13 namespace Aws
14 {
15 namespace Utils
16 {
17 namespace Json
18 {
19   class JsonValue;
20   class JsonView;
21 } // namespace Json
22 } // namespace Utils
23 namespace Pinpoint
24 {
25 namespace Model
26 {
27 
28   /**
29    * <p>Provides information about which users and endpoints a message was sent
30    * to.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/SendUsersMessageResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_PINPOINT_API SendUsersMessageResponse
35   {
36   public:
37     SendUsersMessageResponse();
38     SendUsersMessageResponse(Aws::Utils::Json::JsonView jsonValue);
39     SendUsersMessageResponse& 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 was used to send the
45      * message.</p>
46      */
GetApplicationId()47     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
48 
49     /**
50      * <p>The unique identifier for the application that was used to send the
51      * message.</p>
52      */
ApplicationIdHasBeenSet()53     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
54 
55     /**
56      * <p>The unique identifier for the application that was used to send the
57      * message.</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 was used to send the
63      * message.</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 was used to send the
69      * message.</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 was used to send the
75      * message.</p>
76      */
WithApplicationId(const Aws::String & value)77     inline SendUsersMessageResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
78 
79     /**
80      * <p>The unique identifier for the application that was used to send the
81      * message.</p>
82      */
WithApplicationId(Aws::String && value)83     inline SendUsersMessageResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
84 
85     /**
86      * <p>The unique identifier for the application that was used to send the
87      * message.</p>
88      */
WithApplicationId(const char * value)89     inline SendUsersMessageResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
90 
91 
92     /**
93      * <p>The unique identifier that was assigned to the message request.</p>
94      */
GetRequestId()95     inline const Aws::String& GetRequestId() const{ return m_requestId; }
96 
97     /**
98      * <p>The unique identifier that was assigned to the message request.</p>
99      */
RequestIdHasBeenSet()100     inline bool RequestIdHasBeenSet() const { return m_requestIdHasBeenSet; }
101 
102     /**
103      * <p>The unique identifier that was assigned to the message request.</p>
104      */
SetRequestId(const Aws::String & value)105     inline void SetRequestId(const Aws::String& value) { m_requestIdHasBeenSet = true; m_requestId = value; }
106 
107     /**
108      * <p>The unique identifier that was assigned to the message request.</p>
109      */
SetRequestId(Aws::String && value)110     inline void SetRequestId(Aws::String&& value) { m_requestIdHasBeenSet = true; m_requestId = std::move(value); }
111 
112     /**
113      * <p>The unique identifier that was assigned to the message request.</p>
114      */
SetRequestId(const char * value)115     inline void SetRequestId(const char* value) { m_requestIdHasBeenSet = true; m_requestId.assign(value); }
116 
117     /**
118      * <p>The unique identifier that was assigned to the message request.</p>
119      */
WithRequestId(const Aws::String & value)120     inline SendUsersMessageResponse& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;}
121 
122     /**
123      * <p>The unique identifier that was assigned to the message request.</p>
124      */
WithRequestId(Aws::String && value)125     inline SendUsersMessageResponse& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;}
126 
127     /**
128      * <p>The unique identifier that was assigned to the message request.</p>
129      */
WithRequestId(const char * value)130     inline SendUsersMessageResponse& WithRequestId(const char* value) { SetRequestId(value); return *this;}
131 
132 
133     /**
134      * <p>An object that indicates which endpoints the message was sent to, for each
135      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
136      * that the message was sent to. For each endpoint ID, it provides an
137      * EndpointMessageResult object.</p>
138      */
GetResult()139     inline const Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>>& GetResult() const{ return m_result; }
140 
141     /**
142      * <p>An object that indicates which endpoints the message was sent to, for each
143      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
144      * that the message was sent to. For each endpoint ID, it provides an
145      * EndpointMessageResult object.</p>
146      */
ResultHasBeenSet()147     inline bool ResultHasBeenSet() const { return m_resultHasBeenSet; }
148 
149     /**
150      * <p>An object that indicates which endpoints the message was sent to, for each
151      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
152      * that the message was sent to. For each endpoint ID, it provides an
153      * EndpointMessageResult object.</p>
154      */
SetResult(const Aws::Map<Aws::String,Aws::Map<Aws::String,EndpointMessageResult>> & value)155     inline void SetResult(const Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>>& value) { m_resultHasBeenSet = true; m_result = value; }
156 
157     /**
158      * <p>An object that indicates which endpoints the message was sent to, for each
159      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
160      * that the message was sent to. For each endpoint ID, it provides an
161      * EndpointMessageResult object.</p>
162      */
SetResult(Aws::Map<Aws::String,Aws::Map<Aws::String,EndpointMessageResult>> && value)163     inline void SetResult(Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>>&& value) { m_resultHasBeenSet = true; m_result = std::move(value); }
164 
165     /**
166      * <p>An object that indicates which endpoints the message was sent to, for each
167      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
168      * that the message was sent to. For each endpoint ID, it provides an
169      * EndpointMessageResult object.</p>
170      */
WithResult(const Aws::Map<Aws::String,Aws::Map<Aws::String,EndpointMessageResult>> & value)171     inline SendUsersMessageResponse& WithResult(const Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>>& value) { SetResult(value); return *this;}
172 
173     /**
174      * <p>An object that indicates which endpoints the message was sent to, for each
175      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
176      * that the message was sent to. For each endpoint ID, it provides an
177      * EndpointMessageResult object.</p>
178      */
WithResult(Aws::Map<Aws::String,Aws::Map<Aws::String,EndpointMessageResult>> && value)179     inline SendUsersMessageResponse& WithResult(Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>>&& value) { SetResult(std::move(value)); return *this;}
180 
181     /**
182      * <p>An object that indicates which endpoints the message was sent to, for each
183      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
184      * that the message was sent to. For each endpoint ID, it provides an
185      * EndpointMessageResult object.</p>
186      */
AddResult(const Aws::String & key,const Aws::Map<Aws::String,EndpointMessageResult> & value)187     inline SendUsersMessageResponse& AddResult(const Aws::String& key, const Aws::Map<Aws::String, EndpointMessageResult>& value) { m_resultHasBeenSet = true; m_result.emplace(key, value); return *this; }
188 
189     /**
190      * <p>An object that indicates which endpoints the message was sent to, for each
191      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
192      * that the message was sent to. For each endpoint ID, it provides an
193      * EndpointMessageResult object.</p>
194      */
AddResult(Aws::String && key,const Aws::Map<Aws::String,EndpointMessageResult> & value)195     inline SendUsersMessageResponse& AddResult(Aws::String&& key, const Aws::Map<Aws::String, EndpointMessageResult>& value) { m_resultHasBeenSet = true; m_result.emplace(std::move(key), value); return *this; }
196 
197     /**
198      * <p>An object that indicates which endpoints the message was sent to, for each
199      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
200      * that the message was sent to. For each endpoint ID, it provides an
201      * EndpointMessageResult object.</p>
202      */
AddResult(const Aws::String & key,Aws::Map<Aws::String,EndpointMessageResult> && value)203     inline SendUsersMessageResponse& AddResult(const Aws::String& key, Aws::Map<Aws::String, EndpointMessageResult>&& value) { m_resultHasBeenSet = true; m_result.emplace(key, std::move(value)); return *this; }
204 
205     /**
206      * <p>An object that indicates which endpoints the message was sent to, for each
207      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
208      * that the message was sent to. For each endpoint ID, it provides an
209      * EndpointMessageResult object.</p>
210      */
AddResult(Aws::String && key,Aws::Map<Aws::String,EndpointMessageResult> && value)211     inline SendUsersMessageResponse& AddResult(Aws::String&& key, Aws::Map<Aws::String, EndpointMessageResult>&& value) { m_resultHasBeenSet = true; m_result.emplace(std::move(key), std::move(value)); return *this; }
212 
213     /**
214      * <p>An object that indicates which endpoints the message was sent to, for each
215      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
216      * that the message was sent to. For each endpoint ID, it provides an
217      * EndpointMessageResult object.</p>
218      */
AddResult(const char * key,Aws::Map<Aws::String,EndpointMessageResult> && value)219     inline SendUsersMessageResponse& AddResult(const char* key, Aws::Map<Aws::String, EndpointMessageResult>&& value) { m_resultHasBeenSet = true; m_result.emplace(key, std::move(value)); return *this; }
220 
221     /**
222      * <p>An object that indicates which endpoints the message was sent to, for each
223      * user. The object lists user IDs and, for each user ID, provides the endpoint IDs
224      * that the message was sent to. For each endpoint ID, it provides an
225      * EndpointMessageResult object.</p>
226      */
AddResult(const char * key,const Aws::Map<Aws::String,EndpointMessageResult> & value)227     inline SendUsersMessageResponse& AddResult(const char* key, const Aws::Map<Aws::String, EndpointMessageResult>& value) { m_resultHasBeenSet = true; m_result.emplace(key, value); return *this; }
228 
229   private:
230 
231     Aws::String m_applicationId;
232     bool m_applicationIdHasBeenSet;
233 
234     Aws::String m_requestId;
235     bool m_requestIdHasBeenSet;
236 
237     Aws::Map<Aws::String, Aws::Map<Aws::String, EndpointMessageResult>> m_result;
238     bool m_resultHasBeenSet;
239   };
240 
241 } // namespace Model
242 } // namespace Pinpoint
243 } // namespace Aws
244