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/rds/RDSRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/DateTime.h>
11 #include <aws/core/utils/memory/stl/AWSVector.h>
12 #include <aws/rds/model/ScalingConfiguration.h>
13 #include <aws/rds/model/Tag.h>
14 #include <utility>
15 
16 namespace Aws
17 {
18 namespace RDS
19 {
20 namespace Model
21 {
22 
23   /**
24    * <p/><p><h3>See Also:</h3>   <a
25    * href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTimeMessage">AWS
26    * API Reference</a></p>
27    */
28   class AWS_RDS_API RestoreDBClusterToPointInTimeRequest : public RDSRequest
29   {
30   public:
31     RestoreDBClusterToPointInTimeRequest();
32 
33     // Service request name is the Operation name which will send this request out,
34     // each operation should has unique request name, so that we can get operation's name from this request.
35     // Note: this is not true for response, multiple operations may have the same response name,
36     // so we can not get operation's name from response.
GetServiceRequestName()37     inline virtual const char* GetServiceRequestName() const override { return "RestoreDBClusterToPointInTime"; }
38 
39     Aws::String SerializePayload() const override;
40 
41   protected:
42     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
43 
44   public:
45 
46     /**
47      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
48      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
49      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
50      * contain two consecutive hyphens</p> </li> </ul>
51      */
GetDBClusterIdentifier()52     inline const Aws::String& GetDBClusterIdentifier() const{ return m_dBClusterIdentifier; }
53 
54     /**
55      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
56      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
57      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
58      * contain two consecutive hyphens</p> </li> </ul>
59      */
DBClusterIdentifierHasBeenSet()60     inline bool DBClusterIdentifierHasBeenSet() const { return m_dBClusterIdentifierHasBeenSet; }
61 
62     /**
63      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
64      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
65      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
66      * contain two consecutive hyphens</p> </li> </ul>
67      */
SetDBClusterIdentifier(const Aws::String & value)68     inline void SetDBClusterIdentifier(const Aws::String& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = value; }
69 
70     /**
71      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
72      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
73      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
74      * contain two consecutive hyphens</p> </li> </ul>
75      */
SetDBClusterIdentifier(Aws::String && value)76     inline void SetDBClusterIdentifier(Aws::String&& value) { m_dBClusterIdentifierHasBeenSet = true; m_dBClusterIdentifier = std::move(value); }
77 
78     /**
79      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
80      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
81      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
82      * contain two consecutive hyphens</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 name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
88      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
89      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
90      * contain two consecutive hyphens</p> </li> </ul>
91      */
WithDBClusterIdentifier(const Aws::String & value)92     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(const Aws::String& value) { SetDBClusterIdentifier(value); return *this;}
93 
94     /**
95      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
96      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
97      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
98      * contain two consecutive hyphens</p> </li> </ul>
99      */
WithDBClusterIdentifier(Aws::String && value)100     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(Aws::String&& value) { SetDBClusterIdentifier(std::move(value)); return *this;}
101 
102     /**
103      * <p>The name of the new DB cluster to be created.</p> <p>Constraints:</p> <ul>
104      * <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens</p> </li> <li>
105      * <p>First character must be a letter</p> </li> <li> <p>Can't end with a hyphen or
106      * contain two consecutive hyphens</p> </li> </ul>
107      */
WithDBClusterIdentifier(const char * value)108     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterIdentifier(const char* value) { SetDBClusterIdentifier(value); return *this;}
109 
110 
111     /**
112      * <p>The type of restore to be performed. You can specify one of the following
113      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
114      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
115      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
116      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
117      * <code>copy-on-write</code> if the engine version of the source DB cluster is
118      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
119      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
120      */
GetRestoreType()121     inline const Aws::String& GetRestoreType() const{ return m_restoreType; }
122 
123     /**
124      * <p>The type of restore to be performed. You can specify one of the following
125      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
126      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
127      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
128      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
129      * <code>copy-on-write</code> if the engine version of the source DB cluster is
130      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
131      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
132      */
RestoreTypeHasBeenSet()133     inline bool RestoreTypeHasBeenSet() const { return m_restoreTypeHasBeenSet; }
134 
135     /**
136      * <p>The type of restore to be performed. You can specify one of the following
137      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
138      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
139      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
140      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
141      * <code>copy-on-write</code> if the engine version of the source DB cluster is
142      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
143      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
144      */
SetRestoreType(const Aws::String & value)145     inline void SetRestoreType(const Aws::String& value) { m_restoreTypeHasBeenSet = true; m_restoreType = value; }
146 
147     /**
148      * <p>The type of restore to be performed. You can specify one of the following
149      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
150      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
151      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
152      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
153      * <code>copy-on-write</code> if the engine version of the source DB cluster is
154      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
155      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
156      */
SetRestoreType(Aws::String && value)157     inline void SetRestoreType(Aws::String&& value) { m_restoreTypeHasBeenSet = true; m_restoreType = std::move(value); }
158 
159     /**
160      * <p>The type of restore to be performed. You can specify one of the following
161      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
162      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
163      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
164      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
165      * <code>copy-on-write</code> if the engine version of the source DB cluster is
166      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
167      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
168      */
SetRestoreType(const char * value)169     inline void SetRestoreType(const char* value) { m_restoreTypeHasBeenSet = true; m_restoreType.assign(value); }
170 
171     /**
172      * <p>The type of restore to be performed. You can specify one of the following
173      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
174      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
175      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
176      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
177      * <code>copy-on-write</code> if the engine version of the source DB cluster is
178      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
179      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
180      */
WithRestoreType(const Aws::String & value)181     inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(const Aws::String& value) { SetRestoreType(value); return *this;}
182 
183     /**
184      * <p>The type of restore to be performed. You can specify one of the following
185      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
186      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
187      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
188      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
189      * <code>copy-on-write</code> if the engine version of the source DB cluster is
190      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
191      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
192      */
WithRestoreType(Aws::String && value)193     inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(Aws::String&& value) { SetRestoreType(std::move(value)); return *this;}
194 
195     /**
196      * <p>The type of restore to be performed. You can specify one of the following
197      * values:</p> <ul> <li> <p> <code>full-copy</code> - The new DB cluster is
198      * restored as a full copy of the source DB cluster.</p> </li> <li> <p>
199      * <code>copy-on-write</code> - The new DB cluster is restored as a clone of the
200      * source DB cluster.</p> </li> </ul> <p>Constraints: You can't specify
201      * <code>copy-on-write</code> if the engine version of the source DB cluster is
202      * earlier than 1.11.</p> <p>If you don't specify a <code>RestoreType</code> value,
203      * then the new DB cluster is restored as a full copy of the source DB cluster.</p>
204      */
WithRestoreType(const char * value)205     inline RestoreDBClusterToPointInTimeRequest& WithRestoreType(const char* value) { SetRestoreType(value); return *this;}
206 
207 
208     /**
209      * <p>The identifier of the source DB cluster from which to restore.</p>
210      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
211      * DBCluster.</p> </li> </ul>
212      */
GetSourceDBClusterIdentifier()213     inline const Aws::String& GetSourceDBClusterIdentifier() const{ return m_sourceDBClusterIdentifier; }
214 
215     /**
216      * <p>The identifier of the source DB cluster from which to restore.</p>
217      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
218      * DBCluster.</p> </li> </ul>
219      */
SourceDBClusterIdentifierHasBeenSet()220     inline bool SourceDBClusterIdentifierHasBeenSet() const { return m_sourceDBClusterIdentifierHasBeenSet; }
221 
222     /**
223      * <p>The identifier of the source DB cluster from which to restore.</p>
224      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
225      * DBCluster.</p> </li> </ul>
226      */
SetSourceDBClusterIdentifier(const Aws::String & value)227     inline void SetSourceDBClusterIdentifier(const Aws::String& value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier = value; }
228 
229     /**
230      * <p>The identifier of the source DB cluster from which to restore.</p>
231      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
232      * DBCluster.</p> </li> </ul>
233      */
SetSourceDBClusterIdentifier(Aws::String && value)234     inline void SetSourceDBClusterIdentifier(Aws::String&& value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier = std::move(value); }
235 
236     /**
237      * <p>The identifier of the source DB cluster from which to restore.</p>
238      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
239      * DBCluster.</p> </li> </ul>
240      */
SetSourceDBClusterIdentifier(const char * value)241     inline void SetSourceDBClusterIdentifier(const char* value) { m_sourceDBClusterIdentifierHasBeenSet = true; m_sourceDBClusterIdentifier.assign(value); }
242 
243     /**
244      * <p>The identifier of the source DB cluster from which to restore.</p>
245      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
246      * DBCluster.</p> </li> </ul>
247      */
WithSourceDBClusterIdentifier(const Aws::String & value)248     inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(const Aws::String& value) { SetSourceDBClusterIdentifier(value); return *this;}
249 
250     /**
251      * <p>The identifier of the source DB cluster from which to restore.</p>
252      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
253      * DBCluster.</p> </li> </ul>
254      */
WithSourceDBClusterIdentifier(Aws::String && value)255     inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(Aws::String&& value) { SetSourceDBClusterIdentifier(std::move(value)); return *this;}
256 
257     /**
258      * <p>The identifier of the source DB cluster from which to restore.</p>
259      * <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing
260      * DBCluster.</p> </li> </ul>
261      */
WithSourceDBClusterIdentifier(const char * value)262     inline RestoreDBClusterToPointInTimeRequest& WithSourceDBClusterIdentifier(const char* value) { SetSourceDBClusterIdentifier(value); return *this;}
263 
264 
265     /**
266      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
267      * must be a time in Universal Coordinated Time (UTC) format</p>
268      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
269      * the DB instance</p> </li> <li> <p>Must be specified if
270      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
271      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
272      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
273      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
274      * <code>2015-03-07T23:45:00Z</code> </p>
275      */
GetRestoreToTime()276     inline const Aws::Utils::DateTime& GetRestoreToTime() const{ return m_restoreToTime; }
277 
278     /**
279      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
280      * must be a time in Universal Coordinated Time (UTC) format</p>
281      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
282      * the DB instance</p> </li> <li> <p>Must be specified if
283      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
284      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
285      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
286      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
287      * <code>2015-03-07T23:45:00Z</code> </p>
288      */
RestoreToTimeHasBeenSet()289     inline bool RestoreToTimeHasBeenSet() const { return m_restoreToTimeHasBeenSet; }
290 
291     /**
292      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
293      * must be a time in Universal Coordinated Time (UTC) format</p>
294      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
295      * the DB instance</p> </li> <li> <p>Must be specified if
296      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
297      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
298      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
299      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
300      * <code>2015-03-07T23:45:00Z</code> </p>
301      */
SetRestoreToTime(const Aws::Utils::DateTime & value)302     inline void SetRestoreToTime(const Aws::Utils::DateTime& value) { m_restoreToTimeHasBeenSet = true; m_restoreToTime = value; }
303 
304     /**
305      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
306      * must be a time in Universal Coordinated Time (UTC) format</p>
307      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
308      * the DB instance</p> </li> <li> <p>Must be specified if
309      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
310      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
311      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
312      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
313      * <code>2015-03-07T23:45:00Z</code> </p>
314      */
SetRestoreToTime(Aws::Utils::DateTime && value)315     inline void SetRestoreToTime(Aws::Utils::DateTime&& value) { m_restoreToTimeHasBeenSet = true; m_restoreToTime = std::move(value); }
316 
317     /**
318      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
319      * must be a time in Universal Coordinated Time (UTC) format</p>
320      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
321      * the DB instance</p> </li> <li> <p>Must be specified if
322      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
323      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
324      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
325      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
326      * <code>2015-03-07T23:45:00Z</code> </p>
327      */
WithRestoreToTime(const Aws::Utils::DateTime & value)328     inline RestoreDBClusterToPointInTimeRequest& WithRestoreToTime(const Aws::Utils::DateTime& value) { SetRestoreToTime(value); return *this;}
329 
330     /**
331      * <p>The date and time to restore the DB cluster to.</p> <p>Valid Values: Value
332      * must be a time in Universal Coordinated Time (UTC) format</p>
333      * <p>Constraints:</p> <ul> <li> <p>Must be before the latest restorable time for
334      * the DB instance</p> </li> <li> <p>Must be specified if
335      * <code>UseLatestRestorableTime</code> parameter isn't provided</p> </li> <li>
336      * <p>Can't be specified if the <code>UseLatestRestorableTime</code> parameter is
337      * enabled</p> </li> <li> <p>Can't be specified if the <code>RestoreType</code>
338      * parameter is <code>copy-on-write</code> </p> </li> </ul> <p>Example:
339      * <code>2015-03-07T23:45:00Z</code> </p>
340      */
WithRestoreToTime(Aws::Utils::DateTime && value)341     inline RestoreDBClusterToPointInTimeRequest& WithRestoreToTime(Aws::Utils::DateTime&& value) { SetRestoreToTime(std::move(value)); return *this;}
342 
343 
344     /**
345      * <p>A value that indicates whether to restore the DB cluster to the latest
346      * restorable backup time. By default, the DB cluster isn't restored to the latest
347      * restorable backup time. </p> <p>Constraints: Can't be specified if
348      * <code>RestoreToTime</code> parameter is provided.</p>
349      */
GetUseLatestRestorableTime()350     inline bool GetUseLatestRestorableTime() const{ return m_useLatestRestorableTime; }
351 
352     /**
353      * <p>A value that indicates whether to restore the DB cluster to the latest
354      * restorable backup time. By default, the DB cluster isn't restored to the latest
355      * restorable backup time. </p> <p>Constraints: Can't be specified if
356      * <code>RestoreToTime</code> parameter is provided.</p>
357      */
UseLatestRestorableTimeHasBeenSet()358     inline bool UseLatestRestorableTimeHasBeenSet() const { return m_useLatestRestorableTimeHasBeenSet; }
359 
360     /**
361      * <p>A value that indicates whether to restore the DB cluster to the latest
362      * restorable backup time. By default, the DB cluster isn't restored to the latest
363      * restorable backup time. </p> <p>Constraints: Can't be specified if
364      * <code>RestoreToTime</code> parameter is provided.</p>
365      */
SetUseLatestRestorableTime(bool value)366     inline void SetUseLatestRestorableTime(bool value) { m_useLatestRestorableTimeHasBeenSet = true; m_useLatestRestorableTime = value; }
367 
368     /**
369      * <p>A value that indicates whether to restore the DB cluster to the latest
370      * restorable backup time. By default, the DB cluster isn't restored to the latest
371      * restorable backup time. </p> <p>Constraints: Can't be specified if
372      * <code>RestoreToTime</code> parameter is provided.</p>
373      */
WithUseLatestRestorableTime(bool value)374     inline RestoreDBClusterToPointInTimeRequest& WithUseLatestRestorableTime(bool value) { SetUseLatestRestorableTime(value); return *this;}
375 
376 
377     /**
378      * <p>The port number on which the new DB cluster accepts connections.</p>
379      * <p>Constraints: A value from <code>1150-65535</code>. </p> <p>Default: The
380      * default port for the engine.</p>
381      */
GetPort()382     inline int GetPort() const{ return m_port; }
383 
384     /**
385      * <p>The port number on which the new DB cluster accepts connections.</p>
386      * <p>Constraints: A value from <code>1150-65535</code>. </p> <p>Default: The
387      * default port for the engine.</p>
388      */
PortHasBeenSet()389     inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
390 
391     /**
392      * <p>The port number on which the new DB cluster accepts connections.</p>
393      * <p>Constraints: A value from <code>1150-65535</code>. </p> <p>Default: The
394      * default port for the engine.</p>
395      */
SetPort(int value)396     inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }
397 
398     /**
399      * <p>The port number on which the new DB cluster accepts connections.</p>
400      * <p>Constraints: A value from <code>1150-65535</code>. </p> <p>Default: The
401      * default port for the engine.</p>
402      */
WithPort(int value)403     inline RestoreDBClusterToPointInTimeRequest& WithPort(int value) { SetPort(value); return *this;}
404 
405 
406     /**
407      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
408      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
409      * <code>mySubnetgroup</code> </p>
410      */
GetDBSubnetGroupName()411     inline const Aws::String& GetDBSubnetGroupName() const{ return m_dBSubnetGroupName; }
412 
413     /**
414      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
415      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
416      * <code>mySubnetgroup</code> </p>
417      */
DBSubnetGroupNameHasBeenSet()418     inline bool DBSubnetGroupNameHasBeenSet() const { return m_dBSubnetGroupNameHasBeenSet; }
419 
420     /**
421      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
422      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
423      * <code>mySubnetgroup</code> </p>
424      */
SetDBSubnetGroupName(const Aws::String & value)425     inline void SetDBSubnetGroupName(const Aws::String& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = value; }
426 
427     /**
428      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
429      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
430      * <code>mySubnetgroup</code> </p>
431      */
SetDBSubnetGroupName(Aws::String && value)432     inline void SetDBSubnetGroupName(Aws::String&& value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName = std::move(value); }
433 
434     /**
435      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
436      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
437      * <code>mySubnetgroup</code> </p>
438      */
SetDBSubnetGroupName(const char * value)439     inline void SetDBSubnetGroupName(const char* value) { m_dBSubnetGroupNameHasBeenSet = true; m_dBSubnetGroupName.assign(value); }
440 
441     /**
442      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
443      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
444      * <code>mySubnetgroup</code> </p>
445      */
WithDBSubnetGroupName(const Aws::String & value)446     inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(const Aws::String& value) { SetDBSubnetGroupName(value); return *this;}
447 
448     /**
449      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
450      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
451      * <code>mySubnetgroup</code> </p>
452      */
WithDBSubnetGroupName(Aws::String && value)453     inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(Aws::String&& value) { SetDBSubnetGroupName(std::move(value)); return *this;}
454 
455     /**
456      * <p>The DB subnet group name to use for the new DB cluster.</p> <p>Constraints:
457      * If supplied, must match the name of an existing DBSubnetGroup.</p> <p>Example:
458      * <code>mySubnetgroup</code> </p>
459      */
WithDBSubnetGroupName(const char * value)460     inline RestoreDBClusterToPointInTimeRequest& WithDBSubnetGroupName(const char* value) { SetDBSubnetGroupName(value); return *this;}
461 
462 
463     /**
464      * <p>The name of the option group for the new DB cluster.</p>
465      */
GetOptionGroupName()466     inline const Aws::String& GetOptionGroupName() const{ return m_optionGroupName; }
467 
468     /**
469      * <p>The name of the option group for the new DB cluster.</p>
470      */
OptionGroupNameHasBeenSet()471     inline bool OptionGroupNameHasBeenSet() const { return m_optionGroupNameHasBeenSet; }
472 
473     /**
474      * <p>The name of the option group for the new DB cluster.</p>
475      */
SetOptionGroupName(const Aws::String & value)476     inline void SetOptionGroupName(const Aws::String& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = value; }
477 
478     /**
479      * <p>The name of the option group for the new DB cluster.</p>
480      */
SetOptionGroupName(Aws::String && value)481     inline void SetOptionGroupName(Aws::String&& value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName = std::move(value); }
482 
483     /**
484      * <p>The name of the option group for the new DB cluster.</p>
485      */
SetOptionGroupName(const char * value)486     inline void SetOptionGroupName(const char* value) { m_optionGroupNameHasBeenSet = true; m_optionGroupName.assign(value); }
487 
488     /**
489      * <p>The name of the option group for the new DB cluster.</p>
490      */
WithOptionGroupName(const Aws::String & value)491     inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(const Aws::String& value) { SetOptionGroupName(value); return *this;}
492 
493     /**
494      * <p>The name of the option group for the new DB cluster.</p>
495      */
WithOptionGroupName(Aws::String && value)496     inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(Aws::String&& value) { SetOptionGroupName(std::move(value)); return *this;}
497 
498     /**
499      * <p>The name of the option group for the new DB cluster.</p>
500      */
WithOptionGroupName(const char * value)501     inline RestoreDBClusterToPointInTimeRequest& WithOptionGroupName(const char* value) { SetOptionGroupName(value); return *this;}
502 
503 
504     /**
505      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
506      */
GetVpcSecurityGroupIds()507     inline const Aws::Vector<Aws::String>& GetVpcSecurityGroupIds() const{ return m_vpcSecurityGroupIds; }
508 
509     /**
510      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
511      */
VpcSecurityGroupIdsHasBeenSet()512     inline bool VpcSecurityGroupIdsHasBeenSet() const { return m_vpcSecurityGroupIdsHasBeenSet; }
513 
514     /**
515      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
516      */
SetVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)517     inline void SetVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = value; }
518 
519     /**
520      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
521      */
SetVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)522     inline void SetVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds = std::move(value); }
523 
524     /**
525      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
526      */
WithVpcSecurityGroupIds(const Aws::Vector<Aws::String> & value)527     inline RestoreDBClusterToPointInTimeRequest& WithVpcSecurityGroupIds(const Aws::Vector<Aws::String>& value) { SetVpcSecurityGroupIds(value); return *this;}
528 
529     /**
530      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
531      */
WithVpcSecurityGroupIds(Aws::Vector<Aws::String> && value)532     inline RestoreDBClusterToPointInTimeRequest& WithVpcSecurityGroupIds(Aws::Vector<Aws::String>&& value) { SetVpcSecurityGroupIds(std::move(value)); return *this;}
533 
534     /**
535      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
536      */
AddVpcSecurityGroupIds(const Aws::String & value)537     inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(const Aws::String& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }
538 
539     /**
540      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
541      */
AddVpcSecurityGroupIds(Aws::String && value)542     inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(Aws::String&& value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(std::move(value)); return *this; }
543 
544     /**
545      * <p>A list of VPC security groups that the new DB cluster belongs to.</p>
546      */
AddVpcSecurityGroupIds(const char * value)547     inline RestoreDBClusterToPointInTimeRequest& AddVpcSecurityGroupIds(const char* value) { m_vpcSecurityGroupIdsHasBeenSet = true; m_vpcSecurityGroupIds.push_back(value); return *this; }
548 
549 
550 
GetTags()551     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
552 
553 
TagsHasBeenSet()554     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
555 
556 
SetTags(const Aws::Vector<Tag> & value)557     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
558 
559 
SetTags(Aws::Vector<Tag> && value)560     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
561 
562 
WithTags(const Aws::Vector<Tag> & value)563     inline RestoreDBClusterToPointInTimeRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
564 
565 
WithTags(Aws::Vector<Tag> && value)566     inline RestoreDBClusterToPointInTimeRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
567 
568 
AddTags(const Tag & value)569     inline RestoreDBClusterToPointInTimeRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
570 
571 
AddTags(Tag && value)572     inline RestoreDBClusterToPointInTimeRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
573 
574 
575     /**
576      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
577      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
578      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
579      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
580      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
581      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
582      * that is different than the Amazon Web Services KMS key used to encrypt the
583      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
584      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
585      * specify a value for the <code>KmsKeyId</code> parameter, then the following
586      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
587      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
588      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
589      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
590      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
591      * then the restore request is rejected.</p>
592      */
GetKmsKeyId()593     inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
594 
595     /**
596      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
597      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
598      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
599      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
600      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
601      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
602      * that is different than the Amazon Web Services KMS key used to encrypt the
603      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
604      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
605      * specify a value for the <code>KmsKeyId</code> parameter, then the following
606      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
607      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
608      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
609      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
610      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
611      * then the restore request is rejected.</p>
612      */
KmsKeyIdHasBeenSet()613     inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
614 
615     /**
616      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
617      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
618      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
619      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
620      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
621      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
622      * that is different than the Amazon Web Services KMS key used to encrypt the
623      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
624      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
625      * specify a value for the <code>KmsKeyId</code> parameter, then the following
626      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
627      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
628      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
629      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
630      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
631      * then the restore request is rejected.</p>
632      */
SetKmsKeyId(const Aws::String & value)633     inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
634 
635     /**
636      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
637      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
638      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
639      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
640      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
641      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
642      * that is different than the Amazon Web Services KMS key used to encrypt the
643      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
644      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
645      * specify a value for the <code>KmsKeyId</code> parameter, then the following
646      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
647      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
648      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
649      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
650      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
651      * then the restore request is rejected.</p>
652      */
SetKmsKeyId(Aws::String && value)653     inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
654 
655     /**
656      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
657      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
658      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
659      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
660      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
661      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
662      * that is different than the Amazon Web Services KMS key used to encrypt the
663      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
664      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
665      * specify a value for the <code>KmsKeyId</code> parameter, then the following
666      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
667      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
668      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
669      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
670      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
671      * then the restore request is rejected.</p>
672      */
SetKmsKeyId(const char * value)673     inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
674 
675     /**
676      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
677      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
678      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
679      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
680      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
681      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
682      * that is different than the Amazon Web Services KMS key used to encrypt the
683      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
684      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
685      * specify a value for the <code>KmsKeyId</code> parameter, then the following
686      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
687      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
688      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
689      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
690      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
691      * then the restore request is rejected.</p>
692      */
WithKmsKeyId(const Aws::String & value)693     inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
694 
695     /**
696      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
697      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
698      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
699      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
700      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
701      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
702      * that is different than the Amazon Web Services KMS key used to encrypt the
703      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
704      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
705      * specify a value for the <code>KmsKeyId</code> parameter, then the following
706      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
707      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
708      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
709      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
710      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
711      * then the restore request is rejected.</p>
712      */
WithKmsKeyId(Aws::String && value)713     inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
714 
715     /**
716      * <p>The Amazon Web Services KMS key identifier to use when restoring an encrypted
717      * DB cluster from an encrypted DB cluster.</p> <p>The Amazon Web Services KMS key
718      * identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon Web
719      * Services KMS customer master key (CMK). To use a CMK in a different Amazon Web
720      * Services account, specify the key ARN or alias ARN.</p> <p>You can restore to a
721      * new DB cluster and encrypt the new DB cluster with a Amazon Web Services KMS CMK
722      * that is different than the Amazon Web Services KMS key used to encrypt the
723      * source DB cluster. The new DB cluster is encrypted with the Amazon Web Services
724      * KMS CMK identified by the <code>KmsKeyId</code> parameter.</p> <p>If you don't
725      * specify a value for the <code>KmsKeyId</code> parameter, then the following
726      * occurs:</p> <ul> <li> <p>If the DB cluster is encrypted, then the restored DB
727      * cluster is encrypted using the Amazon Web Services KMS CMK that was used to
728      * encrypt the source DB cluster.</p> </li> <li> <p>If the DB cluster isn't
729      * encrypted, then the restored DB cluster isn't encrypted.</p> </li> </ul> <p>If
730      * <code>DBClusterIdentifier</code> refers to a DB cluster that isn't encrypted,
731      * then the restore request is rejected.</p>
732      */
WithKmsKeyId(const char * value)733     inline RestoreDBClusterToPointInTimeRequest& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
734 
735 
736     /**
737      * <p>A value that indicates whether to enable mapping of Amazon Web Services
738      * Identity and Access Management (IAM) accounts to database accounts. By default,
739      * mapping is disabled.</p> <p>For more information, see <a
740      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html">
741      * IAM Database Authentication</a> in the <i>Amazon Aurora User Guide.</i> </p>
742      */
GetEnableIAMDatabaseAuthentication()743     inline bool GetEnableIAMDatabaseAuthentication() const{ return m_enableIAMDatabaseAuthentication; }
744 
745     /**
746      * <p>A value that indicates whether to enable mapping of Amazon Web Services
747      * Identity and Access Management (IAM) accounts to database accounts. By default,
748      * mapping is disabled.</p> <p>For more information, see <a
749      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html">
750      * IAM Database Authentication</a> in the <i>Amazon Aurora User Guide.</i> </p>
751      */
EnableIAMDatabaseAuthenticationHasBeenSet()752     inline bool EnableIAMDatabaseAuthenticationHasBeenSet() const { return m_enableIAMDatabaseAuthenticationHasBeenSet; }
753 
754     /**
755      * <p>A value that indicates whether to enable mapping of Amazon Web Services
756      * Identity and Access Management (IAM) accounts to database accounts. By default,
757      * mapping is disabled.</p> <p>For more information, see <a
758      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html">
759      * IAM Database Authentication</a> in the <i>Amazon Aurora User Guide.</i> </p>
760      */
SetEnableIAMDatabaseAuthentication(bool value)761     inline void SetEnableIAMDatabaseAuthentication(bool value) { m_enableIAMDatabaseAuthenticationHasBeenSet = true; m_enableIAMDatabaseAuthentication = value; }
762 
763     /**
764      * <p>A value that indicates whether to enable mapping of Amazon Web Services
765      * Identity and Access Management (IAM) accounts to database accounts. By default,
766      * mapping is disabled.</p> <p>For more information, see <a
767      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html">
768      * IAM Database Authentication</a> in the <i>Amazon Aurora User Guide.</i> </p>
769      */
WithEnableIAMDatabaseAuthentication(bool value)770     inline RestoreDBClusterToPointInTimeRequest& WithEnableIAMDatabaseAuthentication(bool value) { SetEnableIAMDatabaseAuthentication(value); return *this;}
771 
772 
773     /**
774      * <p>The target backtrack window, in seconds. To disable backtracking, set this
775      * value to 0.</p>  <p>Currently, Backtrack is only supported for Aurora
776      * MySQL DB clusters.</p>  <p>Default: 0</p> <p>Constraints:</p> <ul> <li>
777      * <p>If specified, this value must be set to a number from 0 to 259,200 (72
778      * hours).</p> </li> </ul>
779      */
GetBacktrackWindow()780     inline long long GetBacktrackWindow() const{ return m_backtrackWindow; }
781 
782     /**
783      * <p>The target backtrack window, in seconds. To disable backtracking, set this
784      * value to 0.</p>  <p>Currently, Backtrack is only supported for Aurora
785      * MySQL DB clusters.</p>  <p>Default: 0</p> <p>Constraints:</p> <ul> <li>
786      * <p>If specified, this value must be set to a number from 0 to 259,200 (72
787      * hours).</p> </li> </ul>
788      */
BacktrackWindowHasBeenSet()789     inline bool BacktrackWindowHasBeenSet() const { return m_backtrackWindowHasBeenSet; }
790 
791     /**
792      * <p>The target backtrack window, in seconds. To disable backtracking, set this
793      * value to 0.</p>  <p>Currently, Backtrack is only supported for Aurora
794      * MySQL DB clusters.</p>  <p>Default: 0</p> <p>Constraints:</p> <ul> <li>
795      * <p>If specified, this value must be set to a number from 0 to 259,200 (72
796      * hours).</p> </li> </ul>
797      */
SetBacktrackWindow(long long value)798     inline void SetBacktrackWindow(long long value) { m_backtrackWindowHasBeenSet = true; m_backtrackWindow = value; }
799 
800     /**
801      * <p>The target backtrack window, in seconds. To disable backtracking, set this
802      * value to 0.</p>  <p>Currently, Backtrack is only supported for Aurora
803      * MySQL DB clusters.</p>  <p>Default: 0</p> <p>Constraints:</p> <ul> <li>
804      * <p>If specified, this value must be set to a number from 0 to 259,200 (72
805      * hours).</p> </li> </ul>
806      */
WithBacktrackWindow(long long value)807     inline RestoreDBClusterToPointInTimeRequest& WithBacktrackWindow(long long value) { SetBacktrackWindow(value); return *this;}
808 
809 
810     /**
811      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
812      * Logs. The values in the list depend on the DB engine being used. For more
813      * information, see <a
814      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
815      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
816      * Guide</i>.</p>
817      */
GetEnableCloudwatchLogsExports()818     inline const Aws::Vector<Aws::String>& GetEnableCloudwatchLogsExports() const{ return m_enableCloudwatchLogsExports; }
819 
820     /**
821      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
822      * Logs. The values in the list depend on the DB engine being used. For more
823      * information, see <a
824      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
825      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
826      * Guide</i>.</p>
827      */
EnableCloudwatchLogsExportsHasBeenSet()828     inline bool EnableCloudwatchLogsExportsHasBeenSet() const { return m_enableCloudwatchLogsExportsHasBeenSet; }
829 
830     /**
831      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
832      * Logs. The values in the list depend on the DB engine being used. For more
833      * information, see <a
834      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
835      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
836      * Guide</i>.</p>
837      */
SetEnableCloudwatchLogsExports(const Aws::Vector<Aws::String> & value)838     inline void SetEnableCloudwatchLogsExports(const Aws::Vector<Aws::String>& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = value; }
839 
840     /**
841      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
842      * Logs. The values in the list depend on the DB engine being used. For more
843      * information, see <a
844      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
845      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
846      * Guide</i>.</p>
847      */
SetEnableCloudwatchLogsExports(Aws::Vector<Aws::String> && value)848     inline void SetEnableCloudwatchLogsExports(Aws::Vector<Aws::String>&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports = std::move(value); }
849 
850     /**
851      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
852      * Logs. The values in the list depend on the DB engine being used. For more
853      * information, see <a
854      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
855      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
856      * Guide</i>.</p>
857      */
WithEnableCloudwatchLogsExports(const Aws::Vector<Aws::String> & value)858     inline RestoreDBClusterToPointInTimeRequest& WithEnableCloudwatchLogsExports(const Aws::Vector<Aws::String>& value) { SetEnableCloudwatchLogsExports(value); return *this;}
859 
860     /**
861      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
862      * Logs. The values in the list depend on the DB engine being used. For more
863      * information, see <a
864      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
865      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
866      * Guide</i>.</p>
867      */
WithEnableCloudwatchLogsExports(Aws::Vector<Aws::String> && value)868     inline RestoreDBClusterToPointInTimeRequest& WithEnableCloudwatchLogsExports(Aws::Vector<Aws::String>&& value) { SetEnableCloudwatchLogsExports(std::move(value)); return *this;}
869 
870     /**
871      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
872      * Logs. The values in the list depend on the DB engine being used. For more
873      * information, see <a
874      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
875      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
876      * Guide</i>.</p>
877      */
AddEnableCloudwatchLogsExports(const Aws::String & value)878     inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(const Aws::String& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; }
879 
880     /**
881      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
882      * Logs. The values in the list depend on the DB engine being used. For more
883      * information, see <a
884      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
885      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
886      * Guide</i>.</p>
887      */
AddEnableCloudwatchLogsExports(Aws::String && value)888     inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(Aws::String&& value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(std::move(value)); return *this; }
889 
890     /**
891      * <p>The list of logs that the restored DB cluster is to export to CloudWatch
892      * Logs. The values in the list depend on the DB engine being used. For more
893      * information, see <a
894      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch">Publishing
895      * Database Logs to Amazon CloudWatch Logs</a> in the <i>Amazon Aurora User
896      * Guide</i>.</p>
897      */
AddEnableCloudwatchLogsExports(const char * value)898     inline RestoreDBClusterToPointInTimeRequest& AddEnableCloudwatchLogsExports(const char* value) { m_enableCloudwatchLogsExportsHasBeenSet = true; m_enableCloudwatchLogsExports.push_back(value); return *this; }
899 
900 
901     /**
902      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
903      * If this argument is omitted, the default DB cluster parameter group for the
904      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
905      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
906      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
907      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
908      * consecutive hyphens.</p> </li> </ul>
909      */
GetDBClusterParameterGroupName()910     inline const Aws::String& GetDBClusterParameterGroupName() const{ return m_dBClusterParameterGroupName; }
911 
912     /**
913      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
914      * If this argument is omitted, the default DB cluster parameter group for the
915      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
916      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
917      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
918      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
919      * consecutive hyphens.</p> </li> </ul>
920      */
DBClusterParameterGroupNameHasBeenSet()921     inline bool DBClusterParameterGroupNameHasBeenSet() const { return m_dBClusterParameterGroupNameHasBeenSet; }
922 
923     /**
924      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
925      * If this argument is omitted, the default DB cluster parameter group for the
926      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
927      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
928      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
929      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
930      * consecutive hyphens.</p> </li> </ul>
931      */
SetDBClusterParameterGroupName(const Aws::String & value)932     inline void SetDBClusterParameterGroupName(const Aws::String& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = value; }
933 
934     /**
935      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
936      * If this argument is omitted, the default DB cluster parameter group for the
937      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
938      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
939      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
940      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
941      * consecutive hyphens.</p> </li> </ul>
942      */
SetDBClusterParameterGroupName(Aws::String && value)943     inline void SetDBClusterParameterGroupName(Aws::String&& value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName = std::move(value); }
944 
945     /**
946      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
947      * If this argument is omitted, the default DB cluster parameter group for the
948      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
949      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
950      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
951      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
952      * consecutive hyphens.</p> </li> </ul>
953      */
SetDBClusterParameterGroupName(const char * value)954     inline void SetDBClusterParameterGroupName(const char* value) { m_dBClusterParameterGroupNameHasBeenSet = true; m_dBClusterParameterGroupName.assign(value); }
955 
956     /**
957      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
958      * If this argument is omitted, the default DB cluster parameter group for the
959      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
960      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
961      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
962      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
963      * consecutive hyphens.</p> </li> </ul>
964      */
WithDBClusterParameterGroupName(const Aws::String & value)965     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(const Aws::String& value) { SetDBClusterParameterGroupName(value); return *this;}
966 
967     /**
968      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
969      * If this argument is omitted, the default DB cluster parameter group for the
970      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
971      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
972      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
973      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
974      * consecutive hyphens.</p> </li> </ul>
975      */
WithDBClusterParameterGroupName(Aws::String && value)976     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(Aws::String&& value) { SetDBClusterParameterGroupName(std::move(value)); return *this;}
977 
978     /**
979      * <p>The name of the DB cluster parameter group to associate with this DB cluster.
980      * If this argument is omitted, the default DB cluster parameter group for the
981      * specified engine is used.</p> <p>Constraints:</p> <ul> <li> <p>If supplied, must
982      * match the name of an existing DB cluster parameter group.</p> </li> <li> <p>Must
983      * be 1 to 255 letters, numbers, or hyphens.</p> </li> <li> <p>First character must
984      * be a letter.</p> </li> <li> <p>Can't end with a hyphen or contain two
985      * consecutive hyphens.</p> </li> </ul>
986      */
WithDBClusterParameterGroupName(const char * value)987     inline RestoreDBClusterToPointInTimeRequest& WithDBClusterParameterGroupName(const char* value) { SetDBClusterParameterGroupName(value); return *this;}
988 
989 
990     /**
991      * <p>A value that indicates whether the DB cluster has deletion protection
992      * enabled. The database can't be deleted when deletion protection is enabled. By
993      * default, deletion protection is disabled. </p>
994      */
GetDeletionProtection()995     inline bool GetDeletionProtection() const{ return m_deletionProtection; }
996 
997     /**
998      * <p>A value that indicates whether the DB cluster has deletion protection
999      * enabled. The database can't be deleted when deletion protection is enabled. By
1000      * default, deletion protection is disabled. </p>
1001      */
DeletionProtectionHasBeenSet()1002     inline bool DeletionProtectionHasBeenSet() const { return m_deletionProtectionHasBeenSet; }
1003 
1004     /**
1005      * <p>A value that indicates whether the DB cluster has deletion protection
1006      * enabled. The database can't be deleted when deletion protection is enabled. By
1007      * default, deletion protection is disabled. </p>
1008      */
SetDeletionProtection(bool value)1009     inline void SetDeletionProtection(bool value) { m_deletionProtectionHasBeenSet = true; m_deletionProtection = value; }
1010 
1011     /**
1012      * <p>A value that indicates whether the DB cluster has deletion protection
1013      * enabled. The database can't be deleted when deletion protection is enabled. By
1014      * default, deletion protection is disabled. </p>
1015      */
WithDeletionProtection(bool value)1016     inline RestoreDBClusterToPointInTimeRequest& WithDeletionProtection(bool value) { SetDeletionProtection(value); return *this;}
1017 
1018 
1019     /**
1020      * <p>A value that indicates whether to copy all tags from the restored DB cluster
1021      * to snapshots of the restored DB cluster. The default is not to copy them.</p>
1022      */
GetCopyTagsToSnapshot()1023     inline bool GetCopyTagsToSnapshot() const{ return m_copyTagsToSnapshot; }
1024 
1025     /**
1026      * <p>A value that indicates whether to copy all tags from the restored DB cluster
1027      * to snapshots of the restored DB cluster. The default is not to copy them.</p>
1028      */
CopyTagsToSnapshotHasBeenSet()1029     inline bool CopyTagsToSnapshotHasBeenSet() const { return m_copyTagsToSnapshotHasBeenSet; }
1030 
1031     /**
1032      * <p>A value that indicates whether to copy all tags from the restored DB cluster
1033      * to snapshots of the restored DB cluster. The default is not to copy them.</p>
1034      */
SetCopyTagsToSnapshot(bool value)1035     inline void SetCopyTagsToSnapshot(bool value) { m_copyTagsToSnapshotHasBeenSet = true; m_copyTagsToSnapshot = value; }
1036 
1037     /**
1038      * <p>A value that indicates whether to copy all tags from the restored DB cluster
1039      * to snapshots of the restored DB cluster. The default is not to copy them.</p>
1040      */
WithCopyTagsToSnapshot(bool value)1041     inline RestoreDBClusterToPointInTimeRequest& WithCopyTagsToSnapshot(bool value) { SetCopyTagsToSnapshot(value); return *this;}
1042 
1043 
1044     /**
1045      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1046      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1047      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1048      * connect to the DB cluster. For more information, see <a
1049      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1050      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1051      */
GetDomain()1052     inline const Aws::String& GetDomain() const{ return m_domain; }
1053 
1054     /**
1055      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1056      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1057      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1058      * connect to the DB cluster. For more information, see <a
1059      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1060      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1061      */
DomainHasBeenSet()1062     inline bool DomainHasBeenSet() const { return m_domainHasBeenSet; }
1063 
1064     /**
1065      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1066      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1067      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1068      * connect to the DB cluster. For more information, see <a
1069      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1070      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1071      */
SetDomain(const Aws::String & value)1072     inline void SetDomain(const Aws::String& value) { m_domainHasBeenSet = true; m_domain = value; }
1073 
1074     /**
1075      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1076      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1077      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1078      * connect to the DB cluster. For more information, see <a
1079      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1080      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1081      */
SetDomain(Aws::String && value)1082     inline void SetDomain(Aws::String&& value) { m_domainHasBeenSet = true; m_domain = std::move(value); }
1083 
1084     /**
1085      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1086      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1087      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1088      * connect to the DB cluster. For more information, see <a
1089      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1090      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1091      */
SetDomain(const char * value)1092     inline void SetDomain(const char* value) { m_domainHasBeenSet = true; m_domain.assign(value); }
1093 
1094     /**
1095      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1096      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1097      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1098      * connect to the DB cluster. For more information, see <a
1099      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1100      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1101      */
WithDomain(const Aws::String & value)1102     inline RestoreDBClusterToPointInTimeRequest& WithDomain(const Aws::String& value) { SetDomain(value); return *this;}
1103 
1104     /**
1105      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1106      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1107      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1108      * connect to the DB cluster. For more information, see <a
1109      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1110      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1111      */
WithDomain(Aws::String && value)1112     inline RestoreDBClusterToPointInTimeRequest& WithDomain(Aws::String&& value) { SetDomain(std::move(value)); return *this;}
1113 
1114     /**
1115      * <p>Specify the Active Directory directory ID to restore the DB cluster in. The
1116      * domain must be created prior to this operation. </p> <p> For Amazon Aurora DB
1117      * clusters, Amazon RDS can use Kerberos Authentication to authenticate users that
1118      * connect to the DB cluster. For more information, see <a
1119      * href="https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html">Kerberos
1120      * Authentication</a> in the <i>Amazon Aurora User Guide</i>. </p>
1121      */
WithDomain(const char * value)1122     inline RestoreDBClusterToPointInTimeRequest& WithDomain(const char* value) { SetDomain(value); return *this;}
1123 
1124 
1125     /**
1126      * <p>Specify the name of the IAM role to be used when making API calls to the
1127      * Directory Service.</p>
1128      */
GetDomainIAMRoleName()1129     inline const Aws::String& GetDomainIAMRoleName() const{ return m_domainIAMRoleName; }
1130 
1131     /**
1132      * <p>Specify the name of the IAM role to be used when making API calls to the
1133      * Directory Service.</p>
1134      */
DomainIAMRoleNameHasBeenSet()1135     inline bool DomainIAMRoleNameHasBeenSet() const { return m_domainIAMRoleNameHasBeenSet; }
1136 
1137     /**
1138      * <p>Specify the name of the IAM role to be used when making API calls to the
1139      * Directory Service.</p>
1140      */
SetDomainIAMRoleName(const Aws::String & value)1141     inline void SetDomainIAMRoleName(const Aws::String& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = value; }
1142 
1143     /**
1144      * <p>Specify the name of the IAM role to be used when making API calls to the
1145      * Directory Service.</p>
1146      */
SetDomainIAMRoleName(Aws::String && value)1147     inline void SetDomainIAMRoleName(Aws::String&& value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName = std::move(value); }
1148 
1149     /**
1150      * <p>Specify the name of the IAM role to be used when making API calls to the
1151      * Directory Service.</p>
1152      */
SetDomainIAMRoleName(const char * value)1153     inline void SetDomainIAMRoleName(const char* value) { m_domainIAMRoleNameHasBeenSet = true; m_domainIAMRoleName.assign(value); }
1154 
1155     /**
1156      * <p>Specify the name of the IAM role to be used when making API calls to the
1157      * Directory Service.</p>
1158      */
WithDomainIAMRoleName(const Aws::String & value)1159     inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(const Aws::String& value) { SetDomainIAMRoleName(value); return *this;}
1160 
1161     /**
1162      * <p>Specify the name of the IAM role to be used when making API calls to the
1163      * Directory Service.</p>
1164      */
WithDomainIAMRoleName(Aws::String && value)1165     inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(Aws::String&& value) { SetDomainIAMRoleName(std::move(value)); return *this;}
1166 
1167     /**
1168      * <p>Specify the name of the IAM role to be used when making API calls to the
1169      * Directory Service.</p>
1170      */
WithDomainIAMRoleName(const char * value)1171     inline RestoreDBClusterToPointInTimeRequest& WithDomainIAMRoleName(const char* value) { SetDomainIAMRoleName(value); return *this;}
1172 
1173 
1174     /**
1175      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1176      * properties of the DB cluster.</p>
1177      */
GetScalingConfiguration()1178     inline const ScalingConfiguration& GetScalingConfiguration() const{ return m_scalingConfiguration; }
1179 
1180     /**
1181      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1182      * properties of the DB cluster.</p>
1183      */
ScalingConfigurationHasBeenSet()1184     inline bool ScalingConfigurationHasBeenSet() const { return m_scalingConfigurationHasBeenSet; }
1185 
1186     /**
1187      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1188      * properties of the DB cluster.</p>
1189      */
SetScalingConfiguration(const ScalingConfiguration & value)1190     inline void SetScalingConfiguration(const ScalingConfiguration& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = value; }
1191 
1192     /**
1193      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1194      * properties of the DB cluster.</p>
1195      */
SetScalingConfiguration(ScalingConfiguration && value)1196     inline void SetScalingConfiguration(ScalingConfiguration&& value) { m_scalingConfigurationHasBeenSet = true; m_scalingConfiguration = std::move(value); }
1197 
1198     /**
1199      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1200      * properties of the DB cluster.</p>
1201      */
WithScalingConfiguration(const ScalingConfiguration & value)1202     inline RestoreDBClusterToPointInTimeRequest& WithScalingConfiguration(const ScalingConfiguration& value) { SetScalingConfiguration(value); return *this;}
1203 
1204     /**
1205      * <p>For DB clusters in <code>serverless</code> DB engine mode, the scaling
1206      * properties of the DB cluster.</p>
1207      */
WithScalingConfiguration(ScalingConfiguration && value)1208     inline RestoreDBClusterToPointInTimeRequest& WithScalingConfiguration(ScalingConfiguration&& value) { SetScalingConfiguration(std::move(value)); return *this;}
1209 
1210 
1211     /**
1212      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1213      * <code>serverless</code>, depending on the type of the cluster you are creating.
1214      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1215      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1216      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1217      * cluster or an encrypted provisioned cluster.</p>
1218      */
GetEngineMode()1219     inline const Aws::String& GetEngineMode() const{ return m_engineMode; }
1220 
1221     /**
1222      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1223      * <code>serverless</code>, depending on the type of the cluster you are creating.
1224      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1225      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1226      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1227      * cluster or an encrypted provisioned cluster.</p>
1228      */
EngineModeHasBeenSet()1229     inline bool EngineModeHasBeenSet() const { return m_engineModeHasBeenSet; }
1230 
1231     /**
1232      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1233      * <code>serverless</code>, depending on the type of the cluster you are creating.
1234      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1235      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1236      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1237      * cluster or an encrypted provisioned cluster.</p>
1238      */
SetEngineMode(const Aws::String & value)1239     inline void SetEngineMode(const Aws::String& value) { m_engineModeHasBeenSet = true; m_engineMode = value; }
1240 
1241     /**
1242      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1243      * <code>serverless</code>, depending on the type of the cluster you are creating.
1244      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1245      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1246      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1247      * cluster or an encrypted provisioned cluster.</p>
1248      */
SetEngineMode(Aws::String && value)1249     inline void SetEngineMode(Aws::String&& value) { m_engineModeHasBeenSet = true; m_engineMode = std::move(value); }
1250 
1251     /**
1252      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1253      * <code>serverless</code>, depending on the type of the cluster you are creating.
1254      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1255      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1256      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1257      * cluster or an encrypted provisioned cluster.</p>
1258      */
SetEngineMode(const char * value)1259     inline void SetEngineMode(const char* value) { m_engineModeHasBeenSet = true; m_engineMode.assign(value); }
1260 
1261     /**
1262      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1263      * <code>serverless</code>, depending on the type of the cluster you are creating.
1264      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1265      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1266      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1267      * cluster or an encrypted provisioned cluster.</p>
1268      */
WithEngineMode(const Aws::String & value)1269     inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(const Aws::String& value) { SetEngineMode(value); return *this;}
1270 
1271     /**
1272      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1273      * <code>serverless</code>, depending on the type of the cluster you are creating.
1274      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1275      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1276      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1277      * cluster or an encrypted provisioned cluster.</p>
1278      */
WithEngineMode(Aws::String && value)1279     inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(Aws::String&& value) { SetEngineMode(std::move(value)); return *this;}
1280 
1281     /**
1282      * <p>The engine mode of the new cluster. Specify <code>provisioned</code> or
1283      * <code>serverless</code>, depending on the type of the cluster you are creating.
1284      * You can create an Aurora Serverless clone from a provisioned cluster, or a
1285      * provisioned clone from an Aurora Serverless cluster. To create a clone that is
1286      * an Aurora Serverless cluster, the original cluster must be an Aurora Serverless
1287      * cluster or an encrypted provisioned cluster.</p>
1288      */
WithEngineMode(const char * value)1289     inline RestoreDBClusterToPointInTimeRequest& WithEngineMode(const char* value) { SetEngineMode(value); return *this;}
1290 
1291   private:
1292 
1293     Aws::String m_dBClusterIdentifier;
1294     bool m_dBClusterIdentifierHasBeenSet;
1295 
1296     Aws::String m_restoreType;
1297     bool m_restoreTypeHasBeenSet;
1298 
1299     Aws::String m_sourceDBClusterIdentifier;
1300     bool m_sourceDBClusterIdentifierHasBeenSet;
1301 
1302     Aws::Utils::DateTime m_restoreToTime;
1303     bool m_restoreToTimeHasBeenSet;
1304 
1305     bool m_useLatestRestorableTime;
1306     bool m_useLatestRestorableTimeHasBeenSet;
1307 
1308     int m_port;
1309     bool m_portHasBeenSet;
1310 
1311     Aws::String m_dBSubnetGroupName;
1312     bool m_dBSubnetGroupNameHasBeenSet;
1313 
1314     Aws::String m_optionGroupName;
1315     bool m_optionGroupNameHasBeenSet;
1316 
1317     Aws::Vector<Aws::String> m_vpcSecurityGroupIds;
1318     bool m_vpcSecurityGroupIdsHasBeenSet;
1319 
1320     Aws::Vector<Tag> m_tags;
1321     bool m_tagsHasBeenSet;
1322 
1323     Aws::String m_kmsKeyId;
1324     bool m_kmsKeyIdHasBeenSet;
1325 
1326     bool m_enableIAMDatabaseAuthentication;
1327     bool m_enableIAMDatabaseAuthenticationHasBeenSet;
1328 
1329     long long m_backtrackWindow;
1330     bool m_backtrackWindowHasBeenSet;
1331 
1332     Aws::Vector<Aws::String> m_enableCloudwatchLogsExports;
1333     bool m_enableCloudwatchLogsExportsHasBeenSet;
1334 
1335     Aws::String m_dBClusterParameterGroupName;
1336     bool m_dBClusterParameterGroupNameHasBeenSet;
1337 
1338     bool m_deletionProtection;
1339     bool m_deletionProtectionHasBeenSet;
1340 
1341     bool m_copyTagsToSnapshot;
1342     bool m_copyTagsToSnapshotHasBeenSet;
1343 
1344     Aws::String m_domain;
1345     bool m_domainHasBeenSet;
1346 
1347     Aws::String m_domainIAMRoleName;
1348     bool m_domainIAMRoleNameHasBeenSet;
1349 
1350     ScalingConfiguration m_scalingConfiguration;
1351     bool m_scalingConfigurationHasBeenSet;
1352 
1353     Aws::String m_engineMode;
1354     bool m_engineModeHasBeenSet;
1355   };
1356 
1357 } // namespace Model
1358 } // namespace RDS
1359 } // namespace Aws
1360