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/email/SES_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/email/model/ResponseMetadata.h>
10 #include <aws/email/model/SendDataPoint.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Xml
21 {
22   class XmlDocument;
23 } // namespace Xml
24 } // namespace Utils
25 namespace SES
26 {
27 namespace Model
28 {
29   /**
30    * <p>Represents a list of data points. This list contains aggregated data from the
31    * previous two weeks of your sending activity with Amazon SES.</p><p><h3>See
32    * Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/GetSendStatisticsResponse">AWS
34    * API Reference</a></p>
35    */
36   class AWS_SES_API GetSendStatisticsResult
37   {
38   public:
39     GetSendStatisticsResult();
40     GetSendStatisticsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     GetSendStatisticsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
46      */
GetSendDataPoints()47     inline const Aws::Vector<SendDataPoint>& GetSendDataPoints() const{ return m_sendDataPoints; }
48 
49     /**
50      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
51      */
SetSendDataPoints(const Aws::Vector<SendDataPoint> & value)52     inline void SetSendDataPoints(const Aws::Vector<SendDataPoint>& value) { m_sendDataPoints = value; }
53 
54     /**
55      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
56      */
SetSendDataPoints(Aws::Vector<SendDataPoint> && value)57     inline void SetSendDataPoints(Aws::Vector<SendDataPoint>&& value) { m_sendDataPoints = std::move(value); }
58 
59     /**
60      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
61      */
WithSendDataPoints(const Aws::Vector<SendDataPoint> & value)62     inline GetSendStatisticsResult& WithSendDataPoints(const Aws::Vector<SendDataPoint>& value) { SetSendDataPoints(value); return *this;}
63 
64     /**
65      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
66      */
WithSendDataPoints(Aws::Vector<SendDataPoint> && value)67     inline GetSendStatisticsResult& WithSendDataPoints(Aws::Vector<SendDataPoint>&& value) { SetSendDataPoints(std::move(value)); return *this;}
68 
69     /**
70      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
71      */
AddSendDataPoints(const SendDataPoint & value)72     inline GetSendStatisticsResult& AddSendDataPoints(const SendDataPoint& value) { m_sendDataPoints.push_back(value); return *this; }
73 
74     /**
75      * <p>A list of data points, each of which represents 15 minutes of activity.</p>
76      */
AddSendDataPoints(SendDataPoint && value)77     inline GetSendStatisticsResult& AddSendDataPoints(SendDataPoint&& value) { m_sendDataPoints.push_back(std::move(value)); return *this; }
78 
79 
80 
GetResponseMetadata()81     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
82 
83 
SetResponseMetadata(const ResponseMetadata & value)84     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
85 
86 
SetResponseMetadata(ResponseMetadata && value)87     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
88 
89 
WithResponseMetadata(const ResponseMetadata & value)90     inline GetSendStatisticsResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
91 
92 
WithResponseMetadata(ResponseMetadata && value)93     inline GetSendStatisticsResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
94 
95   private:
96 
97     Aws::Vector<SendDataPoint> m_sendDataPoints;
98 
99     ResponseMetadata m_responseMetadata;
100   };
101 
102 } // namespace Model
103 } // namespace SES
104 } // namespace Aws
105