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