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/DateTime.h>
10 #include <aws/pinpoint/model/BaseKpiResult.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 the results of a query that retrieved the data for a standard
30    * engagement metric that applies to a journey, and provides information about that
31    * query.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/JourneyDateRangeKpiResponse">AWS
33    * API Reference</a></p>
34    */
35   class AWS_PINPOINT_API JourneyDateRangeKpiResponse
36   {
37   public:
38     JourneyDateRangeKpiResponse();
39     JourneyDateRangeKpiResponse(Aws::Utils::Json::JsonView jsonValue);
40     JourneyDateRangeKpiResponse& 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 the metric applies to.</p>
46      */
GetApplicationId()47     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
48 
49     /**
50      * <p>The unique identifier for the application that the metric applies to.</p>
51      */
ApplicationIdHasBeenSet()52     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
53 
54     /**
55      * <p>The unique identifier for the application that the metric applies to.</p>
56      */
SetApplicationId(const Aws::String & value)57     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
58 
59     /**
60      * <p>The unique identifier for the application that the metric applies to.</p>
61      */
SetApplicationId(Aws::String && value)62     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
63 
64     /**
65      * <p>The unique identifier for the application that the metric applies to.</p>
66      */
SetApplicationId(const char * value)67     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
68 
69     /**
70      * <p>The unique identifier for the application that the metric applies to.</p>
71      */
WithApplicationId(const Aws::String & value)72     inline JourneyDateRangeKpiResponse& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
73 
74     /**
75      * <p>The unique identifier for the application that the metric applies to.</p>
76      */
WithApplicationId(Aws::String && value)77     inline JourneyDateRangeKpiResponse& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
78 
79     /**
80      * <p>The unique identifier for the application that the metric applies to.</p>
81      */
WithApplicationId(const char * value)82     inline JourneyDateRangeKpiResponse& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
83 
84 
85     /**
86      * <p>The last date and time of the date range that was used to filter the query
87      * results, in extended ISO 8601 format. The date range is inclusive.</p>
88      */
GetEndTime()89     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
90 
91     /**
92      * <p>The last date and time of the date range that was used to filter the query
93      * results, in extended ISO 8601 format. The date range is inclusive.</p>
94      */
EndTimeHasBeenSet()95     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
96 
97     /**
98      * <p>The last date and time of the date range that was used to filter the query
99      * results, in extended ISO 8601 format. The date range is inclusive.</p>
100      */
SetEndTime(const Aws::Utils::DateTime & value)101     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
102 
103     /**
104      * <p>The last date and time of the date range that was used to filter the query
105      * results, in extended ISO 8601 format. The date range is inclusive.</p>
106      */
SetEndTime(Aws::Utils::DateTime && value)107     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
108 
109     /**
110      * <p>The last date and time of the date range that was used to filter the query
111      * results, in extended ISO 8601 format. The date range is inclusive.</p>
112      */
WithEndTime(const Aws::Utils::DateTime & value)113     inline JourneyDateRangeKpiResponse& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
114 
115     /**
116      * <p>The last date and time of the date range that was used to filter the query
117      * results, in extended ISO 8601 format. The date range is inclusive.</p>
118      */
WithEndTime(Aws::Utils::DateTime && value)119     inline JourneyDateRangeKpiResponse& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
120 
121 
122     /**
123      * <p>The unique identifier for the journey that the metric applies to.</p>
124      */
GetJourneyId()125     inline const Aws::String& GetJourneyId() const{ return m_journeyId; }
126 
127     /**
128      * <p>The unique identifier for the journey that the metric applies to.</p>
129      */
JourneyIdHasBeenSet()130     inline bool JourneyIdHasBeenSet() const { return m_journeyIdHasBeenSet; }
131 
132     /**
133      * <p>The unique identifier for the journey that the metric applies to.</p>
134      */
SetJourneyId(const Aws::String & value)135     inline void SetJourneyId(const Aws::String& value) { m_journeyIdHasBeenSet = true; m_journeyId = value; }
136 
137     /**
138      * <p>The unique identifier for the journey that the metric applies to.</p>
139      */
SetJourneyId(Aws::String && value)140     inline void SetJourneyId(Aws::String&& value) { m_journeyIdHasBeenSet = true; m_journeyId = std::move(value); }
141 
142     /**
143      * <p>The unique identifier for the journey that the metric applies to.</p>
144      */
SetJourneyId(const char * value)145     inline void SetJourneyId(const char* value) { m_journeyIdHasBeenSet = true; m_journeyId.assign(value); }
146 
147     /**
148      * <p>The unique identifier for the journey that the metric applies to.</p>
149      */
WithJourneyId(const Aws::String & value)150     inline JourneyDateRangeKpiResponse& WithJourneyId(const Aws::String& value) { SetJourneyId(value); return *this;}
151 
152     /**
153      * <p>The unique identifier for the journey that the metric applies to.</p>
154      */
WithJourneyId(Aws::String && value)155     inline JourneyDateRangeKpiResponse& WithJourneyId(Aws::String&& value) { SetJourneyId(std::move(value)); return *this;}
156 
157     /**
158      * <p>The unique identifier for the journey that the metric applies to.</p>
159      */
WithJourneyId(const char * value)160     inline JourneyDateRangeKpiResponse& WithJourneyId(const char* value) { SetJourneyId(value); return *this;}
161 
162 
163     /**
164      * <p>The name of the metric, also referred to as a <i>key performance indicator
165      * (KPI)</i>, that the data was retrieved for. This value describes the associated
166      * metric and consists of two or more terms, which are comprised of lowercase
167      * alphanumeric characters, separated by a hyphen. For a list of possible values,
168      * see the <a
169      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
170      * Pinpoint Developer Guide</a>.</p>
171      */
GetKpiName()172     inline const Aws::String& GetKpiName() const{ return m_kpiName; }
173 
174     /**
175      * <p>The name of the metric, also referred to as a <i>key performance indicator
176      * (KPI)</i>, that the data was retrieved for. This value describes the associated
177      * metric and consists of two or more terms, which are comprised of lowercase
178      * alphanumeric characters, separated by a hyphen. For a list of possible values,
179      * see the <a
180      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
181      * Pinpoint Developer Guide</a>.</p>
182      */
KpiNameHasBeenSet()183     inline bool KpiNameHasBeenSet() const { return m_kpiNameHasBeenSet; }
184 
185     /**
186      * <p>The name of the metric, also referred to as a <i>key performance indicator
187      * (KPI)</i>, that the data was retrieved for. This value describes the associated
188      * metric and consists of two or more terms, which are comprised of lowercase
189      * alphanumeric characters, separated by a hyphen. For a list of possible values,
190      * see the <a
191      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
192      * Pinpoint Developer Guide</a>.</p>
193      */
SetKpiName(const Aws::String & value)194     inline void SetKpiName(const Aws::String& value) { m_kpiNameHasBeenSet = true; m_kpiName = value; }
195 
196     /**
197      * <p>The name of the metric, also referred to as a <i>key performance indicator
198      * (KPI)</i>, that the data was retrieved for. This value describes the associated
199      * metric and consists of two or more terms, which are comprised of lowercase
200      * alphanumeric characters, separated by a hyphen. For a list of possible values,
201      * see the <a
202      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
203      * Pinpoint Developer Guide</a>.</p>
204      */
SetKpiName(Aws::String && value)205     inline void SetKpiName(Aws::String&& value) { m_kpiNameHasBeenSet = true; m_kpiName = std::move(value); }
206 
207     /**
208      * <p>The name of the metric, also referred to as a <i>key performance indicator
209      * (KPI)</i>, that the data was retrieved for. This value describes the associated
210      * metric and consists of two or more terms, which are comprised of lowercase
211      * alphanumeric characters, separated by a hyphen. For a list of possible values,
212      * see the <a
213      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
214      * Pinpoint Developer Guide</a>.</p>
215      */
SetKpiName(const char * value)216     inline void SetKpiName(const char* value) { m_kpiNameHasBeenSet = true; m_kpiName.assign(value); }
217 
218     /**
219      * <p>The name of the metric, also referred to as a <i>key performance indicator
220      * (KPI)</i>, that the data was retrieved for. This value describes the associated
221      * metric and consists of two or more terms, which are comprised of lowercase
222      * alphanumeric characters, separated by a hyphen. For a list of possible values,
223      * see the <a
224      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
225      * Pinpoint Developer Guide</a>.</p>
226      */
WithKpiName(const Aws::String & value)227     inline JourneyDateRangeKpiResponse& WithKpiName(const Aws::String& value) { SetKpiName(value); return *this;}
228 
229     /**
230      * <p>The name of the metric, also referred to as a <i>key performance indicator
231      * (KPI)</i>, that the data was retrieved for. This value describes the associated
232      * metric and consists of two or more terms, which are comprised of lowercase
233      * alphanumeric characters, separated by a hyphen. For a list of possible values,
234      * see the <a
235      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
236      * Pinpoint Developer Guide</a>.</p>
237      */
WithKpiName(Aws::String && value)238     inline JourneyDateRangeKpiResponse& WithKpiName(Aws::String&& value) { SetKpiName(std::move(value)); return *this;}
239 
240     /**
241      * <p>The name of the metric, also referred to as a <i>key performance indicator
242      * (KPI)</i>, that the data was retrieved for. This value describes the associated
243      * metric and consists of two or more terms, which are comprised of lowercase
244      * alphanumeric characters, separated by a hyphen. For a list of possible values,
245      * see the <a
246      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
247      * Pinpoint Developer Guide</a>.</p>
248      */
WithKpiName(const char * value)249     inline JourneyDateRangeKpiResponse& WithKpiName(const char* value) { SetKpiName(value); return *this;}
250 
251 
252     /**
253      * <p>An array of objects that contains the results of the query. Each object
254      * contains the value for the metric and metadata about that value.</p>
255      */
GetKpiResult()256     inline const BaseKpiResult& GetKpiResult() const{ return m_kpiResult; }
257 
258     /**
259      * <p>An array of objects that contains the results of the query. Each object
260      * contains the value for the metric and metadata about that value.</p>
261      */
KpiResultHasBeenSet()262     inline bool KpiResultHasBeenSet() const { return m_kpiResultHasBeenSet; }
263 
264     /**
265      * <p>An array of objects that contains the results of the query. Each object
266      * contains the value for the metric and metadata about that value.</p>
267      */
SetKpiResult(const BaseKpiResult & value)268     inline void SetKpiResult(const BaseKpiResult& value) { m_kpiResultHasBeenSet = true; m_kpiResult = value; }
269 
270     /**
271      * <p>An array of objects that contains the results of the query. Each object
272      * contains the value for the metric and metadata about that value.</p>
273      */
SetKpiResult(BaseKpiResult && value)274     inline void SetKpiResult(BaseKpiResult&& value) { m_kpiResultHasBeenSet = true; m_kpiResult = std::move(value); }
275 
276     /**
277      * <p>An array of objects that contains the results of the query. Each object
278      * contains the value for the metric and metadata about that value.</p>
279      */
WithKpiResult(const BaseKpiResult & value)280     inline JourneyDateRangeKpiResponse& WithKpiResult(const BaseKpiResult& value) { SetKpiResult(value); return *this;}
281 
282     /**
283      * <p>An array of objects that contains the results of the query. Each object
284      * contains the value for the metric and metadata about that value.</p>
285      */
WithKpiResult(BaseKpiResult && value)286     inline JourneyDateRangeKpiResponse& WithKpiResult(BaseKpiResult&& value) { SetKpiResult(std::move(value)); return *this;}
287 
288 
289     /**
290      * <p>The string to use in a subsequent request to get the next page of results in
291      * a paginated response. This value is null for the Journey Engagement Metrics
292      * resource because the resource returns all results in a single page.</p>
293      */
GetNextToken()294     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
295 
296     /**
297      * <p>The string to use in a subsequent request to get the next page of results in
298      * a paginated response. This value is null for the Journey Engagement Metrics
299      * resource because the resource returns all results in a single page.</p>
300      */
NextTokenHasBeenSet()301     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
302 
303     /**
304      * <p>The string to use in a subsequent request to get the next page of results in
305      * a paginated response. This value is null for the Journey Engagement Metrics
306      * resource because the resource returns all results in a single page.</p>
307      */
SetNextToken(const Aws::String & value)308     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
309 
310     /**
311      * <p>The string to use in a subsequent request to get the next page of results in
312      * a paginated response. This value is null for the Journey Engagement Metrics
313      * resource because the resource returns all results in a single page.</p>
314      */
SetNextToken(Aws::String && value)315     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
316 
317     /**
318      * <p>The string to use in a subsequent request to get the next page of results in
319      * a paginated response. This value is null for the Journey Engagement Metrics
320      * resource because the resource returns all results in a single page.</p>
321      */
SetNextToken(const char * value)322     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
323 
324     /**
325      * <p>The string to use in a subsequent request to get the next page of results in
326      * a paginated response. This value is null for the Journey Engagement Metrics
327      * resource because the resource returns all results in a single page.</p>
328      */
WithNextToken(const Aws::String & value)329     inline JourneyDateRangeKpiResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
330 
331     /**
332      * <p>The string to use in a subsequent request to get the next page of results in
333      * a paginated response. This value is null for the Journey Engagement Metrics
334      * resource because the resource returns all results in a single page.</p>
335      */
WithNextToken(Aws::String && value)336     inline JourneyDateRangeKpiResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
337 
338     /**
339      * <p>The string to use in a subsequent request to get the next page of results in
340      * a paginated response. This value is null for the Journey Engagement Metrics
341      * resource because the resource returns all results in a single page.</p>
342      */
WithNextToken(const char * value)343     inline JourneyDateRangeKpiResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;}
344 
345 
346     /**
347      * <p>The first date and time of the date range that was used to filter the query
348      * results, in extended ISO 8601 format. The date range is inclusive.</p>
349      */
GetStartTime()350     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
351 
352     /**
353      * <p>The first date and time of the date range that was used to filter the query
354      * results, in extended ISO 8601 format. The date range is inclusive.</p>
355      */
StartTimeHasBeenSet()356     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
357 
358     /**
359      * <p>The first date and time of the date range that was used to filter the query
360      * results, in extended ISO 8601 format. The date range is inclusive.</p>
361      */
SetStartTime(const Aws::Utils::DateTime & value)362     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
363 
364     /**
365      * <p>The first date and time of the date range that was used to filter the query
366      * results, in extended ISO 8601 format. The date range is inclusive.</p>
367      */
SetStartTime(Aws::Utils::DateTime && value)368     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
369 
370     /**
371      * <p>The first date and time of the date range that was used to filter the query
372      * results, in extended ISO 8601 format. The date range is inclusive.</p>
373      */
WithStartTime(const Aws::Utils::DateTime & value)374     inline JourneyDateRangeKpiResponse& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
375 
376     /**
377      * <p>The first date and time of the date range that was used to filter the query
378      * results, in extended ISO 8601 format. The date range is inclusive.</p>
379      */
WithStartTime(Aws::Utils::DateTime && value)380     inline JourneyDateRangeKpiResponse& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
381 
382   private:
383 
384     Aws::String m_applicationId;
385     bool m_applicationIdHasBeenSet;
386 
387     Aws::Utils::DateTime m_endTime;
388     bool m_endTimeHasBeenSet;
389 
390     Aws::String m_journeyId;
391     bool m_journeyIdHasBeenSet;
392 
393     Aws::String m_kpiName;
394     bool m_kpiNameHasBeenSet;
395 
396     BaseKpiResult m_kpiResult;
397     bool m_kpiResultHasBeenSet;
398 
399     Aws::String m_nextToken;
400     bool m_nextTokenHasBeenSet;
401 
402     Aws::Utils::DateTime m_startTime;
403     bool m_startTimeHasBeenSet;
404   };
405 
406 } // namespace Model
407 } // namespace Pinpoint
408 } // namespace Aws
409