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/docdb/DocDB_EXPORTS.h>
8 #include <aws/docdb/DocDBRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/docdb/model/Filter.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace DocDB
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p>Represents the input to <a>DescribeDBClusterSnapshots</a>.</p><p><h3>See
23    * Also:</h3>   <a
24    * href="http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeDBClusterSnapshotsMessage">AWS
25    * API Reference</a></p>
26    */
27   class AWS_DOCDB_API DescribeDBClusterSnapshotsRequest : public DocDBRequest
28   {
29   public:
30     DescribeDBClusterSnapshotsRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "DescribeDBClusterSnapshots"; }
37 
38     Aws::String SerializePayload() const override;
39 
40   protected:
41     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
42 
43   public:
44 
45     /**
46      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
47      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
48      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
49      * <li> <p>If provided, must match the identifier of an existing
50      * <code>DBCluster</code>.</p> </li> </ul>
51      */
GetDBClusterIdentifier()52     inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; }
53 
54     /**
55      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
56      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
57      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
58      * <li> <p>If provided, must match the identifier of an existing
59      * <code>DBCluster</code>.</p> </li> </ul>
60      */
DBClusterIdentifierHasBeenSet()61     inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; }
62 
63     /**
64      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
65      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
66      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
67      * <li> <p>If provided, must match the identifier of an existing
68      * <code>DBCluster</code>.</p> </li> </ul>
69      */
SetDBClusterIdentifier(const Aws::String & value)70     inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; }
71 
72     /**
73      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
74      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
75      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
76      * <li> <p>If provided, must match the identifier of an existing
77      * <code>DBCluster</code>.</p> </li> </ul>
78      */
SetDBClusterIdentifier(Aws::String && value)79     inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); }
80 
81     /**
82      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
83      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
84      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
85      * <li> <p>If provided, must match the identifier of an existing
86      * <code>DBCluster</code>.</p> </li> </ul>
87      */
SetDBClusterIdentifier(const char * value)88     inline void SetDBClusterIdentifier(const char* value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier.assign(value); }
89 
90     /**
91      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
92      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
93      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
94      * <li> <p>If provided, must match the identifier of an existing
95      * <code>DBCluster</code>.</p> </li> </ul>
96      */
WithDBClusterIdentifier(const Aws::String & value)97     inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;}
98 
99     /**
100      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
101      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
102      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
103      * <li> <p>If provided, must match the identifier of an existing
104      * <code>DBCluster</code>.</p> </li> </ul>
105      */
WithDBClusterIdentifier(Aws::String && value)106     inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;}
107 
108     /**
109      * <p>The ID of the cluster to retrieve the list of cluster snapshots for. This
110      * parameter can't be used with the <code>DBClusterSnapshotIdentifier</code>
111      * parameter. This parameter is not case sensitive. </p> <p>Constraints:</p> <ul>
112      * <li> <p>If provided, must match the identifier of an existing
113      * <code>DBCluster</code>.</p> </li> </ul>
114      */
WithDBClusterIdentifier(const char * value)115     inline DescribeDBClusterSnapshotsRequest& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;}
116 
117 
118     /**
119      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
120      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
121      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
122      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
123      * <li> <p>If this identifier is for an automated snapshot, the
124      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
125      */
GetDBClusterSnapshotIdentifier()126     inline const Aws::String& GetDBClusterSnapshotIdentifier() const{ return m_dBClusterSnapshotIdentifier; }
127 
128     /**
129      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
130      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
131      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
132      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
133      * <li> <p>If this identifier is for an automated snapshot, the
134      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
135      */
DBClusterSnapshotIdentifierHasBeenSet()136     inline bool DBClusterSnapshotIdentifierHasBeenSet() const { return m_dBClusterSnapshotIdentifierHasBeenSet; }
137 
138     /**
139      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
140      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
141      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
142      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
143      * <li> <p>If this identifier is for an automated snapshot, the
144      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
145      */
SetDBClusterSnapshotIdentifier(const Aws::String & value)146     inline void SetDBClusterSnapshotIdentifier(const Aws::String& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = value; }
147 
148     /**
149      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
150      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
151      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
152      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
153      * <li> <p>If this identifier is for an automated snapshot, the
154      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
155      */
SetDBClusterSnapshotIdentifier(Aws::String && value)156     inline void SetDBClusterSnapshotIdentifier(Aws::String&& value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier = std::move(value); }
157 
158     /**
159      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
160      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
161      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
162      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
163      * <li> <p>If this identifier is for an automated snapshot, the
164      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
165      */
SetDBClusterSnapshotIdentifier(const char * value)166     inline void SetDBClusterSnapshotIdentifier(const char* value) { m_dBClusterSnapshotIdentifierHasBeenSet = true; m_dBClusterSnapshotIdentifier.assign(value); }
167 
168     /**
169      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
170      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
171      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
172      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
173      * <li> <p>If this identifier is for an automated snapshot, the
174      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
175      */
WithDBClusterSnapshotIdentifier(const Aws::String & value)176     inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(const Aws::String& value) { SetDBClusterSnapshotIdentifier(value); return *this;}
177 
178     /**
179      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
180      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
181      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
182      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
183      * <li> <p>If this identifier is for an automated snapshot, the
184      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
185      */
WithDBClusterSnapshotIdentifier(Aws::String && value)186     inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(Aws::String&& value) { SetDBClusterSnapshotIdentifier(std::move(value)); return *this;}
187 
188     /**
189      * <p>A specific cluster snapshot identifier to describe. This parameter can't be
190      * used with the <code>DBClusterIdentifier</code> parameter. This value is stored
191      * as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>If provided, must
192      * match the identifier of an existing <code>DBClusterSnapshot</code>.</p> </li>
193      * <li> <p>If this identifier is for an automated snapshot, the
194      * <code>SnapshotType</code> parameter must also be specified.</p> </li> </ul>
195      */
WithDBClusterSnapshotIdentifier(const char * value)196     inline DescribeDBClusterSnapshotsRequest& WithDBClusterSnapshotIdentifier(const char* value) { SetDBClusterSnapshotIdentifier(value); return *this;}
197 
198 
199     /**
200      * <p>The type of cluster snapshots to be returned. You can specify one of the
201      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
202      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
203      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
204      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
205      * Return all manual cluster snapshots that have been shared to your account.</p>
206      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
207      * marked as public.</p> </li> </ul> <p>If you don't specify a
208      * <code>SnapshotType</code> value, then both automated and manual cluster
209      * snapshots are returned. You can include shared cluster snapshots with these
210      * results by setting the <code>IncludeShared</code> parameter to
211      * <code>true</code>. You can include public cluster snapshots with these results
212      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
213      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
214      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
215      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
216      * when <code>SnapshotType</code> is set to <code>shared</code>. The
217      * <code>IncludeShared</code> parameter doesn't apply when
218      * <code>SnapshotType</code> is set to <code>public</code>.</p>
219      */
GetSnapshotType()220     inline const Aws::String& GetSnapshotType() const{ return m_snapshotType; }
221 
222     /**
223      * <p>The type of cluster snapshots to be returned. You can specify one of the
224      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
225      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
226      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
227      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
228      * Return all manual cluster snapshots that have been shared to your account.</p>
229      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
230      * marked as public.</p> </li> </ul> <p>If you don't specify a
231      * <code>SnapshotType</code> value, then both automated and manual cluster
232      * snapshots are returned. You can include shared cluster snapshots with these
233      * results by setting the <code>IncludeShared</code> parameter to
234      * <code>true</code>. You can include public cluster snapshots with these results
235      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
236      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
237      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
238      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
239      * when <code>SnapshotType</code> is set to <code>shared</code>. The
240      * <code>IncludeShared</code> parameter doesn't apply when
241      * <code>SnapshotType</code> is set to <code>public</code>.</p>
242      */
SnapshotTypeHasBeenSet()243     inline bool SnapshotTypeHasBeenSet() const { return m_snapshotTypeHasBeenSet; }
244 
245     /**
246      * <p>The type of cluster snapshots to be returned. You can specify one of the
247      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
248      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
249      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
250      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
251      * Return all manual cluster snapshots that have been shared to your account.</p>
252      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
253      * marked as public.</p> </li> </ul> <p>If you don't specify a
254      * <code>SnapshotType</code> value, then both automated and manual cluster
255      * snapshots are returned. You can include shared cluster snapshots with these
256      * results by setting the <code>IncludeShared</code> parameter to
257      * <code>true</code>. You can include public cluster snapshots with these results
258      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
259      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
260      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
261      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
262      * when <code>SnapshotType</code> is set to <code>shared</code>. The
263      * <code>IncludeShared</code> parameter doesn't apply when
264      * <code>SnapshotType</code> is set to <code>public</code>.</p>
265      */
SetSnapshotType(const Aws::String & value)266     inline void SetSnapshotType(const Aws::String& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = value; }
267 
268     /**
269      * <p>The type of cluster snapshots to be returned. You can specify one of the
270      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
271      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
272      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
273      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
274      * Return all manual cluster snapshots that have been shared to your account.</p>
275      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
276      * marked as public.</p> </li> </ul> <p>If you don't specify a
277      * <code>SnapshotType</code> value, then both automated and manual cluster
278      * snapshots are returned. You can include shared cluster snapshots with these
279      * results by setting the <code>IncludeShared</code> parameter to
280      * <code>true</code>. You can include public cluster snapshots with these results
281      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
282      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
283      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
284      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
285      * when <code>SnapshotType</code> is set to <code>shared</code>. The
286      * <code>IncludeShared</code> parameter doesn't apply when
287      * <code>SnapshotType</code> is set to <code>public</code>.</p>
288      */
SetSnapshotType(Aws::String && value)289     inline void SetSnapshotType(Aws::String&& value) { m_snapshotTypeHasBeenSet = true; m_snapshotType = std::move(value); }
290 
291     /**
292      * <p>The type of cluster snapshots to be returned. You can specify one of the
293      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
294      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
295      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
296      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
297      * Return all manual cluster snapshots that have been shared to your account.</p>
298      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
299      * marked as public.</p> </li> </ul> <p>If you don't specify a
300      * <code>SnapshotType</code> value, then both automated and manual cluster
301      * snapshots are returned. You can include shared cluster snapshots with these
302      * results by setting the <code>IncludeShared</code> parameter to
303      * <code>true</code>. You can include public cluster snapshots with these results
304      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
305      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
306      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
307      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
308      * when <code>SnapshotType</code> is set to <code>shared</code>. The
309      * <code>IncludeShared</code> parameter doesn't apply when
310      * <code>SnapshotType</code> is set to <code>public</code>.</p>
311      */
SetSnapshotType(const char * value)312     inline void SetSnapshotType(const char* value) { m_snapshotTypeHasBeenSet = true; m_snapshotType.assign(value); }
313 
314     /**
315      * <p>The type of cluster snapshots to be returned. You can specify one of the
316      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
317      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
318      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
319      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
320      * Return all manual cluster snapshots that have been shared to your account.</p>
321      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
322      * marked as public.</p> </li> </ul> <p>If you don't specify a
323      * <code>SnapshotType</code> value, then both automated and manual cluster
324      * snapshots are returned. You can include shared cluster snapshots with these
325      * results by setting the <code>IncludeShared</code> parameter to
326      * <code>true</code>. You can include public cluster snapshots with these results
327      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
328      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
329      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
330      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
331      * when <code>SnapshotType</code> is set to <code>shared</code>. The
332      * <code>IncludeShared</code> parameter doesn't apply when
333      * <code>SnapshotType</code> is set to <code>public</code>.</p>
334      */
WithSnapshotType(const Aws::String & value)335     inline DescribeDBClusterSnapshotsRequest& WithSnapshotType(const Aws::String& value) { SetSnapshotType(value); return *this;}
336 
337     /**
338      * <p>The type of cluster snapshots to be returned. You can specify one of the
339      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
340      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
341      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
342      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
343      * Return all manual cluster snapshots that have been shared to your account.</p>
344      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
345      * marked as public.</p> </li> </ul> <p>If you don't specify a
346      * <code>SnapshotType</code> value, then both automated and manual cluster
347      * snapshots are returned. You can include shared cluster snapshots with these
348      * results by setting the <code>IncludeShared</code> parameter to
349      * <code>true</code>. You can include public cluster snapshots with these results
350      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
351      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
352      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
353      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
354      * when <code>SnapshotType</code> is set to <code>shared</code>. The
355      * <code>IncludeShared</code> parameter doesn't apply when
356      * <code>SnapshotType</code> is set to <code>public</code>.</p>
357      */
WithSnapshotType(Aws::String && value)358     inline DescribeDBClusterSnapshotsRequest& WithSnapshotType(Aws::String&& value) { SetSnapshotType(std::move(value)); return *this;}
359 
360     /**
361      * <p>The type of cluster snapshots to be returned. You can specify one of the
362      * following values:</p> <ul> <li> <p> <code>automated</code> - Return all cluster
363      * snapshots that Amazon DocumentDB has automatically created for your account.</p>
364      * </li> <li> <p> <code>manual</code> - Return all cluster snapshots that you have
365      * manually created for your account.</p> </li> <li> <p> <code>shared</code> -
366      * Return all manual cluster snapshots that have been shared to your account.</p>
367      * </li> <li> <p> <code>public</code> - Return all cluster snapshots that have been
368      * marked as public.</p> </li> </ul> <p>If you don't specify a
369      * <code>SnapshotType</code> value, then both automated and manual cluster
370      * snapshots are returned. You can include shared cluster snapshots with these
371      * results by setting the <code>IncludeShared</code> parameter to
372      * <code>true</code>. You can include public cluster snapshots with these results
373      * by setting the<code>IncludePublic</code> parameter to <code>true</code>.</p>
374      * <p>The <code>IncludeShared</code> and <code>IncludePublic</code> parameters
375      * don't apply for <code>SnapshotType</code> values of <code>manual</code> or
376      * <code>automated</code>. The <code>IncludePublic</code> parameter doesn't apply
377      * when <code>SnapshotType</code> is set to <code>shared</code>. The
378      * <code>IncludeShared</code> parameter doesn't apply when
379      * <code>SnapshotType</code> is set to <code>public</code>.</p>
380      */
WithSnapshotType(const char * value)381     inline DescribeDBClusterSnapshotsRequest& WithSnapshotType(const char* value) { SetSnapshotType(value); return *this;}
382 
383 
384     /**
385      * <p>This parameter is not currently supported.</p>
386      */
GetFilters()387     inline const Aws::Vector<Filter>& GetFilters() const{ return m_filters; }
388 
389     /**
390      * <p>This parameter is not currently supported.</p>
391      */
FiltersHasBeenSet()392     inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; }
393 
394     /**
395      * <p>This parameter is not currently supported.</p>
396      */
SetFilters(const Aws::Vector<Filter> & value)397     inline void SetFilters(const Aws::Vector<Filter>& value) { m_filtersHasBeenSet = true; m_filters = value; }
398 
399     /**
400      * <p>This parameter is not currently supported.</p>
401      */
SetFilters(Aws::Vector<Filter> && value)402     inline void SetFilters(Aws::Vector<Filter>&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); }
403 
404     /**
405      * <p>This parameter is not currently supported.</p>
406      */
WithFilters(const Aws::Vector<Filter> & value)407     inline DescribeDBClusterSnapshotsRequest& WithFilters(const Aws::Vector<Filter>& value) { SetFilters(value); return *this;}
408 
409     /**
410      * <p>This parameter is not currently supported.</p>
411      */
WithFilters(Aws::Vector<Filter> && value)412     inline DescribeDBClusterSnapshotsRequest& WithFilters(Aws::Vector<Filter>&& value) { SetFilters(std::move(value)); return *this;}
413 
414     /**
415      * <p>This parameter is not currently supported.</p>
416      */
AddFilters(const Filter & value)417     inline DescribeDBClusterSnapshotsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; }
418 
419     /**
420      * <p>This parameter is not currently supported.</p>
421      */
AddFilters(Filter && value)422     inline DescribeDBClusterSnapshotsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; }
423 
424 
425     /**
426      * <p> The maximum number of records to include in the response. If more records
427      * exist than the specified <code>MaxRecords</code> value, a pagination token
428      * (marker) is included in the response so that the remaining results can be
429      * retrieved.</p> <p>Default: 100</p> <p>Constraints: Minimum 20, maximum 100.</p>
430      */
GetMaxRecords()431     inline int GetMaxRecords() const{ return m_maxRecords; }
432 
433     /**
434      * <p> The maximum number of records to include in the response. If more records
435      * exist than the specified <code>MaxRecords</code> value, a pagination token
436      * (marker) is included in the response so that the remaining results can be
437      * retrieved.</p> <p>Default: 100</p> <p>Constraints: Minimum 20, maximum 100.</p>
438      */
MaxRecordsHasBeenSet()439     inline bool MaxRecordsHasBeenSet() const { return m_maxRecordsHasBeenSet; }
440 
441     /**
442      * <p> The maximum number of records to include in the response. If more records
443      * exist than the specified <code>MaxRecords</code> value, a pagination token
444      * (marker) is included in the response so that the remaining results can be
445      * retrieved.</p> <p>Default: 100</p> <p>Constraints: Minimum 20, maximum 100.</p>
446      */
SetMaxRecords(int value)447     inline void SetMaxRecords(int value) { m_maxRecordsHasBeenSet = true; m_maxRecords = value; }
448 
449     /**
450      * <p> The maximum number of records to include in the response. If more records
451      * exist than the specified <code>MaxRecords</code> value, a pagination token
452      * (marker) is included in the response so that the remaining results can be
453      * retrieved.</p> <p>Default: 100</p> <p>Constraints: Minimum 20, maximum 100.</p>
454      */
WithMaxRecords(int value)455     inline DescribeDBClusterSnapshotsRequest& WithMaxRecords(int value) { SetMaxRecords(value); return *this;}
456 
457 
458     /**
459      * <p>An optional pagination token provided by a previous request. If this
460      * parameter is specified, the response includes only records beyond the marker, up
461      * to the value specified by <code>MaxRecords</code>.</p>
462      */
GetMarker()463     inline const Aws::String& GetMarker() const{ return m_marker; }
464 
465     /**
466      * <p>An optional pagination token provided by a previous request. If this
467      * parameter is specified, the response includes only records beyond the marker, up
468      * to the value specified by <code>MaxRecords</code>.</p>
469      */
MarkerHasBeenSet()470     inline bool MarkerHasBeenSet() const { return m_markerHasBeenSet; }
471 
472     /**
473      * <p>An optional pagination token provided by a previous request. If this
474      * parameter is specified, the response includes only records beyond the marker, up
475      * to the value specified by <code>MaxRecords</code>.</p>
476      */
SetMarker(const Aws::String & value)477     inline void SetMarker(const Aws::String& value) { m_markerHasBeenSet = true; m_marker = value; }
478 
479     /**
480      * <p>An optional pagination token provided by a previous request. If this
481      * parameter is specified, the response includes only records beyond the marker, up
482      * to the value specified by <code>MaxRecords</code>.</p>
483      */
SetMarker(Aws::String && value)484     inline void SetMarker(Aws::String&& value) { m_markerHasBeenSet = true; m_marker = std::move(value); }
485 
486     /**
487      * <p>An optional pagination token provided by a previous request. If this
488      * parameter is specified, the response includes only records beyond the marker, up
489      * to the value specified by <code>MaxRecords</code>.</p>
490      */
SetMarker(const char * value)491     inline void SetMarker(const char* value) { m_markerHasBeenSet = true; m_marker.assign(value); }
492 
493     /**
494      * <p>An optional pagination token provided by a previous request. If this
495      * parameter is specified, the response includes only records beyond the marker, up
496      * to the value specified by <code>MaxRecords</code>.</p>
497      */
WithMarker(const Aws::String & value)498     inline DescribeDBClusterSnapshotsRequest& WithMarker(const Aws::String& value) { SetMarker(value); return *this;}
499 
500     /**
501      * <p>An optional pagination token provided by a previous request. If this
502      * parameter is specified, the response includes only records beyond the marker, up
503      * to the value specified by <code>MaxRecords</code>.</p>
504      */
WithMarker(Aws::String && value)505     inline DescribeDBClusterSnapshotsRequest& WithMarker(Aws::String&& value) { SetMarker(std::move(value)); return *this;}
506 
507     /**
508      * <p>An optional pagination token provided by a previous request. If this
509      * parameter is specified, the response includes only records beyond the marker, up
510      * to the value specified by <code>MaxRecords</code>.</p>
511      */
WithMarker(const char * value)512     inline DescribeDBClusterSnapshotsRequest& WithMarker(const char* value) { SetMarker(value); return *this;}
513 
514 
515     /**
516      * <p>Set to <code>true</code> to include shared manual cluster snapshots from
517      * other accounts that this account has been given permission to copy or restore,
518      * and otherwise <code>false</code>. The default is <code>false</code>.</p>
519      */
GetIncludeShared()520     inline bool GetIncludeShared() const{ return m_includeShared; }
521 
522     /**
523      * <p>Set to <code>true</code> to include shared manual cluster snapshots from
524      * other accounts that this account has been given permission to copy or restore,
525      * and otherwise <code>false</code>. The default is <code>false</code>.</p>
526      */
IncludeSharedHasBeenSet()527     inline bool IncludeSharedHasBeenSet() const { return m_includeSharedHasBeenSet; }
528 
529     /**
530      * <p>Set to <code>true</code> to include shared manual cluster snapshots from
531      * other accounts that this account has been given permission to copy or restore,
532      * and otherwise <code>false</code>. The default is <code>false</code>.</p>
533      */
SetIncludeShared(bool value)534     inline void SetIncludeShared(bool value) { m_includeSharedHasBeenSet = true; m_includeShared = value; }
535 
536     /**
537      * <p>Set to <code>true</code> to include shared manual cluster snapshots from
538      * other accounts that this account has been given permission to copy or restore,
539      * and otherwise <code>false</code>. The default is <code>false</code>.</p>
540      */
WithIncludeShared(bool value)541     inline DescribeDBClusterSnapshotsRequest& WithIncludeShared(bool value) { SetIncludeShared(value); return *this;}
542 
543 
544     /**
545      * <p>Set to <code>true</code> to include manual cluster snapshots that are public
546      * and can be copied or restored by any account, and otherwise <code>false</code>.
547      * The default is <code>false</code>.</p>
548      */
GetIncludePublic()549     inline bool GetIncludePublic() const{ return m_includePublic; }
550 
551     /**
552      * <p>Set to <code>true</code> to include manual cluster snapshots that are public
553      * and can be copied or restored by any account, and otherwise <code>false</code>.
554      * The default is <code>false</code>.</p>
555      */
IncludePublicHasBeenSet()556     inline bool IncludePublicHasBeenSet() const { return m_includePublicHasBeenSet; }
557 
558     /**
559      * <p>Set to <code>true</code> to include manual cluster snapshots that are public
560      * and can be copied or restored by any account, and otherwise <code>false</code>.
561      * The default is <code>false</code>.</p>
562      */
SetIncludePublic(bool value)563     inline void SetIncludePublic(bool value) { m_includePublicHasBeenSet = true; m_includePublic = value; }
564 
565     /**
566      * <p>Set to <code>true</code> to include manual cluster snapshots that are public
567      * and can be copied or restored by any account, and otherwise <code>false</code>.
568      * The default is <code>false</code>.</p>
569      */
WithIncludePublic(bool value)570     inline DescribeDBClusterSnapshotsRequest& WithIncludePublic(bool value) { SetIncludePublic(value); return *this;}
571 
572   private:
573 
574     Aws::String m_dBClusterIdentifier;
575     bool m_dBClusterIdentifierHasBeenSet;
576 
577     Aws::String m_dBClusterSnapshotIdentifier;
578     bool m_dBClusterSnapshotIdentifierHasBeenSet;
579 
580     Aws::String m_snapshotType;
581     bool m_snapshotTypeHasBeenSet;
582 
583     Aws::Vector<Filter> m_filters;
584     bool m_filtersHasBeenSet;
585 
586     int m_maxRecords;
587     bool m_maxRecordsHasBeenSet;
588 
589     Aws::String m_marker;
590     bool m_markerHasBeenSet;
591 
592     bool m_includeShared;
593     bool m_includeSharedHasBeenSet;
594 
595     bool m_includePublic;
596     bool m_includePublicHasBeenSet;
597   };
598 
599 } // namespace Model
600 } // namespace DocDB
601 } // namespace Aws
602