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/pinpoint/model/EndpointItemResponse.h>
9 #include <aws/core/utils/memory/stl/AWSMap.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <aws/pinpoint/model/EventItemResponse.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 create or update an
31    * endpoint that's associated with an event.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/ItemResponse">AWS
33    * API Reference</a></p>
34    */
35   class AWS_PINPOINT_API ItemResponse
36   {
37   public:
38     ItemResponse();
39     ItemResponse(Aws::Utils::Json::JsonView jsonValue);
40     ItemResponse& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>The response that was received after the endpoint data was accepted.</p>
46      */
GetEndpointItemResponse()47     inline const EndpointItemResponse& GetEndpointItemResponse() const{ return m_endpointItemResponse; }
48 
49     /**
50      * <p>The response that was received after the endpoint data was accepted.</p>
51      */
EndpointItemResponseHasBeenSet()52     inline bool EndpointItemResponseHasBeenSet() const { return m_endpointItemResponseHasBeenSet; }
53 
54     /**
55      * <p>The response that was received after the endpoint data was accepted.</p>
56      */
SetEndpointItemResponse(const EndpointItemResponse & value)57     inline void SetEndpointItemResponse(const EndpointItemResponse& value) { m_endpointItemResponseHasBeenSet = true; m_endpointItemResponse = value; }
58 
59     /**
60      * <p>The response that was received after the endpoint data was accepted.</p>
61      */
SetEndpointItemResponse(EndpointItemResponse && value)62     inline void SetEndpointItemResponse(EndpointItemResponse&& value) { m_endpointItemResponseHasBeenSet = true; m_endpointItemResponse = std::move(value); }
63 
64     /**
65      * <p>The response that was received after the endpoint data was accepted.</p>
66      */
WithEndpointItemResponse(const EndpointItemResponse & value)67     inline ItemResponse& WithEndpointItemResponse(const EndpointItemResponse& value) { SetEndpointItemResponse(value); return *this;}
68 
69     /**
70      * <p>The response that was received after the endpoint data was accepted.</p>
71      */
WithEndpointItemResponse(EndpointItemResponse && value)72     inline ItemResponse& WithEndpointItemResponse(EndpointItemResponse&& value) { SetEndpointItemResponse(std::move(value)); return *this;}
73 
74 
75     /**
76      * <p>A multipart response object that contains a key and a value for each event in
77      * the request. In each object, the event ID is the key and an EventItemResponse
78      * object is the value.</p>
79      */
GetEventsItemResponse()80     inline const Aws::Map<Aws::String, EventItemResponse>& GetEventsItemResponse() const{ return m_eventsItemResponse; }
81 
82     /**
83      * <p>A multipart response object that contains a key and a value for each event in
84      * the request. In each object, the event ID is the key and an EventItemResponse
85      * object is the value.</p>
86      */
EventsItemResponseHasBeenSet()87     inline bool EventsItemResponseHasBeenSet() const { return m_eventsItemResponseHasBeenSet; }
88 
89     /**
90      * <p>A multipart response object that contains a key and a value for each event in
91      * the request. In each object, the event ID is the key and an EventItemResponse
92      * object is the value.</p>
93      */
SetEventsItemResponse(const Aws::Map<Aws::String,EventItemResponse> & value)94     inline void SetEventsItemResponse(const Aws::Map<Aws::String, EventItemResponse>& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse = value; }
95 
96     /**
97      * <p>A multipart response object that contains a key and a value for each event in
98      * the request. In each object, the event ID is the key and an EventItemResponse
99      * object is the value.</p>
100      */
SetEventsItemResponse(Aws::Map<Aws::String,EventItemResponse> && value)101     inline void SetEventsItemResponse(Aws::Map<Aws::String, EventItemResponse>&& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse = std::move(value); }
102 
103     /**
104      * <p>A multipart response object that contains a key and a value for each event in
105      * the request. In each object, the event ID is the key and an EventItemResponse
106      * object is the value.</p>
107      */
WithEventsItemResponse(const Aws::Map<Aws::String,EventItemResponse> & value)108     inline ItemResponse& WithEventsItemResponse(const Aws::Map<Aws::String, EventItemResponse>& value) { SetEventsItemResponse(value); return *this;}
109 
110     /**
111      * <p>A multipart response object that contains a key and a value for each event in
112      * the request. In each object, the event ID is the key and an EventItemResponse
113      * object is the value.</p>
114      */
WithEventsItemResponse(Aws::Map<Aws::String,EventItemResponse> && value)115     inline ItemResponse& WithEventsItemResponse(Aws::Map<Aws::String, EventItemResponse>&& value) { SetEventsItemResponse(std::move(value)); return *this;}
116 
117     /**
118      * <p>A multipart response object that contains a key and a value for each event in
119      * the request. In each object, the event ID is the key and an EventItemResponse
120      * object is the value.</p>
121      */
AddEventsItemResponse(const Aws::String & key,const EventItemResponse & value)122     inline ItemResponse& AddEventsItemResponse(const Aws::String& key, const EventItemResponse& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(key, value); return *this; }
123 
124     /**
125      * <p>A multipart response object that contains a key and a value for each event in
126      * the request. In each object, the event ID is the key and an EventItemResponse
127      * object is the value.</p>
128      */
AddEventsItemResponse(Aws::String && key,const EventItemResponse & value)129     inline ItemResponse& AddEventsItemResponse(Aws::String&& key, const EventItemResponse& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(std::move(key), value); return *this; }
130 
131     /**
132      * <p>A multipart response object that contains a key and a value for each event in
133      * the request. In each object, the event ID is the key and an EventItemResponse
134      * object is the value.</p>
135      */
AddEventsItemResponse(const Aws::String & key,EventItemResponse && value)136     inline ItemResponse& AddEventsItemResponse(const Aws::String& key, EventItemResponse&& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(key, std::move(value)); return *this; }
137 
138     /**
139      * <p>A multipart response object that contains a key and a value for each event in
140      * the request. In each object, the event ID is the key and an EventItemResponse
141      * object is the value.</p>
142      */
AddEventsItemResponse(Aws::String && key,EventItemResponse && value)143     inline ItemResponse& AddEventsItemResponse(Aws::String&& key, EventItemResponse&& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(std::move(key), std::move(value)); return *this; }
144 
145     /**
146      * <p>A multipart response object that contains a key and a value for each event in
147      * the request. In each object, the event ID is the key and an EventItemResponse
148      * object is the value.</p>
149      */
AddEventsItemResponse(const char * key,EventItemResponse && value)150     inline ItemResponse& AddEventsItemResponse(const char* key, EventItemResponse&& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(key, std::move(value)); return *this; }
151 
152     /**
153      * <p>A multipart response object that contains a key and a value for each event in
154      * the request. In each object, the event ID is the key and an EventItemResponse
155      * object is the value.</p>
156      */
AddEventsItemResponse(const char * key,const EventItemResponse & value)157     inline ItemResponse& AddEventsItemResponse(const char* key, const EventItemResponse& value) { m_eventsItemResponseHasBeenSet = true; m_eventsItemResponse.emplace(key, value); return *this; }
158 
159   private:
160 
161     EndpointItemResponse m_endpointItemResponse;
162     bool m_endpointItemResponseHasBeenSet;
163 
164     Aws::Map<Aws::String, EventItemResponse> m_eventsItemResponse;
165     bool m_eventsItemResponseHasBeenSet;
166   };
167 
168 } // namespace Model
169 } // namespace Pinpoint
170 } // namespace Aws
171