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 <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides the results of a query that retrieved the data for a standard
29    * execution metric that applies to a journey, and provides information about that
30    * query.</p><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneyExecutionMetricsResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_PINPOINT_API JourneyExecutionMetricsResponse
35   {
36   public:
37     JourneyExecutionMetricsResponse();
38     JourneyExecutionMetricsResponse(Aws::Utils::Json::JsonView jsonValue);
39     JourneyExecutionMetricsResponse& 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 the metric applies to.</p>
45      */
GetApplicationId()46     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
47 
48     /**
49      * <p>The unique identifier for the application that the metric applies to.</p>
50      */
ApplicationIdHasBeenSet()51     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
52 
53     /**
54      * <p>The unique identifier for the application that the metric applies to.</p>
55      */
SetApplicationId(const Aws::String & value)56     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
57 
58     /**
59      * <p>The unique identifier for the application that the metric applies to.</p>
60      */
SetApplicationId(Aws::String && value)61     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
62 
63     /**
64      * <p>The unique identifier for the application that the metric applies to.</p>
65      */
SetApplicationId(const char * value)66     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
67 
68     /**
69      * <p>The unique identifier for the application that the metric applies to.</p>
70      */
WithApplicationId(const Aws::String & value)71     inline JourneyExecutionMetricsResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
72 
73     /**
74      * <p>The unique identifier for the application that the metric applies to.</p>
75      */
WithApplicationId(Aws::String && value)76     inline JourneyExecutionMetricsResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
77 
78     /**
79      * <p>The unique identifier for the application that the metric applies to.</p>
80      */
WithApplicationId(const char * value)81     inline JourneyExecutionMetricsResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
82 
83 
84     /**
85      * <p>The unique identifier for the journey that the metric applies to.</p>
86      */
GetJourneyId()87     inline const Aws::String& GetJourneyId() const{ return m_journeyId; }
88 
89     /**
90      * <p>The unique identifier for the journey that the metric applies to.</p>
91      */
JourneyIdHasBeenSet()92     inline bool JourneyIdHasBeenSet() const { return m_journeyIdHasBeenSet; }
93 
94     /**
95      * <p>The unique identifier for the journey that the metric applies to.</p>
96      */
SetJourneyId(const Aws::String & value)97     inline void SetJourneyId(const Aws::String& value) { m_journeyIdHasBeenSet = true; m_journeyId = value; }
98 
99     /**
100      * <p>The unique identifier for the journey that the metric applies to.</p>
101      */
SetJourneyId(Aws::String && value)102     inline void SetJourneyId(Aws::String&& value) { m_journeyIdHasBeenSet = true; m_journeyId = std::move(value); }
103 
104     /**
105      * <p>The unique identifier for the journey that the metric applies to.</p>
106      */
SetJourneyId(const char * value)107     inline void SetJourneyId(const char* value) { m_journeyIdHasBeenSet = true; m_journeyId.assign(value); }
108 
109     /**
110      * <p>The unique identifier for the journey that the metric applies to.</p>
111      */
WithJourneyId(const Aws::String & value)112     inline JourneyExecutionMetricsResponse& WithJourneyId(const Aws::String& value) { SetJourneyId(value); return *this;}
113 
114     /**
115      * <p>The unique identifier for the journey that the metric applies to.</p>
116      */
WithJourneyId(Aws::String && value)117     inline JourneyExecutionMetricsResponse& WithJourneyId(Aws::String&& value) { SetJourneyId(std::move(value)); return *this;}
118 
119     /**
120      * <p>The unique identifier for the journey that the metric applies to.</p>
121      */
WithJourneyId(const char * value)122     inline JourneyExecutionMetricsResponse& WithJourneyId(const char* value) { SetJourneyId(value); return *this;}
123 
124 
125     /**
126      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
127      * the journey and updated the data for the metric.</p>
128      */
GetLastEvaluatedTime()129     inline const Aws::String& GetLastEvaluatedTime() const{ return m_lastEvaluatedTime; }
130 
131     /**
132      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
133      * the journey and updated the data for the metric.</p>
134      */
LastEvaluatedTimeHasBeenSet()135     inline bool LastEvaluatedTimeHasBeenSet() const { return m_lastEvaluatedTimeHasBeenSet; }
136 
137     /**
138      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
139      * the journey and updated the data for the metric.</p>
140      */
SetLastEvaluatedTime(const Aws::String & value)141     inline void SetLastEvaluatedTime(const Aws::String& value) { m_lastEvaluatedTimeHasBeenSet = true; m_lastEvaluatedTime = value; }
142 
143     /**
144      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
145      * the journey and updated the data for the metric.</p>
146      */
SetLastEvaluatedTime(Aws::String && value)147     inline void SetLastEvaluatedTime(Aws::String&& value) { m_lastEvaluatedTimeHasBeenSet = true; m_lastEvaluatedTime = std::move(value); }
148 
149     /**
150      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
151      * the journey and updated the data for the metric.</p>
152      */
SetLastEvaluatedTime(const char * value)153     inline void SetLastEvaluatedTime(const char* value) { m_lastEvaluatedTimeHasBeenSet = true; m_lastEvaluatedTime.assign(value); }
154 
155     /**
156      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
157      * the journey and updated the data for the metric.</p>
158      */
WithLastEvaluatedTime(const Aws::String & value)159     inline JourneyExecutionMetricsResponse& WithLastEvaluatedTime(const Aws::String& value) { SetLastEvaluatedTime(value); return *this;}
160 
161     /**
162      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
163      * the journey and updated the data for the metric.</p>
164      */
WithLastEvaluatedTime(Aws::String && value)165     inline JourneyExecutionMetricsResponse& WithLastEvaluatedTime(Aws::String&& value) { SetLastEvaluatedTime(std::move(value)); return *this;}
166 
167     /**
168      * <p>The date and time, in ISO 8601 format, when Amazon Pinpoint last evaluated
169      * the journey and updated the data for the metric.</p>
170      */
WithLastEvaluatedTime(const char * value)171     inline JourneyExecutionMetricsResponse& WithLastEvaluatedTime(const char* value) { SetLastEvaluatedTime(value); return *this;}
172 
173 
174     /**
175      * <p>A JSON object that contains the results of the query. For information about
176      * the structure and contents of the results, see the <a
177      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
178      * Pinpoint Developer Guide</a>.</p>
179      */
GetMetrics()180     inline const Aws::Map<Aws::String, Aws::String>& GetMetrics() const{ return m_metrics; }
181 
182     /**
183      * <p>A JSON object that contains the results of the query. For information about
184      * the structure and contents of the results, see the <a
185      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
186      * Pinpoint Developer Guide</a>.</p>
187      */
MetricsHasBeenSet()188     inline bool MetricsHasBeenSet() const { return m_metricsHasBeenSet; }
189 
190     /**
191      * <p>A JSON object that contains the results of the query. For information about
192      * the structure and contents of the results, see the <a
193      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
194      * Pinpoint Developer Guide</a>.</p>
195      */
SetMetrics(const Aws::Map<Aws::String,Aws::String> & value)196     inline void SetMetrics(const Aws::Map<Aws::String, Aws::String>& value) { m_metricsHasBeenSet = true; m_metrics = value; }
197 
198     /**
199      * <p>A JSON object that contains the results of the query. For information about
200      * the structure and contents of the results, see the <a
201      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
202      * Pinpoint Developer Guide</a>.</p>
203      */
SetMetrics(Aws::Map<Aws::String,Aws::String> && value)204     inline void SetMetrics(Aws::Map<Aws::String, Aws::String>&& value) { m_metricsHasBeenSet = true; m_metrics = std::move(value); }
205 
206     /**
207      * <p>A JSON object that contains the results of the query. For information about
208      * the structure and contents of the results, see the <a
209      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
210      * Pinpoint Developer Guide</a>.</p>
211      */
WithMetrics(const Aws::Map<Aws::String,Aws::String> & value)212     inline JourneyExecutionMetricsResponse& WithMetrics(const Aws::Map<Aws::String, Aws::String>& value) { SetMetrics(value); return *this;}
213 
214     /**
215      * <p>A JSON object that contains the results of the query. For information about
216      * the structure and contents of the results, see the <a
217      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
218      * Pinpoint Developer Guide</a>.</p>
219      */
WithMetrics(Aws::Map<Aws::String,Aws::String> && value)220     inline JourneyExecutionMetricsResponse& WithMetrics(Aws::Map<Aws::String, Aws::String>&& value) { SetMetrics(std::move(value)); return *this;}
221 
222     /**
223      * <p>A JSON object that contains the results of the query. For information about
224      * the structure and contents of the results, see the <a
225      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
226      * Pinpoint Developer Guide</a>.</p>
227      */
AddMetrics(const Aws::String & key,const Aws::String & value)228     inline JourneyExecutionMetricsResponse& AddMetrics(const Aws::String& key, const Aws::String& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, value); return *this; }
229 
230     /**
231      * <p>A JSON object that contains the results of the query. For information about
232      * the structure and contents of the results, see the <a
233      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
234      * Pinpoint Developer Guide</a>.</p>
235      */
AddMetrics(Aws::String && key,const Aws::String & value)236     inline JourneyExecutionMetricsResponse& AddMetrics(Aws::String&& key, const Aws::String& value) { m_metricsHasBeenSet = true; m_metrics.emplace(std::move(key), value); return *this; }
237 
238     /**
239      * <p>A JSON object that contains the results of the query. For information about
240      * the structure and contents of the results, see the <a
241      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
242      * Pinpoint Developer Guide</a>.</p>
243      */
AddMetrics(const Aws::String & key,Aws::String && value)244     inline JourneyExecutionMetricsResponse& AddMetrics(const Aws::String& key, Aws::String&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, std::move(value)); return *this; }
245 
246     /**
247      * <p>A JSON object that contains the results of the query. For information about
248      * the structure and contents of the results, see the <a
249      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
250      * Pinpoint Developer Guide</a>.</p>
251      */
AddMetrics(Aws::String && key,Aws::String && value)252     inline JourneyExecutionMetricsResponse& AddMetrics(Aws::String&& key, Aws::String&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(std::move(key), std::move(value)); return *this; }
253 
254     /**
255      * <p>A JSON object that contains the results of the query. For information about
256      * the structure and contents of the results, see the <a
257      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
258      * Pinpoint Developer Guide</a>.</p>
259      */
AddMetrics(const char * key,Aws::String && value)260     inline JourneyExecutionMetricsResponse& AddMetrics(const char* key, Aws::String&& value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, std::move(value)); return *this; }
261 
262     /**
263      * <p>A JSON object that contains the results of the query. For information about
264      * the structure and contents of the results, see the <a
265      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
266      * Pinpoint Developer Guide</a>.</p>
267      */
AddMetrics(Aws::String && key,const char * value)268     inline JourneyExecutionMetricsResponse& AddMetrics(Aws::String&& key, const char* value) { m_metricsHasBeenSet = true; m_metrics.emplace(std::move(key), value); return *this; }
269 
270     /**
271      * <p>A JSON object that contains the results of the query. For information about
272      * the structure and contents of the results, see the <a
273      * href="https://docs.aws.amazon.com//pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
274      * Pinpoint Developer Guide</a>.</p>
275      */
AddMetrics(const char * key,const char * value)276     inline JourneyExecutionMetricsResponse& AddMetrics(const char* key, const char* value) { m_metricsHasBeenSet = true; m_metrics.emplace(key, value); return *this; }
277 
278   private:
279 
280     Aws::String m_applicationId;
281     bool m_applicationIdHasBeenSet;
282 
283     Aws::String m_journeyId;
284     bool m_journeyIdHasBeenSet;
285 
286     Aws::String m_lastEvaluatedTime;
287     bool m_lastEvaluatedTimeHasBeenSet;
288 
289     Aws::Map<Aws::String, Aws::String> m_metrics;
290     bool m_metricsHasBeenSet;
291   };
292 
293 } // namespace Model
294 } // namespace Pinpoint
295 } // namespace Aws
296