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/redshift/Redshift_EXPORTS.h>
8 #include <aws/redshift/RedshiftRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Redshift
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_REDSHIFT_API DescribeClusterDbRevisionsRequest : public RedshiftRequest
22   {
23   public:
24     DescribeClusterDbRevisionsRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "DescribeClusterDbRevisions"; }
31 
32     Aws::String SerializePayload() const override;
33 
34   protected:
35     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
36 
37   public:
38 
39     /**
40      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
41      * are requesting. This parameter is case sensitive. All clusters defined for an
42      * account are returned by default.</p>
43      */
GetClusterIdentifier()44     inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
45 
46     /**
47      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
48      * are requesting. This parameter is case sensitive. All clusters defined for an
49      * account are returned by default.</p>
50      */
ClusterIdentifierHasBeenSet()51     inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
52 
53     /**
54      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
55      * are requesting. This parameter is case sensitive. All clusters defined for an
56      * account are returned by default.</p>
57      */
SetClusterIdentifier(const Aws::String & value)58     inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
59 
60     /**
61      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
62      * are requesting. This parameter is case sensitive. All clusters defined for an
63      * account are returned by default.</p>
64      */
SetClusterIdentifier(Aws::String && value)65     inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
66 
67     /**
68      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
69      * are requesting. This parameter is case sensitive. All clusters defined for an
70      * account are returned by default.</p>
71      */
SetClusterIdentifier(const char * value)72     inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
73 
74     /**
75      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
76      * are requesting. This parameter is case sensitive. All clusters defined for an
77      * account are returned by default.</p>
78      */
WithClusterIdentifier(const Aws::String & value)79     inline DescribeClusterDbRevisionsRequest& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
80 
81     /**
82      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
83      * are requesting. This parameter is case sensitive. All clusters defined for an
84      * account are returned by default.</p>
85      */
WithClusterIdentifier(Aws::String && value)86     inline DescribeClusterDbRevisionsRequest& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
87 
88     /**
89      * <p>A unique identifier for a cluster whose <code>ClusterDbRevisions</code> you
90      * are requesting. This parameter is case sensitive. All clusters defined for an
91      * account are returned by default.</p>
92      */
WithClusterIdentifier(const char * value)93     inline DescribeClusterDbRevisionsRequest& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
94 
95 
96     /**
97      * <p>The maximum number of response records to return in each call. If the number
98      * of remaining response records exceeds the specified MaxRecords value, a value is
99      * returned in the <code>marker</code> field of the response. You can retrieve the
100      * next set of response records by providing the returned <code>marker</code> value
101      * in the <code>marker</code> parameter and retrying the request. </p> <p>Default:
102      * 100</p> <p>Constraints: minimum 20, maximum 100.</p>
103      */
GetMaxRecords()104     inline int GetMaxRecords() const{ return m_maxRecords; }
105 
106     /**
107      * <p>The maximum number of response records to return in each call. If the number
108      * of remaining response records exceeds the specified MaxRecords value, a value is
109      * returned in the <code>marker</code> field of the response. You can retrieve the
110      * next set of response records by providing the returned <code>marker</code> value
111      * in the <code>marker</code> parameter and retrying the request. </p> <p>Default:
112      * 100</p> <p>Constraints: minimum 20, maximum 100.</p>
113      */
MaxRecordsHasBeenSet()114     inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
115 
116     /**
117      * <p>The maximum number of response records to return in each call. If the number
118      * of remaining response records exceeds the specified MaxRecords value, a value is
119      * returned in the <code>marker</code> field of the response. You can retrieve the
120      * next set of response records by providing the returned <code>marker</code> value
121      * in the <code>marker</code> parameter and retrying the request. </p> <p>Default:
122      * 100</p> <p>Constraints: minimum 20, maximum 100.</p>
123      */
SetMaxRecords(int value)124     inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
125 
126     /**
127      * <p>The maximum number of response records to return in each call. If the number
128      * of remaining response records exceeds the specified MaxRecords value, a value is
129      * returned in the <code>marker</code> field of the response. You can retrieve the
130      * next set of response records by providing the returned <code>marker</code> value
131      * in the <code>marker</code> parameter and retrying the request. </p> <p>Default:
132      * 100</p> <p>Constraints: minimum 20, maximum 100.</p>
133      */
WithMaxRecords(int value)134     inline DescribeClusterDbRevisionsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
135 
136 
137     /**
138      * <p>An optional parameter that specifies the starting point for returning a set
139      * of response records. When the results of a
140      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
141      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
142      * <code>marker</code> field of the response. You can retrieve the next set of
143      * response records by providing the returned <code>marker</code> value in the
144      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
145      * can specify either the <code>ClusterIdentifier</code> parameter, or the
146      * <code>marker</code> parameter, but not both.</p>
147      */
GetMarker()148     inline const Aws::String& GetMarker() const{ return m_marker; }
149 
150     /**
151      * <p>An optional parameter that specifies the starting point for returning a set
152      * of response records. When the results of a
153      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
154      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
155      * <code>marker</code> field of the response. You can retrieve the next set of
156      * response records by providing the returned <code>marker</code> value in the
157      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
158      * can specify either the <code>ClusterIdentifier</code> parameter, or the
159      * <code>marker</code> parameter, but not both.</p>
160      */
MarkerHasBeenSet()161     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
162 
163     /**
164      * <p>An optional parameter that specifies the starting point for returning a set
165      * of response records. When the results of a
166      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
167      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
168      * <code>marker</code> field of the response. You can retrieve the next set of
169      * response records by providing the returned <code>marker</code> value in the
170      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
171      * can specify either the <code>ClusterIdentifier</code> parameter, or the
172      * <code>marker</code> parameter, but not both.</p>
173      */
SetMarker(const Aws::String & value)174     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
175 
176     /**
177      * <p>An optional parameter that specifies the starting point for returning a set
178      * of response records. When the results of a
179      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
180      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
181      * <code>marker</code> field of the response. You can retrieve the next set of
182      * response records by providing the returned <code>marker</code> value in the
183      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
184      * can specify either the <code>ClusterIdentifier</code> parameter, or the
185      * <code>marker</code> parameter, but not both.</p>
186      */
SetMarker(Aws::String && value)187     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
188 
189     /**
190      * <p>An optional parameter that specifies the starting point for returning a set
191      * of response records. When the results of a
192      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
193      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
194      * <code>marker</code> field of the response. You can retrieve the next set of
195      * response records by providing the returned <code>marker</code> value in the
196      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
197      * can specify either the <code>ClusterIdentifier</code> parameter, or the
198      * <code>marker</code> parameter, but not both.</p>
199      */
SetMarker(const char * value)200     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
201 
202     /**
203      * <p>An optional parameter that specifies the starting point for returning a set
204      * of response records. When the results of a
205      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
206      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
207      * <code>marker</code> field of the response. You can retrieve the next set of
208      * response records by providing the returned <code>marker</code> value in the
209      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
210      * can specify either the <code>ClusterIdentifier</code> parameter, or the
211      * <code>marker</code> parameter, but not both.</p>
212      */
WithMarker(const Aws::String & value)213     inline DescribeClusterDbRevisionsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
214 
215     /**
216      * <p>An optional parameter that specifies the starting point for returning a set
217      * of response records. When the results of a
218      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
219      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
220      * <code>marker</code> field of the response. You can retrieve the next set of
221      * response records by providing the returned <code>marker</code> value in the
222      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
223      * can specify either the <code>ClusterIdentifier</code> parameter, or the
224      * <code>marker</code> parameter, but not both.</p>
225      */
WithMarker(Aws::String && value)226     inline DescribeClusterDbRevisionsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
227 
228     /**
229      * <p>An optional parameter that specifies the starting point for returning a set
230      * of response records. When the results of a
231      * <code>DescribeClusterDbRevisions</code> request exceed the value specified in
232      * <code>MaxRecords</code>, Amazon Redshift returns a value in the
233      * <code>marker</code> field of the response. You can retrieve the next set of
234      * response records by providing the returned <code>marker</code> value in the
235      * <code>marker</code> parameter and retrying the request. </p> <p>Constraints: You
236      * can specify either the <code>ClusterIdentifier</code> parameter, or the
237      * <code>marker</code> parameter, but not both.</p>
238      */
WithMarker(const char * value)239     inline DescribeClusterDbRevisionsRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
240 
241   private:
242 
243     Aws::String m_clusterIdentifier;
244     bool m_clusterIdentifierHasBeenSet;
245 
246     int m_maxRecords;
247     bool m_maxRecordsHasBeenSet;
248 
249     Aws::String m_marker;
250     bool m_markerHasBeenSet;
251   };
252 
253 } // namespace Model
254 } // namespace Redshift
255 } // namespace Aws
256