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 metric
30    * that applies to an application, 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/ApplicationDateRangeKpiResponse">AWS
33    * API Reference</a></p>
34    */
35   class AWS_PINPOINT_API ApplicationDateRangeKpiResponse
36   {
37   public:
38     ApplicationDateRangeKpiResponse();
39     ApplicationDateRangeKpiResponse(Aws::Utils::Json::JsonView jsonValue);
40     ApplicationDateRangeKpiResponse& 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 ApplicationDateRangeKpiResponse& 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 ApplicationDateRangeKpiResponse& 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 ApplicationDateRangeKpiResponse& 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 ApplicationDateRangeKpiResponse& 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 ApplicationDateRangeKpiResponse& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
120 
121 
122     /**
123      * <p>The name of the metric, also referred to as a <i>key performance indicator
124      * (KPI)</i>, that the data was retrieved for. This value describes the associated
125      * metric and consists of two or more terms, which are comprised of lowercase
126      * alphanumeric characters, separated by a hyphen. For a list of possible values,
127      * see the <a
128      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
129      * Pinpoint Developer Guide</a>.</p>
130      */
GetKpiName()131     inline const Aws::String& GetKpiName() const{ return m_kpiName; }
132 
133     /**
134      * <p>The name of the metric, also referred to as a <i>key performance indicator
135      * (KPI)</i>, that the data was retrieved for. This value describes the associated
136      * metric and consists of two or more terms, which are comprised of lowercase
137      * alphanumeric characters, separated by a hyphen. For a list of possible values,
138      * see the <a
139      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
140      * Pinpoint Developer Guide</a>.</p>
141      */
KpiNameHasBeenSet()142     inline bool KpiNameHasBeenSet() const { return m_kpiNameHasBeenSet; }
143 
144     /**
145      * <p>The name of the metric, also referred to as a <i>key performance indicator
146      * (KPI)</i>, that the data was retrieved for. This value describes the associated
147      * metric and consists of two or more terms, which are comprised of lowercase
148      * alphanumeric characters, separated by a hyphen. For a list of possible values,
149      * see the <a
150      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
151      * Pinpoint Developer Guide</a>.</p>
152      */
SetKpiName(const Aws::String & value)153     inline void SetKpiName(const Aws::String& value) { m_kpiNameHasBeenSet = true; m_kpiName = value; }
154 
155     /**
156      * <p>The name of the metric, also referred to as a <i>key performance indicator
157      * (KPI)</i>, that the data was retrieved for. This value describes the associated
158      * metric and consists of two or more terms, which are comprised of lowercase
159      * alphanumeric characters, separated by a hyphen. For a list of possible values,
160      * see the <a
161      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
162      * Pinpoint Developer Guide</a>.</p>
163      */
SetKpiName(Aws::String && value)164     inline void SetKpiName(Aws::String&& value) { m_kpiNameHasBeenSet = true; m_kpiName = std::move(value); }
165 
166     /**
167      * <p>The name of the metric, also referred to as a <i>key performance indicator
168      * (KPI)</i>, that the data was retrieved for. This value describes the associated
169      * metric and consists of two or more terms, which are comprised of lowercase
170      * alphanumeric characters, separated by a hyphen. For a list of possible values,
171      * see the <a
172      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
173      * Pinpoint Developer Guide</a>.</p>
174      */
SetKpiName(const char * value)175     inline void SetKpiName(const char* value) { m_kpiNameHasBeenSet = true; m_kpiName.assign(value); }
176 
177     /**
178      * <p>The name of the metric, also referred to as a <i>key performance indicator
179      * (KPI)</i>, that the data was retrieved for. This value describes the associated
180      * metric and consists of two or more terms, which are comprised of lowercase
181      * alphanumeric characters, separated by a hyphen. For a list of possible values,
182      * see the <a
183      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
184      * Pinpoint Developer Guide</a>.</p>
185      */
WithKpiName(const Aws::String & value)186     inline ApplicationDateRangeKpiResponse& WithKpiName(const Aws::String& value) { SetKpiName(value); return *this;}
187 
188     /**
189      * <p>The name of the metric, also referred to as a <i>key performance indicator
190      * (KPI)</i>, that the data was retrieved for. This value describes the associated
191      * metric and consists of two or more terms, which are comprised of lowercase
192      * alphanumeric characters, separated by a hyphen. For a list of possible values,
193      * see the <a
194      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
195      * Pinpoint Developer Guide</a>.</p>
196      */
WithKpiName(Aws::String && value)197     inline ApplicationDateRangeKpiResponse& WithKpiName(Aws::String&& value) { SetKpiName(std::move(value)); return *this;}
198 
199     /**
200      * <p>The name of the metric, also referred to as a <i>key performance indicator
201      * (KPI)</i>, that the data was retrieved for. This value describes the associated
202      * metric and consists of two or more terms, which are comprised of lowercase
203      * alphanumeric characters, separated by a hyphen. For a list of possible values,
204      * see the <a
205      * href="https://docs.aws.amazon.com/pinpoint/latest/developerguide/analytics-standard-metrics.html">Amazon
206      * Pinpoint Developer Guide</a>.</p>
207      */
WithKpiName(const char * value)208     inline ApplicationDateRangeKpiResponse& WithKpiName(const char* value) { SetKpiName(value); return *this;}
209 
210 
211     /**
212      * <p>An array of objects that contains the results of the query. Each object
213      * contains the value for the metric and metadata about that value.</p>
214      */
GetKpiResult()215     inline const BaseKpiResult& GetKpiResult() const{ return m_kpiResult; }
216 
217     /**
218      * <p>An array of objects that contains the results of the query. Each object
219      * contains the value for the metric and metadata about that value.</p>
220      */
KpiResultHasBeenSet()221     inline bool KpiResultHasBeenSet() const { return m_kpiResultHasBeenSet; }
222 
223     /**
224      * <p>An array of objects that contains the results of the query. Each object
225      * contains the value for the metric and metadata about that value.</p>
226      */
SetKpiResult(const BaseKpiResult & value)227     inline void SetKpiResult(const BaseKpiResult& value) { m_kpiResultHasBeenSet = true; m_kpiResult = value; }
228 
229     /**
230      * <p>An array of objects that contains the results of the query. Each object
231      * contains the value for the metric and metadata about that value.</p>
232      */
SetKpiResult(BaseKpiResult && value)233     inline void SetKpiResult(BaseKpiResult&& value) { m_kpiResultHasBeenSet = true; m_kpiResult = std::move(value); }
234 
235     /**
236      * <p>An array of objects that contains the results of the query. Each object
237      * contains the value for the metric and metadata about that value.</p>
238      */
WithKpiResult(const BaseKpiResult & value)239     inline ApplicationDateRangeKpiResponse& WithKpiResult(const BaseKpiResult& value) { SetKpiResult(value); return *this;}
240 
241     /**
242      * <p>An array of objects that contains the results of the query. Each object
243      * contains the value for the metric and metadata about that value.</p>
244      */
WithKpiResult(BaseKpiResult && value)245     inline ApplicationDateRangeKpiResponse& WithKpiResult(BaseKpiResult&& value) { SetKpiResult(std::move(value)); return *this;}
246 
247 
248     /**
249      * <p>The string to use in a subsequent request to get the next page of results in
250      * a paginated response. This value is null for the Application Metrics resource
251      * because the resource returns all results in a single page.</p>
252      */
GetNextToken()253     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
254 
255     /**
256      * <p>The string to use in a subsequent request to get the next page of results in
257      * a paginated response. This value is null for the Application Metrics resource
258      * because the resource returns all results in a single page.</p>
259      */
NextTokenHasBeenSet()260     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
261 
262     /**
263      * <p>The string to use in a subsequent request to get the next page of results in
264      * a paginated response. This value is null for the Application Metrics resource
265      * because the resource returns all results in a single page.</p>
266      */
SetNextToken(const Aws::String & value)267     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
268 
269     /**
270      * <p>The string to use in a subsequent request to get the next page of results in
271      * a paginated response. This value is null for the Application Metrics resource
272      * because the resource returns all results in a single page.</p>
273      */
SetNextToken(Aws::String && value)274     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
275 
276     /**
277      * <p>The string to use in a subsequent request to get the next page of results in
278      * a paginated response. This value is null for the Application Metrics resource
279      * because the resource returns all results in a single page.</p>
280      */
SetNextToken(const char * value)281     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
282 
283     /**
284      * <p>The string to use in a subsequent request to get the next page of results in
285      * a paginated response. This value is null for the Application Metrics resource
286      * because the resource returns all results in a single page.</p>
287      */
WithNextToken(const Aws::String & value)288     inline ApplicationDateRangeKpiResponse& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
289 
290     /**
291      * <p>The string to use in a subsequent request to get the next page of results in
292      * a paginated response. This value is null for the Application Metrics resource
293      * because the resource returns all results in a single page.</p>
294      */
WithNextToken(Aws::String && value)295     inline ApplicationDateRangeKpiResponse& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
296 
297     /**
298      * <p>The string to use in a subsequent request to get the next page of results in
299      * a paginated response. This value is null for the Application Metrics resource
300      * because the resource returns all results in a single page.</p>
301      */
WithNextToken(const char * value)302     inline ApplicationDateRangeKpiResponse& WithNextToken(const char* value) { SetNextToken(value); return *this;}
303 
304 
305     /**
306      * <p>The first date and time of the date range that was used to filter the query
307      * results, in extended ISO 8601 format. The date range is inclusive.</p>
308      */
GetStartTime()309     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
310 
311     /**
312      * <p>The first date and time of the date range that was used to filter the query
313      * results, in extended ISO 8601 format. The date range is inclusive.</p>
314      */
StartTimeHasBeenSet()315     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
316 
317     /**
318      * <p>The first date and time of the date range that was used to filter the query
319      * results, in extended ISO 8601 format. The date range is inclusive.</p>
320      */
SetStartTime(const Aws::Utils::DateTime & value)321     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
322 
323     /**
324      * <p>The first date and time of the date range that was used to filter the query
325      * results, in extended ISO 8601 format. The date range is inclusive.</p>
326      */
SetStartTime(Aws::Utils::DateTime && value)327     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
328 
329     /**
330      * <p>The first date and time of the date range that was used to filter the query
331      * results, in extended ISO 8601 format. The date range is inclusive.</p>
332      */
WithStartTime(const Aws::Utils::DateTime & value)333     inline ApplicationDateRangeKpiResponse& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
334 
335     /**
336      * <p>The first date and time of the date range that was used to filter the query
337      * results, in extended ISO 8601 format. The date range is inclusive.</p>
338      */
WithStartTime(Aws::Utils::DateTime && value)339     inline ApplicationDateRangeKpiResponse& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
340 
341   private:
342 
343     Aws::String m_applicationId;
344     bool m_applicationIdHasBeenSet;
345 
346     Aws::Utils::DateTime m_endTime;
347     bool m_endTimeHasBeenSet;
348 
349     Aws::String m_kpiName;
350     bool m_kpiNameHasBeenSet;
351 
352     BaseKpiResult m_kpiResult;
353     bool m_kpiResultHasBeenSet;
354 
355     Aws::String m_nextToken;
356     bool m_nextTokenHasBeenSet;
357 
358     Aws::Utils::DateTime m_startTime;
359     bool m_startTimeHasBeenSet;
360   };
361 
362 } // namespace Model
363 } // namespace Pinpoint
364 } // namespace Aws
365