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/rds/RDS_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/rds/model/ResponseMetadata.h>
11 #include <aws/rds/model/DBInstance.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 template<typename RESULT_TYPE>
17 class AmazonWebServiceResult;
18 
19 namespace Utils
20 {
21 namespace Xml
22 {
23   class XmlDocument;
24 } // namespace Xml
25 } // namespace Utils
26 namespace RDS
27 {
28 namespace Model
29 {
30   /**
31    * <p> Contains the result of a successful invocation of the
32    * <code>DescribeDBInstances</code> action. </p><p><h3>See Also:</h3>   <a
33    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DBInstanceMessage">AWS
34    * API Reference</a></p>
35    */
36   class AWS_RDS_API DescribeDBInstancesResult
37   {
38   public:
39     DescribeDBInstancesResult();
40     DescribeDBInstancesResult(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
41     DescribeDBInstancesResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Xml::XmlDocument>& result);
42 
43 
44     /**
45      * <p> An optional pagination token provided by a previous request. If this
46      * parameter is specified, the response includes only records beyond the marker, up
47      * to the value specified by <code>MaxRecords</code> . </p>
48      */
GetMarker()49     inline const Aws::String& GetMarker() const{ return m_marker; }
50 
51     /**
52      * <p> An optional pagination token provided by a previous request. If this
53      * parameter is specified, the response includes only records beyond the marker, up
54      * to the value specified by <code>MaxRecords</code> . </p>
55      */
SetMarker(const Aws::String & value)56     inline void SetMarker(const Aws::String& value) { m_marker = value; }
57 
58     /**
59      * <p> An optional pagination token provided by a previous request. If this
60      * parameter is specified, the response includes only records beyond the marker, up
61      * to the value specified by <code>MaxRecords</code> . </p>
62      */
SetMarker(Aws::String && value)63     inline void SetMarker(Aws::String&& value) { m_marker = std::move(value); }
64 
65     /**
66      * <p> An optional pagination token provided by a previous request. If this
67      * parameter is specified, the response includes only records beyond the marker, up
68      * to the value specified by <code>MaxRecords</code> . </p>
69      */
SetMarker(const char * value)70     inline void SetMarker(const char* value) { m_marker.assign(value); }
71 
72     /**
73      * <p> An optional pagination token provided by a previous request. If this
74      * parameter is specified, the response includes only records beyond the marker, up
75      * to the value specified by <code>MaxRecords</code> . </p>
76      */
WithMarker(const Aws::String & value)77     inline DescribeDBInstancesResult& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
78 
79     /**
80      * <p> An optional pagination token provided by a previous request. If this
81      * parameter is specified, the response includes only records beyond the marker, up
82      * to the value specified by <code>MaxRecords</code> . </p>
83      */
WithMarker(Aws::String && value)84     inline DescribeDBInstancesResult& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
85 
86     /**
87      * <p> An optional pagination token provided by a previous request. If this
88      * parameter is specified, the response includes only records beyond the marker, up
89      * to the value specified by <code>MaxRecords</code> . </p>
90      */
WithMarker(const char * value)91     inline DescribeDBInstancesResult& WithMarker(const char* value) { SetMarker(value); return *this;}
92 
93 
94     /**
95      * <p> A list of <code>DBInstance</code> instances. </p>
96      */
GetDBInstances()97     inline const Aws::Vector<DBInstance>& GetDBInstances() const{ return m_dBInstances; }
98 
99     /**
100      * <p> A list of <code>DBInstance</code> instances. </p>
101      */
SetDBInstances(const Aws::Vector<DBInstance> & value)102     inline void SetDBInstances(const Aws::Vector<DBInstance>& value) { m_dBInstances = value; }
103 
104     /**
105      * <p> A list of <code>DBInstance</code> instances. </p>
106      */
SetDBInstances(Aws::Vector<DBInstance> && value)107     inline void SetDBInstances(Aws::Vector<DBInstance>&& value) { m_dBInstances = std::move(value); }
108 
109     /**
110      * <p> A list of <code>DBInstance</code> instances. </p>
111      */
WithDBInstances(const Aws::Vector<DBInstance> & value)112     inline DescribeDBInstancesResult& WithDBInstances(const Aws::Vector<DBInstance>& value) { SetDBInstances(value); return *this;}
113 
114     /**
115      * <p> A list of <code>DBInstance</code> instances. </p>
116      */
WithDBInstances(Aws::Vector<DBInstance> && value)117     inline DescribeDBInstancesResult& WithDBInstances(Aws::Vector<DBInstance>&& value) { SetDBInstances(std::move(value)); return *this;}
118 
119     /**
120      * <p> A list of <code>DBInstance</code> instances. </p>
121      */
AddDBInstances(const DBInstance & value)122     inline DescribeDBInstancesResult& AddDBInstances(const DBInstance& value) { m_dBInstances.push_back(value); return *this; }
123 
124     /**
125      * <p> A list of <code>DBInstance</code> instances. </p>
126      */
AddDBInstances(DBInstance && value)127     inline DescribeDBInstancesResult& AddDBInstances(DBInstance&& value) { m_dBInstances.push_back(std::move(value)); return *this; }
128 
129 
130 
GetResponseMetadata()131     inline const ResponseMetadata& GetResponseMetadata() const{ return m_responseMetadata; }
132 
133 
SetResponseMetadata(const ResponseMetadata & value)134     inline void SetResponseMetadata(const ResponseMetadata& value) { m_responseMetadata = value; }
135 
136 
SetResponseMetadata(ResponseMetadata && value)137     inline void SetResponseMetadata(ResponseMetadata&& value) { m_responseMetadata = std::move(value); }
138 
139 
WithResponseMetadata(const ResponseMetadata & value)140     inline DescribeDBInstancesResult& WithResponseMetadata(const ResponseMetadata& value) { SetResponseMetadata(value); return *this;}
141 
142 
WithResponseMetadata(ResponseMetadata && value)143     inline DescribeDBInstancesResult& WithResponseMetadata(ResponseMetadata&& value) { SetResponseMetadata(std::move(value)); return *this;}
144 
145   private:
146 
147     Aws::String m_marker;
148 
149     Aws::Vector<DBInstance> m_dBInstances;
150 
151     ResponseMetadata m_responseMetadata;
152   };
153 
154 } // namespace Model
155 } // namespace RDS
156 } // namespace Aws
157