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/dms/DatabaseMigrationService_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/dms/model/TableStatistics.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 template<typename RESULT_TYPE>
16 class AmazonWebServiceResult;
17 
18 namespace Utils
19 {
20 namespace Json
21 {
22   class JsonValue;
23 } // namespace Json
24 } // namespace Utils
25 namespace DatabaseMigrationService
26 {
27 namespace Model
28 {
29   /**
30    * <p/><p><h3>See Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/dms-2016-01-01/DescribeTableStatisticsResponse">AWS
32    * API Reference</a></p>
33    */
34   class AWS_DATABASEMIGRATIONSERVICE_API DescribeTableStatisticsResult
35   {
36   public:
37     DescribeTableStatisticsResult();
38     DescribeTableStatisticsResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
39     DescribeTableStatisticsResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
40 
41 
42     /**
43      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
44      */
GetReplicationTaskArn()45     inline const Aws::String& GetReplicationTaskArn() const{ return m_replicationTaskArn; }
46 
47     /**
48      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
49      */
SetReplicationTaskArn(const Aws::String & value)50     inline void SetReplicationTaskArn(const Aws::String& value) { m_replicationTaskArn = value; }
51 
52     /**
53      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
54      */
SetReplicationTaskArn(Aws::String && value)55     inline void SetReplicationTaskArn(Aws::String&& value) { m_replicationTaskArn = std::move(value); }
56 
57     /**
58      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
59      */
SetReplicationTaskArn(const char * value)60     inline void SetReplicationTaskArn(const char* value) { m_replicationTaskArn.assign(value); }
61 
62     /**
63      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
64      */
WithReplicationTaskArn(const Aws::String & value)65     inline DescribeTableStatisticsResult& WithReplicationTaskArn(const Aws::String& value) { SetReplicationTaskArn(value); return *this;}
66 
67     /**
68      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
69      */
WithReplicationTaskArn(Aws::String && value)70     inline DescribeTableStatisticsResult& WithReplicationTaskArn(Aws::String&& value) { SetReplicationTaskArn(std::move(value)); return *this;}
71 
72     /**
73      * <p>The Amazon Resource Name (ARN) of the replication task.</p>
74      */
WithReplicationTaskArn(const char * value)75     inline DescribeTableStatisticsResult& WithReplicationTaskArn(const char* value) { SetReplicationTaskArn(value); return *this;}
76 
77 
78     /**
79      * <p>The table statistics.</p>
80      */
GetTableStatistics()81     inline const Aws::Vector<TableStatistics>& GetTableStatistics() const{ return m_tableStatistics; }
82 
83     /**
84      * <p>The table statistics.</p>
85      */
SetTableStatistics(const Aws::Vector<TableStatistics> & value)86     inline void SetTableStatistics(const Aws::Vector<TableStatistics>& value) { m_tableStatistics = value; }
87 
88     /**
89      * <p>The table statistics.</p>
90      */
SetTableStatistics(Aws::Vector<TableStatistics> && value)91     inline void SetTableStatistics(Aws::Vector<TableStatistics>&& value) { m_tableStatistics = std::move(value); }
92 
93     /**
94      * <p>The table statistics.</p>
95      */
WithTableStatistics(const Aws::Vector<TableStatistics> & value)96     inline DescribeTableStatisticsResult& WithTableStatistics(const Aws::Vector<TableStatistics>& value) { SetTableStatistics(value); return *this;}
97 
98     /**
99      * <p>The table statistics.</p>
100      */
WithTableStatistics(Aws::Vector<TableStatistics> && value)101     inline DescribeTableStatisticsResult& WithTableStatistics(Aws::Vector<TableStatistics>&& value) { SetTableStatistics(std::move(value)); return *this;}
102 
103     /**
104      * <p>The table statistics.</p>
105      */
AddTableStatistics(const TableStatistics & value)106     inline DescribeTableStatisticsResult& AddTableStatistics(const TableStatistics& value) { m_tableStatistics.push_back(value); return *this; }
107 
108     /**
109      * <p>The table statistics.</p>
110      */
AddTableStatistics(TableStatistics && value)111     inline DescribeTableStatisticsResult& AddTableStatistics(TableStatistics&& value) { m_tableStatistics.push_back(std::move(value)); return *this; }
112 
113 
114     /**
115      * <p> An optional pagination token provided by a previous request. If this
116      * parameter is specified, the response includes only records beyond the marker, up
117      * to the value specified by <code>MaxRecords</code>. </p>
118      */
GetMarker()119     inline const Aws::String& GetMarker() const{ return m_marker; }
120 
121     /**
122      * <p> An optional pagination token provided by a previous request. If this
123      * parameter is specified, the response includes only records beyond the marker, up
124      * to the value specified by <code>MaxRecords</code>. </p>
125      */
SetMarker(const Aws::String & value)126     inline void SetMarker(const Aws::String& value) { m_marker = value; }
127 
128     /**
129      * <p> An optional pagination token provided by a previous request. If this
130      * parameter is specified, the response includes only records beyond the marker, up
131      * to the value specified by <code>MaxRecords</code>. </p>
132      */
SetMarker(Aws::String && value)133     inline void SetMarker(Aws::String&& value) { m_marker = std::move(value); }
134 
135     /**
136      * <p> An optional pagination token provided by a previous request. If this
137      * parameter is specified, the response includes only records beyond the marker, up
138      * to the value specified by <code>MaxRecords</code>. </p>
139      */
SetMarker(const char * value)140     inline void SetMarker(const char* value) { m_marker.assign(value); }
141 
142     /**
143      * <p> An optional pagination token provided by a previous request. If this
144      * parameter is specified, the response includes only records beyond the marker, up
145      * to the value specified by <code>MaxRecords</code>. </p>
146      */
WithMarker(const Aws::String & value)147     inline DescribeTableStatisticsResult& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
148 
149     /**
150      * <p> An optional pagination token provided by a previous request. If this
151      * parameter is specified, the response includes only records beyond the marker, up
152      * to the value specified by <code>MaxRecords</code>. </p>
153      */
WithMarker(Aws::String && value)154     inline DescribeTableStatisticsResult& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
155 
156     /**
157      * <p> An optional pagination token provided by a previous request. If this
158      * parameter is specified, the response includes only records beyond the marker, up
159      * to the value specified by <code>MaxRecords</code>. </p>
160      */
WithMarker(const char * value)161     inline DescribeTableStatisticsResult& WithMarker(const char* value) { SetMarker(value); return *this;}
162 
163   private:
164 
165     Aws::String m_replicationTaskArn;
166 
167     Aws::Vector<TableStatistics> m_tableStatistics;
168 
169     Aws::String m_marker;
170   };
171 
172 } // namespace Model
173 } // namespace DatabaseMigrationService
174 } // namespace Aws
175