1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/redshift/Redshift_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/redshift/model/Endpoint.h>
11 #include <aws/core/utils/DateTime.h>
12 #include <aws/core/utils/memory/stl/AWSVector.h>
13 #include <aws/redshift/model/PendingModifiedValues.h>
14 #include <aws/redshift/model/RestoreStatus.h>
15 #include <aws/redshift/model/DataTransferProgress.h>
16 #include <aws/redshift/model/HsmStatus.h>
17 #include <aws/redshift/model/ClusterSnapshotCopyStatus.h>
18 #include <aws/redshift/model/ElasticIpStatus.h>
19 #include <aws/redshift/model/ScheduleState.h>
20 #include <aws/redshift/model/ResizeInfo.h>
21 #include <aws/redshift/model/AquaConfiguration.h>
22 #include <aws/redshift/model/ClusterSecurityGroupMembership.h>
23 #include <aws/redshift/model/VpcSecurityGroupMembership.h>
24 #include <aws/redshift/model/ClusterParameterGroupStatus.h>
25 #include <aws/redshift/model/ClusterNode.h>
26 #include <aws/redshift/model/Tag.h>
27 #include <aws/redshift/model/ClusterIamRole.h>
28 #include <aws/redshift/model/DeferredMaintenanceWindow.h>
29 #include <utility>
30 
31 namespace Aws
32 {
33 namespace Utils
34 {
35 namespace Xml
36 {
37   class XmlNode;
38 } // namespace Xml
39 } // namespace Utils
40 namespace Redshift
41 {
42 namespace Model
43 {
44 
45   /**
46    * <p>Describes a cluster.</p><p><h3>See Also:</h3>   <a
47    * href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/Cluster">AWS
48    * API Reference</a></p>
49    */
50   class AWS_REDSHIFT_API Cluster
51   {
52   public:
53     Cluster();
54     Cluster(const Aws::Utils::Xml::XmlNode& xmlNode);
55     Cluster& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
56 
57     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
58     void OutputToStream(Aws::OStream& oStream, const char* location) const;
59 
60 
61     /**
62      * <p>The unique identifier of the cluster.</p>
63      */
GetClusterIdentifier()64     inline const Aws::String& GetClusterIdentifier() const{ return m_clusterIdentifier; }
65 
66     /**
67      * <p>The unique identifier of the cluster.</p>
68      */
ClusterIdentifierHasBeenSet()69     inline bool ClusterIdentifierHasBeenSet() const { return m_clusterIdentifierHasBeenSet; }
70 
71     /**
72      * <p>The unique identifier of the cluster.</p>
73      */
SetClusterIdentifier(const Aws::String & value)74     inline void SetClusterIdentifier(const Aws::String& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = value; }
75 
76     /**
77      * <p>The unique identifier of the cluster.</p>
78      */
SetClusterIdentifier(Aws::String && value)79     inline void SetClusterIdentifier(Aws::String&& value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier = std::move(value); }
80 
81     /**
82      * <p>The unique identifier of the cluster.</p>
83      */
SetClusterIdentifier(const char * value)84     inline void SetClusterIdentifier(const char* value) { m_clusterIdentifierHasBeenSet = true; m_clusterIdentifier.assign(value); }
85 
86     /**
87      * <p>The unique identifier of the cluster.</p>
88      */
WithClusterIdentifier(const Aws::String & value)89     inline Cluster& WithClusterIdentifier(const Aws::String& value) { SetClusterIdentifier(value); return *this;}
90 
91     /**
92      * <p>The unique identifier of the cluster.</p>
93      */
WithClusterIdentifier(Aws::String && value)94     inline Cluster& WithClusterIdentifier(Aws::String&& value) { SetClusterIdentifier(std::move(value)); return *this;}
95 
96     /**
97      * <p>The unique identifier of the cluster.</p>
98      */
WithClusterIdentifier(const char * value)99     inline Cluster& WithClusterIdentifier(const char* value) { SetClusterIdentifier(value); return *this;}
100 
101 
102     /**
103      * <p>The node type for the nodes in the cluster.</p>
104      */
GetNodeType()105     inline const Aws::String& GetNodeType() const{ return m_nodeType; }
106 
107     /**
108      * <p>The node type for the nodes in the cluster.</p>
109      */
NodeTypeHasBeenSet()110     inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
111 
112     /**
113      * <p>The node type for the nodes in the cluster.</p>
114      */
SetNodeType(const Aws::String & value)115     inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
116 
117     /**
118      * <p>The node type for the nodes in the cluster.</p>
119      */
SetNodeType(Aws::String && value)120     inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = std::move(value); }
121 
122     /**
123      * <p>The node type for the nodes in the cluster.</p>
124      */
SetNodeType(const char * value)125     inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); }
126 
127     /**
128      * <p>The node type for the nodes in the cluster.</p>
129      */
WithNodeType(const Aws::String & value)130     inline Cluster& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;}
131 
132     /**
133      * <p>The node type for the nodes in the cluster.</p>
134      */
WithNodeType(Aws::String && value)135     inline Cluster& WithNodeType(Aws::String&& value) { SetNodeType(std::move(value)); return *this;}
136 
137     /**
138      * <p>The node type for the nodes in the cluster.</p>
139      */
WithNodeType(const char * value)140     inline Cluster& WithNodeType(const char* value) { SetNodeType(value); return *this;}
141 
142 
143     /**
144      * <p> The current state of the cluster. Possible values are the following:</p>
145      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
146      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
147      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
148      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
149      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
150      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
151      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
152      * <code>incompatible-parameters</code> </p> </li> <li> <p>
153      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
154      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
155      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
156      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
157      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
158      * <code>updating-hsm</code> </p> </li> </ul>
159      */
GetClusterStatus()160     inline const Aws::String& GetClusterStatus() const{ return m_clusterStatus; }
161 
162     /**
163      * <p> The current state of the cluster. Possible values are the following:</p>
164      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
165      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
166      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
167      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
168      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
169      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
170      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
171      * <code>incompatible-parameters</code> </p> </li> <li> <p>
172      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
173      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
174      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
175      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
176      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
177      * <code>updating-hsm</code> </p> </li> </ul>
178      */
ClusterStatusHasBeenSet()179     inline bool ClusterStatusHasBeenSet() const { return m_clusterStatusHasBeenSet; }
180 
181     /**
182      * <p> The current state of the cluster. Possible values are the following:</p>
183      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
184      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
185      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
186      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
187      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
188      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
189      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
190      * <code>incompatible-parameters</code> </p> </li> <li> <p>
191      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
192      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
193      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
194      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
195      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
196      * <code>updating-hsm</code> </p> </li> </ul>
197      */
SetClusterStatus(const Aws::String & value)198     inline void SetClusterStatus(const Aws::String& value) { m_clusterStatusHasBeenSet = true; m_clusterStatus = value; }
199 
200     /**
201      * <p> The current state of the cluster. Possible values are the following:</p>
202      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
203      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
204      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
205      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
206      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
207      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
208      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
209      * <code>incompatible-parameters</code> </p> </li> <li> <p>
210      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
211      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
212      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
213      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
214      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
215      * <code>updating-hsm</code> </p> </li> </ul>
216      */
SetClusterStatus(Aws::String && value)217     inline void SetClusterStatus(Aws::String&& value) { m_clusterStatusHasBeenSet = true; m_clusterStatus = std::move(value); }
218 
219     /**
220      * <p> The current state of the cluster. Possible values are the following:</p>
221      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
222      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
223      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
224      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
225      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
226      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
227      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
228      * <code>incompatible-parameters</code> </p> </li> <li> <p>
229      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
230      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
231      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
232      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
233      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
234      * <code>updating-hsm</code> </p> </li> </ul>
235      */
SetClusterStatus(const char * value)236     inline void SetClusterStatus(const char* value) { m_clusterStatusHasBeenSet = true; m_clusterStatus.assign(value); }
237 
238     /**
239      * <p> The current state of the cluster. Possible values are the following:</p>
240      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
241      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
242      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
243      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
244      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
245      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
246      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
247      * <code>incompatible-parameters</code> </p> </li> <li> <p>
248      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
249      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
250      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
251      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
252      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
253      * <code>updating-hsm</code> </p> </li> </ul>
254      */
WithClusterStatus(const Aws::String & value)255     inline Cluster& WithClusterStatus(const Aws::String& value) { SetClusterStatus(value); return *this;}
256 
257     /**
258      * <p> The current state of the cluster. Possible values are the following:</p>
259      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
260      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
261      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
262      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
263      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
264      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
265      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
266      * <code>incompatible-parameters</code> </p> </li> <li> <p>
267      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
268      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
269      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
270      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
271      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
272      * <code>updating-hsm</code> </p> </li> </ul>
273      */
WithClusterStatus(Aws::String && value)274     inline Cluster& WithClusterStatus(Aws::String&& value) { SetClusterStatus(std::move(value)); return *this;}
275 
276     /**
277      * <p> The current state of the cluster. Possible values are the following:</p>
278      * <ul> <li> <p> <code>available</code> </p> </li> <li> <p> <code>available,
279      * prep-for-resize</code> </p> </li> <li> <p> <code>available,
280      * resize-cleanup</code> </p> </li> <li> <p> <code>cancelling-resize</code> </p>
281      * </li> <li> <p> <code>creating</code> </p> </li> <li> <p> <code>deleting</code>
282      * </p> </li> <li> <p> <code>final-snapshot</code> </p> </li> <li> <p>
283      * <code>hardware-failure</code> </p> </li> <li> <p> <code>incompatible-hsm</code>
284      * </p> </li> <li> <p> <code>incompatible-network</code> </p> </li> <li> <p>
285      * <code>incompatible-parameters</code> </p> </li> <li> <p>
286      * <code>incompatible-restore</code> </p> </li> <li> <p> <code>modifying</code>
287      * </p> </li> <li> <p> <code>paused</code> </p> </li> <li> <p>
288      * <code>rebooting</code> </p> </li> <li> <p> <code>renaming</code> </p> </li> <li>
289      * <p> <code>resizing</code> </p> </li> <li> <p> <code>rotating-keys</code> </p>
290      * </li> <li> <p> <code>storage-full</code> </p> </li> <li> <p>
291      * <code>updating-hsm</code> </p> </li> </ul>
292      */
WithClusterStatus(const char * value)293     inline Cluster& WithClusterStatus(const char* value) { SetClusterStatus(value); return *this;}
294 
295 
296     /**
297      * <p>The availability status of the cluster for queries. Possible values are the
298      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
299      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
300      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
301      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
302      * intermittently available for queries due to changes that modify the cluster.</p>
303      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
304      * </li> </ul>
305      */
GetClusterAvailabilityStatus()306     inline const Aws::String& GetClusterAvailabilityStatus() const{ return m_clusterAvailabilityStatus; }
307 
308     /**
309      * <p>The availability status of the cluster for queries. Possible values are the
310      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
311      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
312      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
313      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
314      * intermittently available for queries due to changes that modify the cluster.</p>
315      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
316      * </li> </ul>
317      */
ClusterAvailabilityStatusHasBeenSet()318     inline bool ClusterAvailabilityStatusHasBeenSet() const { return m_clusterAvailabilityStatusHasBeenSet; }
319 
320     /**
321      * <p>The availability status of the cluster for queries. Possible values are the
322      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
323      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
324      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
325      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
326      * intermittently available for queries due to changes that modify the cluster.</p>
327      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
328      * </li> </ul>
329      */
SetClusterAvailabilityStatus(const Aws::String & value)330     inline void SetClusterAvailabilityStatus(const Aws::String& value) { m_clusterAvailabilityStatusHasBeenSet = true; m_clusterAvailabilityStatus = value; }
331 
332     /**
333      * <p>The availability status of the cluster for queries. Possible values are the
334      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
335      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
336      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
337      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
338      * intermittently available for queries due to changes that modify the cluster.</p>
339      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
340      * </li> </ul>
341      */
SetClusterAvailabilityStatus(Aws::String && value)342     inline void SetClusterAvailabilityStatus(Aws::String&& value) { m_clusterAvailabilityStatusHasBeenSet = true; m_clusterAvailabilityStatus = std::move(value); }
343 
344     /**
345      * <p>The availability status of the cluster for queries. Possible values are the
346      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
347      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
348      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
349      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
350      * intermittently available for queries due to changes that modify the cluster.</p>
351      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
352      * </li> </ul>
353      */
SetClusterAvailabilityStatus(const char * value)354     inline void SetClusterAvailabilityStatus(const char* value) { m_clusterAvailabilityStatusHasBeenSet = true; m_clusterAvailabilityStatus.assign(value); }
355 
356     /**
357      * <p>The availability status of the cluster for queries. Possible values are the
358      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
359      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
360      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
361      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
362      * intermittently available for queries due to changes that modify the cluster.</p>
363      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
364      * </li> </ul>
365      */
WithClusterAvailabilityStatus(const Aws::String & value)366     inline Cluster& WithClusterAvailabilityStatus(const Aws::String& value) { SetClusterAvailabilityStatus(value); return *this;}
367 
368     /**
369      * <p>The availability status of the cluster for queries. Possible values are the
370      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
371      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
372      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
373      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
374      * intermittently available for queries due to changes that modify the cluster.</p>
375      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
376      * </li> </ul>
377      */
WithClusterAvailabilityStatus(Aws::String && value)378     inline Cluster& WithClusterAvailabilityStatus(Aws::String&& value) { SetClusterAvailabilityStatus(std::move(value)); return *this;}
379 
380     /**
381      * <p>The availability status of the cluster for queries. Possible values are the
382      * following:</p> <ul> <li> <p>Available - The cluster is available for queries.
383      * </p> </li> <li> <p>Unavailable - The cluster is not available for queries.</p>
384      * </li> <li> <p>Maintenance - The cluster is intermittently available for queries
385      * due to maintenance activities.</p> </li> <li> <p>Modifying - The cluster is
386      * intermittently available for queries due to changes that modify the cluster.</p>
387      * </li> <li> <p>Failed - The cluster failed and is not available for queries.</p>
388      * </li> </ul>
389      */
WithClusterAvailabilityStatus(const char * value)390     inline Cluster& WithClusterAvailabilityStatus(const char* value) { SetClusterAvailabilityStatus(value); return *this;}
391 
392 
393     /**
394      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
395      */
GetModifyStatus()396     inline const Aws::String& GetModifyStatus() const{ return m_modifyStatus; }
397 
398     /**
399      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
400      */
ModifyStatusHasBeenSet()401     inline bool ModifyStatusHasBeenSet() const { return m_modifyStatusHasBeenSet; }
402 
403     /**
404      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
405      */
SetModifyStatus(const Aws::String & value)406     inline void SetModifyStatus(const Aws::String& value) { m_modifyStatusHasBeenSet = true; m_modifyStatus = value; }
407 
408     /**
409      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
410      */
SetModifyStatus(Aws::String && value)411     inline void SetModifyStatus(Aws::String&& value) { m_modifyStatusHasBeenSet = true; m_modifyStatus = std::move(value); }
412 
413     /**
414      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
415      */
SetModifyStatus(const char * value)416     inline void SetModifyStatus(const char* value) { m_modifyStatusHasBeenSet = true; m_modifyStatus.assign(value); }
417 
418     /**
419      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
420      */
WithModifyStatus(const Aws::String & value)421     inline Cluster& WithModifyStatus(const Aws::String& value) { SetModifyStatus(value); return *this;}
422 
423     /**
424      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
425      */
WithModifyStatus(Aws::String && value)426     inline Cluster& WithModifyStatus(Aws::String&& value) { SetModifyStatus(std::move(value)); return *this;}
427 
428     /**
429      * <p>The status of a modify operation, if any, initiated for the cluster.</p>
430      */
WithModifyStatus(const char * value)431     inline Cluster& WithModifyStatus(const char* value) { SetModifyStatus(value); return *this;}
432 
433 
434     /**
435      * <p>The admin user name for the cluster. This name is used to connect to the
436      * database that is specified in the <b>DBName</b> parameter. </p>
437      */
GetMasterUsername()438     inline const Aws::String& GetMasterUsername() const{ return m_masterUsername; }
439 
440     /**
441      * <p>The admin user name for the cluster. This name is used to connect to the
442      * database that is specified in the <b>DBName</b> parameter. </p>
443      */
MasterUsernameHasBeenSet()444     inline bool MasterUsernameHasBeenSet() const { return m_masterUsernameHasBeenSet; }
445 
446     /**
447      * <p>The admin user name for the cluster. This name is used to connect to the
448      * database that is specified in the <b>DBName</b> parameter. </p>
449      */
SetMasterUsername(const Aws::String & value)450     inline void SetMasterUsername(const Aws::String& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = value; }
451 
452     /**
453      * <p>The admin user name for the cluster. This name is used to connect to the
454      * database that is specified in the <b>DBName</b> parameter. </p>
455      */
SetMasterUsername(Aws::String && value)456     inline void SetMasterUsername(Aws::String&& value) { m_masterUsernameHasBeenSet = true; m_masterUsername = std::move(value); }
457 
458     /**
459      * <p>The admin user name for the cluster. This name is used to connect to the
460      * database that is specified in the <b>DBName</b> parameter. </p>
461      */
SetMasterUsername(const char * value)462     inline void SetMasterUsername(const char* value) { m_masterUsernameHasBeenSet = true; m_masterUsername.assign(value); }
463 
464     /**
465      * <p>The admin user name for the cluster. This name is used to connect to the
466      * database that is specified in the <b>DBName</b> parameter. </p>
467      */
WithMasterUsername(const Aws::String & value)468     inline Cluster& WithMasterUsername(const Aws::String& value) { SetMasterUsername(value); return *this;}
469 
470     /**
471      * <p>The admin user name for the cluster. This name is used to connect to the
472      * database that is specified in the <b>DBName</b> parameter. </p>
473      */
WithMasterUsername(Aws::String && value)474     inline Cluster& WithMasterUsername(Aws::String&& value) { SetMasterUsername(std::move(value)); return *this;}
475 
476     /**
477      * <p>The admin user name for the cluster. This name is used to connect to the
478      * database that is specified in the <b>DBName</b> parameter. </p>
479      */
WithMasterUsername(const char * value)480     inline Cluster& WithMasterUsername(const char* value) { SetMasterUsername(value); return *this;}
481 
482 
483     /**
484      * <p>The name of the initial database that was created when the cluster was
485      * created. This same name is returned for the life of the cluster. If an initial
486      * database was not specified, a database named <code>dev</code>dev was created by
487      * default. </p>
488      */
GetDBName()489     inline const Aws::String& GetDBName() const{ return m_dBName; }
490 
491     /**
492      * <p>The name of the initial database that was created when the cluster was
493      * created. This same name is returned for the life of the cluster. If an initial
494      * database was not specified, a database named <code>dev</code>dev was created by
495      * default. </p>
496      */
DBNameHasBeenSet()497     inline bool DBNameHasBeenSet() const { return m_dBNameHasBeenSet; }
498 
499     /**
500      * <p>The name of the initial database that was created when the cluster was
501      * created. This same name is returned for the life of the cluster. If an initial
502      * database was not specified, a database named <code>dev</code>dev was created by
503      * default. </p>
504      */
SetDBName(const Aws::String & value)505     inline void SetDBName(const Aws::String& value) { m_dBNameHasBeenSet = true; m_dBName = value; }
506 
507     /**
508      * <p>The name of the initial database that was created when the cluster was
509      * created. This same name is returned for the life of the cluster. If an initial
510      * database was not specified, a database named <code>dev</code>dev was created by
511      * default. </p>
512      */
SetDBName(Aws::String && value)513     inline void SetDBName(Aws::String&& value) { m_dBNameHasBeenSet = true; m_dBName = std::move(value); }
514 
515     /**
516      * <p>The name of the initial database that was created when the cluster was
517      * created. This same name is returned for the life of the cluster. If an initial
518      * database was not specified, a database named <code>dev</code>dev was created by
519      * default. </p>
520      */
SetDBName(const char * value)521     inline void SetDBName(const char* value) { m_dBNameHasBeenSet = true; m_dBName.assign(value); }
522 
523     /**
524      * <p>The name of the initial database that was created when the cluster was
525      * created. This same name is returned for the life of the cluster. If an initial
526      * database was not specified, a database named <code>dev</code>dev was created by
527      * default. </p>
528      */
WithDBName(const Aws::String & value)529     inline Cluster& WithDBName(const Aws::String& value) { SetDBName(value); return *this;}
530 
531     /**
532      * <p>The name of the initial database that was created when the cluster was
533      * created. This same name is returned for the life of the cluster. If an initial
534      * database was not specified, a database named <code>dev</code>dev was created by
535      * default. </p>
536      */
WithDBName(Aws::String && value)537     inline Cluster& WithDBName(Aws::String&& value) { SetDBName(std::move(value)); return *this;}
538 
539     /**
540      * <p>The name of the initial database that was created when the cluster was
541      * created. This same name is returned for the life of the cluster. If an initial
542      * database was not specified, a database named <code>dev</code>dev was created by
543      * default. </p>
544      */
WithDBName(const char * value)545     inline Cluster& WithDBName(const char* value) { SetDBName(value); return *this;}
546 
547 
548     /**
549      * <p>The connection endpoint.</p>
550      */
GetEndpoint()551     inline const Endpoint& GetEndpoint() const{ return m_endpoint; }
552 
553     /**
554      * <p>The connection endpoint.</p>
555      */
EndpointHasBeenSet()556     inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; }
557 
558     /**
559      * <p>The connection endpoint.</p>
560      */
SetEndpoint(const Endpoint & value)561     inline void SetEndpoint(const Endpoint& value) { m_endpointHasBeenSet = true; m_endpoint = value; }
562 
563     /**
564      * <p>The connection endpoint.</p>
565      */
SetEndpoint(Endpoint && value)566     inline void SetEndpoint(Endpoint&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); }
567 
568     /**
569      * <p>The connection endpoint.</p>
570      */
WithEndpoint(const Endpoint & value)571     inline Cluster& WithEndpoint(const Endpoint& value) { SetEndpoint(value); return *this;}
572 
573     /**
574      * <p>The connection endpoint.</p>
575      */
WithEndpoint(Endpoint && value)576     inline Cluster& WithEndpoint(Endpoint&& value) { SetEndpoint(std::move(value)); return *this;}
577 
578 
579     /**
580      * <p>The date and time that the cluster was created.</p>
581      */
GetClusterCreateTime()582     inline const Aws::Utils::DateTime& GetClusterCreateTime() const{ return m_clusterCreateTime; }
583 
584     /**
585      * <p>The date and time that the cluster was created.</p>
586      */
ClusterCreateTimeHasBeenSet()587     inline bool ClusterCreateTimeHasBeenSet() const { return m_clusterCreateTimeHasBeenSet; }
588 
589     /**
590      * <p>The date and time that the cluster was created.</p>
591      */
SetClusterCreateTime(const Aws::Utils::DateTime & value)592     inline void SetClusterCreateTime(const Aws::Utils::DateTime& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = value; }
593 
594     /**
595      * <p>The date and time that the cluster was created.</p>
596      */
SetClusterCreateTime(Aws::Utils::DateTime && value)597     inline void SetClusterCreateTime(Aws::Utils::DateTime&& value) { m_clusterCreateTimeHasBeenSet = true; m_clusterCreateTime = std::move(value); }
598 
599     /**
600      * <p>The date and time that the cluster was created.</p>
601      */
WithClusterCreateTime(const Aws::Utils::DateTime & value)602     inline Cluster& WithClusterCreateTime(const Aws::Utils::DateTime& value) { SetClusterCreateTime(value); return *this;}
603 
604     /**
605      * <p>The date and time that the cluster was created.</p>
606      */
WithClusterCreateTime(Aws::Utils::DateTime && value)607     inline Cluster& WithClusterCreateTime(Aws::Utils::DateTime&& value) { SetClusterCreateTime(std::move(value)); return *this;}
608 
609 
610     /**
611      * <p>The number of days that automatic cluster snapshots are retained.</p>
612      */
GetAutomatedSnapshotRetentionPeriod()613     inline int GetAutomatedSnapshotRetentionPeriod() const{ return m_automatedSnapshotRetentionPeriod; }
614 
615     /**
616      * <p>The number of days that automatic cluster snapshots are retained.</p>
617      */
AutomatedSnapshotRetentionPeriodHasBeenSet()618     inline bool AutomatedSnapshotRetentionPeriodHasBeenSet() const { return m_automatedSnapshotRetentionPeriodHasBeenSet; }
619 
620     /**
621      * <p>The number of days that automatic cluster snapshots are retained.</p>
622      */
SetAutomatedSnapshotRetentionPeriod(int value)623     inline void SetAutomatedSnapshotRetentionPeriod(int value) { m_automatedSnapshotRetentionPeriodHasBeenSet = true; m_automatedSnapshotRetentionPeriod = value; }
624 
625     /**
626      * <p>The number of days that automatic cluster snapshots are retained.</p>
627      */
WithAutomatedSnapshotRetentionPeriod(int value)628     inline Cluster& WithAutomatedSnapshotRetentionPeriod(int value) { SetAutomatedSnapshotRetentionPeriod(value); return *this;}
629 
630 
631     /**
632      * <p>The default number of days to retain a manual snapshot. If the value is -1,
633      * the snapshot is retained indefinitely. This setting doesn't change the retention
634      * period of existing snapshots.</p> <p>The value must be either -1 or an integer
635      * between 1 and 3,653.</p>
636      */
GetManualSnapshotRetentionPeriod()637     inline int GetManualSnapshotRetentionPeriod() const{ return m_manualSnapshotRetentionPeriod; }
638 
639     /**
640      * <p>The default number of days to retain a manual snapshot. If the value is -1,
641      * the snapshot is retained indefinitely. This setting doesn't change the retention
642      * period of existing snapshots.</p> <p>The value must be either -1 or an integer
643      * between 1 and 3,653.</p>
644      */
ManualSnapshotRetentionPeriodHasBeenSet()645     inline bool ManualSnapshotRetentionPeriodHasBeenSet() const { return m_manualSnapshotRetentionPeriodHasBeenSet; }
646 
647     /**
648      * <p>The default number of days to retain a manual snapshot. If the value is -1,
649      * the snapshot is retained indefinitely. This setting doesn't change the retention
650      * period of existing snapshots.</p> <p>The value must be either -1 or an integer
651      * between 1 and 3,653.</p>
652      */
SetManualSnapshotRetentionPeriod(int value)653     inline void SetManualSnapshotRetentionPeriod(int value) { m_manualSnapshotRetentionPeriodHasBeenSet = true; m_manualSnapshotRetentionPeriod = value; }
654 
655     /**
656      * <p>The default number of days to retain a manual snapshot. If the value is -1,
657      * the snapshot is retained indefinitely. This setting doesn't change the retention
658      * period of existing snapshots.</p> <p>The value must be either -1 or an integer
659      * between 1 and 3,653.</p>
660      */
WithManualSnapshotRetentionPeriod(int value)661     inline Cluster& WithManualSnapshotRetentionPeriod(int value) { SetManualSnapshotRetentionPeriod(value); return *this;}
662 
663 
664     /**
665      * <p>A list of cluster security group that are associated with the cluster. Each
666      * security group is represented by an element that contains
667      * <code>ClusterSecurityGroup.Name</code> and
668      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
669      * groups are used when the cluster is not created in an Amazon Virtual Private
670      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
671      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
672      */
GetClusterSecurityGroups()673     inline const Aws::Vector<ClusterSecurityGroupMembership>& GetClusterSecurityGroups() const{ return m_clusterSecurityGroups; }
674 
675     /**
676      * <p>A list of cluster security group that are associated with the cluster. Each
677      * security group is represented by an element that contains
678      * <code>ClusterSecurityGroup.Name</code> and
679      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
680      * groups are used when the cluster is not created in an Amazon Virtual Private
681      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
682      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
683      */
ClusterSecurityGroupsHasBeenSet()684     inline bool ClusterSecurityGroupsHasBeenSet() const { return m_clusterSecurityGroupsHasBeenSet; }
685 
686     /**
687      * <p>A list of cluster security group that are associated with the cluster. Each
688      * security group is represented by an element that contains
689      * <code>ClusterSecurityGroup.Name</code> and
690      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
691      * groups are used when the cluster is not created in an Amazon Virtual Private
692      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
693      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
694      */
SetClusterSecurityGroups(const Aws::Vector<ClusterSecurityGroupMembership> & value)695     inline void SetClusterSecurityGroups(const Aws::Vector<ClusterSecurityGroupMembership>& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups = value; }
696 
697     /**
698      * <p>A list of cluster security group that are associated with the cluster. Each
699      * security group is represented by an element that contains
700      * <code>ClusterSecurityGroup.Name</code> and
701      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
702      * groups are used when the cluster is not created in an Amazon Virtual Private
703      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
704      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
705      */
SetClusterSecurityGroups(Aws::Vector<ClusterSecurityGroupMembership> && value)706     inline void SetClusterSecurityGroups(Aws::Vector<ClusterSecurityGroupMembership>&& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups = std::move(value); }
707 
708     /**
709      * <p>A list of cluster security group that are associated with the cluster. Each
710      * security group is represented by an element that contains
711      * <code>ClusterSecurityGroup.Name</code> and
712      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
713      * groups are used when the cluster is not created in an Amazon Virtual Private
714      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
715      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
716      */
WithClusterSecurityGroups(const Aws::Vector<ClusterSecurityGroupMembership> & value)717     inline Cluster& WithClusterSecurityGroups(const Aws::Vector<ClusterSecurityGroupMembership>& value) { SetClusterSecurityGroups(value); return *this;}
718 
719     /**
720      * <p>A list of cluster security group that are associated with the cluster. Each
721      * security group is represented by an element that contains
722      * <code>ClusterSecurityGroup.Name</code> and
723      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
724      * groups are used when the cluster is not created in an Amazon Virtual Private
725      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
726      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
727      */
WithClusterSecurityGroups(Aws::Vector<ClusterSecurityGroupMembership> && value)728     inline Cluster& WithClusterSecurityGroups(Aws::Vector<ClusterSecurityGroupMembership>&& value) { SetClusterSecurityGroups(std::move(value)); return *this;}
729 
730     /**
731      * <p>A list of cluster security group that are associated with the cluster. Each
732      * security group is represented by an element that contains
733      * <code>ClusterSecurityGroup.Name</code> and
734      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
735      * groups are used when the cluster is not created in an Amazon Virtual Private
736      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
737      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
738      */
AddClusterSecurityGroups(const ClusterSecurityGroupMembership & value)739     inline Cluster& AddClusterSecurityGroups(const ClusterSecurityGroupMembership& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(value); return *this; }
740 
741     /**
742      * <p>A list of cluster security group that are associated with the cluster. Each
743      * security group is represented by an element that contains
744      * <code>ClusterSecurityGroup.Name</code> and
745      * <code>ClusterSecurityGroup.Status</code> subelements. </p> <p>Cluster security
746      * groups are used when the cluster is not created in an Amazon Virtual Private
747      * Cloud (VPC). Clusters that are created in a VPC use VPC security groups, which
748      * are listed by the <b>VpcSecurityGroups</b> parameter. </p>
749      */
AddClusterSecurityGroups(ClusterSecurityGroupMembership && value)750     inline Cluster& AddClusterSecurityGroups(ClusterSecurityGroupMembership&& value) { m_clusterSecurityGroupsHasBeenSet = true; m_clusterSecurityGroups.push_back(std::move(value)); return *this; }
751 
752 
753     /**
754      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
755      * associated with the cluster. This parameter is returned only if the cluster is
756      * in a VPC.</p>
757      */
GetVpcSecurityGroups()758     inline const Aws::Vector<VpcSecurityGroupMembership>& GetVpcSecurityGroups() const{ return m_vpcSecurityGroups; }
759 
760     /**
761      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
762      * associated with the cluster. This parameter is returned only if the cluster is
763      * in a VPC.</p>
764      */
VpcSecurityGroupsHasBeenSet()765     inline bool VpcSecurityGroupsHasBeenSet() const { return m_vpcSecurityGroupsHasBeenSet; }
766 
767     /**
768      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
769      * associated with the cluster. This parameter is returned only if the cluster is
770      * in a VPC.</p>
771      */
SetVpcSecurityGroups(const Aws::Vector<VpcSecurityGroupMembership> & value)772     inline void SetVpcSecurityGroups(const Aws::Vector<VpcSecurityGroupMembership>& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = value; }
773 
774     /**
775      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
776      * associated with the cluster. This parameter is returned only if the cluster is
777      * in a VPC.</p>
778      */
SetVpcSecurityGroups(Aws::Vector<VpcSecurityGroupMembership> && value)779     inline void SetVpcSecurityGroups(Aws::Vector<VpcSecurityGroupMembership>&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups = std::move(value); }
780 
781     /**
782      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
783      * associated with the cluster. This parameter is returned only if the cluster is
784      * in a VPC.</p>
785      */
WithVpcSecurityGroups(const Aws::Vector<VpcSecurityGroupMembership> & value)786     inline Cluster& WithVpcSecurityGroups(const Aws::Vector<VpcSecurityGroupMembership>& value) { SetVpcSecurityGroups(value); return *this;}
787 
788     /**
789      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
790      * associated with the cluster. This parameter is returned only if the cluster is
791      * in a VPC.</p>
792      */
WithVpcSecurityGroups(Aws::Vector<VpcSecurityGroupMembership> && value)793     inline Cluster& WithVpcSecurityGroups(Aws::Vector<VpcSecurityGroupMembership>&& value) { SetVpcSecurityGroups(std::move(value)); return *this;}
794 
795     /**
796      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
797      * associated with the cluster. This parameter is returned only if the cluster is
798      * in a VPC.</p>
799      */
AddVpcSecurityGroups(const VpcSecurityGroupMembership & value)800     inline Cluster& AddVpcSecurityGroups(const VpcSecurityGroupMembership& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(value); return *this; }
801 
802     /**
803      * <p>A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that are
804      * associated with the cluster. This parameter is returned only if the cluster is
805      * in a VPC.</p>
806      */
AddVpcSecurityGroups(VpcSecurityGroupMembership && value)807     inline Cluster& AddVpcSecurityGroups(VpcSecurityGroupMembership&& value) { m_vpcSecurityGroupsHasBeenSet = true; m_vpcSecurityGroups.push_back(std::move(value)); return *this; }
808 
809 
810     /**
811      * <p>The list of cluster parameter groups that are associated with this cluster.
812      * Each parameter group in the list is returned with its status.</p>
813      */
GetClusterParameterGroups()814     inline const Aws::Vector<ClusterParameterGroupStatus>& GetClusterParameterGroups() const{ return m_clusterParameterGroups; }
815 
816     /**
817      * <p>The list of cluster parameter groups that are associated with this cluster.
818      * Each parameter group in the list is returned with its status.</p>
819      */
ClusterParameterGroupsHasBeenSet()820     inline bool ClusterParameterGroupsHasBeenSet() const { return m_clusterParameterGroupsHasBeenSet; }
821 
822     /**
823      * <p>The list of cluster parameter groups that are associated with this cluster.
824      * Each parameter group in the list is returned with its status.</p>
825      */
SetClusterParameterGroups(const Aws::Vector<ClusterParameterGroupStatus> & value)826     inline void SetClusterParameterGroups(const Aws::Vector<ClusterParameterGroupStatus>& value) { m_clusterParameterGroupsHasBeenSet = true; m_clusterParameterGroups = value; }
827 
828     /**
829      * <p>The list of cluster parameter groups that are associated with this cluster.
830      * Each parameter group in the list is returned with its status.</p>
831      */
SetClusterParameterGroups(Aws::Vector<ClusterParameterGroupStatus> && value)832     inline void SetClusterParameterGroups(Aws::Vector<ClusterParameterGroupStatus>&& value) { m_clusterParameterGroupsHasBeenSet = true; m_clusterParameterGroups = std::move(value); }
833 
834     /**
835      * <p>The list of cluster parameter groups that are associated with this cluster.
836      * Each parameter group in the list is returned with its status.</p>
837      */
WithClusterParameterGroups(const Aws::Vector<ClusterParameterGroupStatus> & value)838     inline Cluster& WithClusterParameterGroups(const Aws::Vector<ClusterParameterGroupStatus>& value) { SetClusterParameterGroups(value); return *this;}
839 
840     /**
841      * <p>The list of cluster parameter groups that are associated with this cluster.
842      * Each parameter group in the list is returned with its status.</p>
843      */
WithClusterParameterGroups(Aws::Vector<ClusterParameterGroupStatus> && value)844     inline Cluster& WithClusterParameterGroups(Aws::Vector<ClusterParameterGroupStatus>&& value) { SetClusterParameterGroups(std::move(value)); return *this;}
845 
846     /**
847      * <p>The list of cluster parameter groups that are associated with this cluster.
848      * Each parameter group in the list is returned with its status.</p>
849      */
AddClusterParameterGroups(const ClusterParameterGroupStatus & value)850     inline Cluster& AddClusterParameterGroups(const ClusterParameterGroupStatus& value) { m_clusterParameterGroupsHasBeenSet = true; m_clusterParameterGroups.push_back(value); return *this; }
851 
852     /**
853      * <p>The list of cluster parameter groups that are associated with this cluster.
854      * Each parameter group in the list is returned with its status.</p>
855      */
AddClusterParameterGroups(ClusterParameterGroupStatus && value)856     inline Cluster& AddClusterParameterGroups(ClusterParameterGroupStatus&& value) { m_clusterParameterGroupsHasBeenSet = true; m_clusterParameterGroups.push_back(std::move(value)); return *this; }
857 
858 
859     /**
860      * <p>The name of the subnet group that is associated with the cluster. This
861      * parameter is valid only when the cluster is in a VPC.</p>
862      */
GetClusterSubnetGroupName()863     inline const Aws::String& GetClusterSubnetGroupName() const{ return m_clusterSubnetGroupName; }
864 
865     /**
866      * <p>The name of the subnet group that is associated with the cluster. This
867      * parameter is valid only when the cluster is in a VPC.</p>
868      */
ClusterSubnetGroupNameHasBeenSet()869     inline bool ClusterSubnetGroupNameHasBeenSet() const { return m_clusterSubnetGroupNameHasBeenSet; }
870 
871     /**
872      * <p>The name of the subnet group that is associated with the cluster. This
873      * parameter is valid only when the cluster is in a VPC.</p>
874      */
SetClusterSubnetGroupName(const Aws::String & value)875     inline void SetClusterSubnetGroupName(const Aws::String& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = value; }
876 
877     /**
878      * <p>The name of the subnet group that is associated with the cluster. This
879      * parameter is valid only when the cluster is in a VPC.</p>
880      */
SetClusterSubnetGroupName(Aws::String && value)881     inline void SetClusterSubnetGroupName(Aws::String&& value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName = std::move(value); }
882 
883     /**
884      * <p>The name of the subnet group that is associated with the cluster. This
885      * parameter is valid only when the cluster is in a VPC.</p>
886      */
SetClusterSubnetGroupName(const char * value)887     inline void SetClusterSubnetGroupName(const char* value) { m_clusterSubnetGroupNameHasBeenSet = true; m_clusterSubnetGroupName.assign(value); }
888 
889     /**
890      * <p>The name of the subnet group that is associated with the cluster. This
891      * parameter is valid only when the cluster is in a VPC.</p>
892      */
WithClusterSubnetGroupName(const Aws::String & value)893     inline Cluster& WithClusterSubnetGroupName(const Aws::String& value) { SetClusterSubnetGroupName(value); return *this;}
894 
895     /**
896      * <p>The name of the subnet group that is associated with the cluster. This
897      * parameter is valid only when the cluster is in a VPC.</p>
898      */
WithClusterSubnetGroupName(Aws::String && value)899     inline Cluster& WithClusterSubnetGroupName(Aws::String&& value) { SetClusterSubnetGroupName(std::move(value)); return *this;}
900 
901     /**
902      * <p>The name of the subnet group that is associated with the cluster. This
903      * parameter is valid only when the cluster is in a VPC.</p>
904      */
WithClusterSubnetGroupName(const char * value)905     inline Cluster& WithClusterSubnetGroupName(const char* value) { SetClusterSubnetGroupName(value); return *this;}
906 
907 
908     /**
909      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
910      */
GetVpcId()911     inline const Aws::String& GetVpcId() const{ return m_vpcId; }
912 
913     /**
914      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
915      */
VpcIdHasBeenSet()916     inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
917 
918     /**
919      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
920      */
SetVpcId(const Aws::String & value)921     inline void SetVpcId(const Aws::String& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
922 
923     /**
924      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
925      */
SetVpcId(Aws::String && value)926     inline void SetVpcId(Aws::String&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); }
927 
928     /**
929      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
930      */
SetVpcId(const char * value)931     inline void SetVpcId(const char* value) { m_vpcIdHasBeenSet = true; m_vpcId.assign(value); }
932 
933     /**
934      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
935      */
WithVpcId(const Aws::String & value)936     inline Cluster& WithVpcId(const Aws::String& value) { SetVpcId(value); return *this;}
937 
938     /**
939      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
940      */
WithVpcId(Aws::String && value)941     inline Cluster& WithVpcId(Aws::String&& value) { SetVpcId(std::move(value)); return *this;}
942 
943     /**
944      * <p>The identifier of the VPC the cluster is in, if the cluster is in a VPC.</p>
945      */
WithVpcId(const char * value)946     inline Cluster& WithVpcId(const char* value) { SetVpcId(value); return *this;}
947 
948 
949     /**
950      * <p>The name of the Availability Zone in which the cluster is located.</p>
951      */
GetAvailabilityZone()952     inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; }
953 
954     /**
955      * <p>The name of the Availability Zone in which the cluster is located.</p>
956      */
AvailabilityZoneHasBeenSet()957     inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
958 
959     /**
960      * <p>The name of the Availability Zone in which the cluster is located.</p>
961      */
SetAvailabilityZone(const Aws::String & value)962     inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; }
963 
964     /**
965      * <p>The name of the Availability Zone in which the cluster is located.</p>
966      */
SetAvailabilityZone(Aws::String && value)967     inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); }
968 
969     /**
970      * <p>The name of the Availability Zone in which the cluster is located.</p>
971      */
SetAvailabilityZone(const char * value)972     inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); }
973 
974     /**
975      * <p>The name of the Availability Zone in which the cluster is located.</p>
976      */
WithAvailabilityZone(const Aws::String & value)977     inline Cluster& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;}
978 
979     /**
980      * <p>The name of the Availability Zone in which the cluster is located.</p>
981      */
WithAvailabilityZone(Aws::String && value)982     inline Cluster& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;}
983 
984     /**
985      * <p>The name of the Availability Zone in which the cluster is located.</p>
986      */
WithAvailabilityZone(const char * value)987     inline Cluster& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;}
988 
989 
990     /**
991      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
992      * system maintenance can occur.</p>
993      */
GetPreferredMaintenanceWindow()994     inline const Aws::String& GetPreferredMaintenanceWindow() const{ return m_preferredMaintenanceWindow; }
995 
996     /**
997      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
998      * system maintenance can occur.</p>
999      */
PreferredMaintenanceWindowHasBeenSet()1000     inline bool PreferredMaintenanceWindowHasBeenSet() const { return m_preferredMaintenanceWindowHasBeenSet; }
1001 
1002     /**
1003      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1004      * system maintenance can occur.</p>
1005      */
SetPreferredMaintenanceWindow(const Aws::String & value)1006     inline void SetPreferredMaintenanceWindow(const Aws::String& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = value; }
1007 
1008     /**
1009      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1010      * system maintenance can occur.</p>
1011      */
SetPreferredMaintenanceWindow(Aws::String && value)1012     inline void SetPreferredMaintenanceWindow(Aws::String&& value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow = std::move(value); }
1013 
1014     /**
1015      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1016      * system maintenance can occur.</p>
1017      */
SetPreferredMaintenanceWindow(const char * value)1018     inline void SetPreferredMaintenanceWindow(const char* value) { m_preferredMaintenanceWindowHasBeenSet = true; m_preferredMaintenanceWindow.assign(value); }
1019 
1020     /**
1021      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1022      * system maintenance can occur.</p>
1023      */
WithPreferredMaintenanceWindow(const Aws::String & value)1024     inline Cluster& WithPreferredMaintenanceWindow(const Aws::String& value) { SetPreferredMaintenanceWindow(value); return *this;}
1025 
1026     /**
1027      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1028      * system maintenance can occur.</p>
1029      */
WithPreferredMaintenanceWindow(Aws::String && value)1030     inline Cluster& WithPreferredMaintenanceWindow(Aws::String&& value) { SetPreferredMaintenanceWindow(std::move(value)); return *this;}
1031 
1032     /**
1033      * <p>The weekly time range, in Universal Coordinated Time (UTC), during which
1034      * system maintenance can occur.</p>
1035      */
WithPreferredMaintenanceWindow(const char * value)1036     inline Cluster& WithPreferredMaintenanceWindow(const char* value) { SetPreferredMaintenanceWindow(value); return *this;}
1037 
1038 
1039     /**
1040      * <p>A value that, if present, indicates that changes to the cluster are pending.
1041      * Specific pending changes are identified by subelements.</p>
1042      */
GetPendingModifiedValues()1043     inline const PendingModifiedValues& GetPendingModifiedValues() const{ return m_pendingModifiedValues; }
1044 
1045     /**
1046      * <p>A value that, if present, indicates that changes to the cluster are pending.
1047      * Specific pending changes are identified by subelements.</p>
1048      */
PendingModifiedValuesHasBeenSet()1049     inline bool PendingModifiedValuesHasBeenSet() const { return m_pendingModifiedValuesHasBeenSet; }
1050 
1051     /**
1052      * <p>A value that, if present, indicates that changes to the cluster are pending.
1053      * Specific pending changes are identified by subelements.</p>
1054      */
SetPendingModifiedValues(const PendingModifiedValues & value)1055     inline void SetPendingModifiedValues(const PendingModifiedValues& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = value; }
1056 
1057     /**
1058      * <p>A value that, if present, indicates that changes to the cluster are pending.
1059      * Specific pending changes are identified by subelements.</p>
1060      */
SetPendingModifiedValues(PendingModifiedValues && value)1061     inline void SetPendingModifiedValues(PendingModifiedValues&& value) { m_pendingModifiedValuesHasBeenSet = true; m_pendingModifiedValues = std::move(value); }
1062 
1063     /**
1064      * <p>A value that, if present, indicates that changes to the cluster are pending.
1065      * Specific pending changes are identified by subelements.</p>
1066      */
WithPendingModifiedValues(const PendingModifiedValues & value)1067     inline Cluster& WithPendingModifiedValues(const PendingModifiedValues& value) { SetPendingModifiedValues(value); return *this;}
1068 
1069     /**
1070      * <p>A value that, if present, indicates that changes to the cluster are pending.
1071      * Specific pending changes are identified by subelements.</p>
1072      */
WithPendingModifiedValues(PendingModifiedValues && value)1073     inline Cluster& WithPendingModifiedValues(PendingModifiedValues&& value) { SetPendingModifiedValues(std::move(value)); return *this;}
1074 
1075 
1076     /**
1077      * <p>The version ID of the Amazon Redshift engine that is running on the
1078      * cluster.</p>
1079      */
GetClusterVersion()1080     inline const Aws::String& GetClusterVersion() const{ return m_clusterVersion; }
1081 
1082     /**
1083      * <p>The version ID of the Amazon Redshift engine that is running on the
1084      * cluster.</p>
1085      */
ClusterVersionHasBeenSet()1086     inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; }
1087 
1088     /**
1089      * <p>The version ID of the Amazon Redshift engine that is running on the
1090      * cluster.</p>
1091      */
SetClusterVersion(const Aws::String & value)1092     inline void SetClusterVersion(const Aws::String& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = value; }
1093 
1094     /**
1095      * <p>The version ID of the Amazon Redshift engine that is running on the
1096      * cluster.</p>
1097      */
SetClusterVersion(Aws::String && value)1098     inline void SetClusterVersion(Aws::String&& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = std::move(value); }
1099 
1100     /**
1101      * <p>The version ID of the Amazon Redshift engine that is running on the
1102      * cluster.</p>
1103      */
SetClusterVersion(const char * value)1104     inline void SetClusterVersion(const char* value) { m_clusterVersionHasBeenSet = true; m_clusterVersion.assign(value); }
1105 
1106     /**
1107      * <p>The version ID of the Amazon Redshift engine that is running on the
1108      * cluster.</p>
1109      */
WithClusterVersion(const Aws::String & value)1110     inline Cluster& WithClusterVersion(const Aws::String& value) { SetClusterVersion(value); return *this;}
1111 
1112     /**
1113      * <p>The version ID of the Amazon Redshift engine that is running on the
1114      * cluster.</p>
1115      */
WithClusterVersion(Aws::String && value)1116     inline Cluster& WithClusterVersion(Aws::String&& value) { SetClusterVersion(std::move(value)); return *this;}
1117 
1118     /**
1119      * <p>The version ID of the Amazon Redshift engine that is running on the
1120      * cluster.</p>
1121      */
WithClusterVersion(const char * value)1122     inline Cluster& WithClusterVersion(const char* value) { SetClusterVersion(value); return *this;}
1123 
1124 
1125     /**
1126      * <p>A boolean value that, if <code>true</code>, indicates that major version
1127      * upgrades will be applied automatically to the cluster during the maintenance
1128      * window. </p>
1129      */
GetAllowVersionUpgrade()1130     inline bool GetAllowVersionUpgrade() const{ return m_allowVersionUpgrade; }
1131 
1132     /**
1133      * <p>A boolean value that, if <code>true</code>, indicates that major version
1134      * upgrades will be applied automatically to the cluster during the maintenance
1135      * window. </p>
1136      */
AllowVersionUpgradeHasBeenSet()1137     inline bool AllowVersionUpgradeHasBeenSet() const { return m_allowVersionUpgradeHasBeenSet; }
1138 
1139     /**
1140      * <p>A boolean value that, if <code>true</code>, indicates that major version
1141      * upgrades will be applied automatically to the cluster during the maintenance
1142      * window. </p>
1143      */
SetAllowVersionUpgrade(bool value)1144     inline void SetAllowVersionUpgrade(bool value) { m_allowVersionUpgradeHasBeenSet = true; m_allowVersionUpgrade = value; }
1145 
1146     /**
1147      * <p>A boolean value that, if <code>true</code>, indicates that major version
1148      * upgrades will be applied automatically to the cluster during the maintenance
1149      * window. </p>
1150      */
WithAllowVersionUpgrade(bool value)1151     inline Cluster& WithAllowVersionUpgrade(bool value) { SetAllowVersionUpgrade(value); return *this;}
1152 
1153 
1154     /**
1155      * <p>The number of compute nodes in the cluster.</p>
1156      */
GetNumberOfNodes()1157     inline int GetNumberOfNodes() const{ return m_numberOfNodes; }
1158 
1159     /**
1160      * <p>The number of compute nodes in the cluster.</p>
1161      */
NumberOfNodesHasBeenSet()1162     inline bool NumberOfNodesHasBeenSet() const { return m_numberOfNodesHasBeenSet; }
1163 
1164     /**
1165      * <p>The number of compute nodes in the cluster.</p>
1166      */
SetNumberOfNodes(int value)1167     inline void SetNumberOfNodes(int value) { m_numberOfNodesHasBeenSet = true; m_numberOfNodes = value; }
1168 
1169     /**
1170      * <p>The number of compute nodes in the cluster.</p>
1171      */
WithNumberOfNodes(int value)1172     inline Cluster& WithNumberOfNodes(int value) { SetNumberOfNodes(value); return *this;}
1173 
1174 
1175     /**
1176      * <p>A boolean value that, if <code>true</code>, indicates that the cluster can be
1177      * accessed from a public network.</p>
1178      */
GetPubliclyAccessible()1179     inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; }
1180 
1181     /**
1182      * <p>A boolean value that, if <code>true</code>, indicates that the cluster can be
1183      * accessed from a public network.</p>
1184      */
PubliclyAccessibleHasBeenSet()1185     inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
1186 
1187     /**
1188      * <p>A boolean value that, if <code>true</code>, indicates that the cluster can be
1189      * accessed from a public network.</p>
1190      */
SetPubliclyAccessible(bool value)1191     inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; }
1192 
1193     /**
1194      * <p>A boolean value that, if <code>true</code>, indicates that the cluster can be
1195      * accessed from a public network.</p>
1196      */
WithPubliclyAccessible(bool value)1197     inline Cluster& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;}
1198 
1199 
1200     /**
1201      * <p>A boolean value that, if <code>true</code>, indicates that data in the
1202      * cluster is encrypted at rest.</p>
1203      */
GetEncrypted()1204     inline bool GetEncrypted() const{ return m_encrypted; }
1205 
1206     /**
1207      * <p>A boolean value that, if <code>true</code>, indicates that data in the
1208      * cluster is encrypted at rest.</p>
1209      */
EncryptedHasBeenSet()1210     inline bool EncryptedHasBeenSet() const { return m_encryptedHasBeenSet; }
1211 
1212     /**
1213      * <p>A boolean value that, if <code>true</code>, indicates that data in the
1214      * cluster is encrypted at rest.</p>
1215      */
SetEncrypted(bool value)1216     inline void SetEncrypted(bool value) { m_encryptedHasBeenSet = true; m_encrypted = value; }
1217 
1218     /**
1219      * <p>A boolean value that, if <code>true</code>, indicates that data in the
1220      * cluster is encrypted at rest.</p>
1221      */
WithEncrypted(bool value)1222     inline Cluster& WithEncrypted(bool value) { SetEncrypted(value); return *this;}
1223 
1224 
1225     /**
1226      * <p>A value that describes the status of a cluster restore action. This parameter
1227      * returns null if the cluster was not created by restoring a snapshot.</p>
1228      */
GetRestoreStatus()1229     inline const RestoreStatus& GetRestoreStatus() const{ return m_restoreStatus; }
1230 
1231     /**
1232      * <p>A value that describes the status of a cluster restore action. This parameter
1233      * returns null if the cluster was not created by restoring a snapshot.</p>
1234      */
RestoreStatusHasBeenSet()1235     inline bool RestoreStatusHasBeenSet() const { return m_restoreStatusHasBeenSet; }
1236 
1237     /**
1238      * <p>A value that describes the status of a cluster restore action. This parameter
1239      * returns null if the cluster was not created by restoring a snapshot.</p>
1240      */
SetRestoreStatus(const RestoreStatus & value)1241     inline void SetRestoreStatus(const RestoreStatus& value) { m_restoreStatusHasBeenSet = true; m_restoreStatus = value; }
1242 
1243     /**
1244      * <p>A value that describes the status of a cluster restore action. This parameter
1245      * returns null if the cluster was not created by restoring a snapshot.</p>
1246      */
SetRestoreStatus(RestoreStatus && value)1247     inline void SetRestoreStatus(RestoreStatus&& value) { m_restoreStatusHasBeenSet = true; m_restoreStatus = std::move(value); }
1248 
1249     /**
1250      * <p>A value that describes the status of a cluster restore action. This parameter
1251      * returns null if the cluster was not created by restoring a snapshot.</p>
1252      */
WithRestoreStatus(const RestoreStatus & value)1253     inline Cluster& WithRestoreStatus(const RestoreStatus& value) { SetRestoreStatus(value); return *this;}
1254 
1255     /**
1256      * <p>A value that describes the status of a cluster restore action. This parameter
1257      * returns null if the cluster was not created by restoring a snapshot.</p>
1258      */
WithRestoreStatus(RestoreStatus && value)1259     inline Cluster& WithRestoreStatus(RestoreStatus&& value) { SetRestoreStatus(std::move(value)); return *this;}
1260 
1261 
1262     /**
1263      * <p/>
1264      */
GetDataTransferProgress()1265     inline const DataTransferProgress& GetDataTransferProgress() const{ return m_dataTransferProgress; }
1266 
1267     /**
1268      * <p/>
1269      */
DataTransferProgressHasBeenSet()1270     inline bool DataTransferProgressHasBeenSet() const { return m_dataTransferProgressHasBeenSet; }
1271 
1272     /**
1273      * <p/>
1274      */
SetDataTransferProgress(const DataTransferProgress & value)1275     inline void SetDataTransferProgress(const DataTransferProgress& value) { m_dataTransferProgressHasBeenSet = true; m_dataTransferProgress = value; }
1276 
1277     /**
1278      * <p/>
1279      */
SetDataTransferProgress(DataTransferProgress && value)1280     inline void SetDataTransferProgress(DataTransferProgress&& value) { m_dataTransferProgressHasBeenSet = true; m_dataTransferProgress = std::move(value); }
1281 
1282     /**
1283      * <p/>
1284      */
WithDataTransferProgress(const DataTransferProgress & value)1285     inline Cluster& WithDataTransferProgress(const DataTransferProgress& value) { SetDataTransferProgress(value); return *this;}
1286 
1287     /**
1288      * <p/>
1289      */
WithDataTransferProgress(DataTransferProgress && value)1290     inline Cluster& WithDataTransferProgress(DataTransferProgress&& value) { SetDataTransferProgress(std::move(value)); return *this;}
1291 
1292 
1293     /**
1294      * <p>A value that reports whether the Amazon Redshift cluster has finished
1295      * applying any hardware security module (HSM) settings changes specified in a
1296      * modify cluster command.</p> <p>Values: active, applying</p>
1297      */
GetHsmStatus()1298     inline const HsmStatus& GetHsmStatus() const{ return m_hsmStatus; }
1299 
1300     /**
1301      * <p>A value that reports whether the Amazon Redshift cluster has finished
1302      * applying any hardware security module (HSM) settings changes specified in a
1303      * modify cluster command.</p> <p>Values: active, applying</p>
1304      */
HsmStatusHasBeenSet()1305     inline bool HsmStatusHasBeenSet() const { return m_hsmStatusHasBeenSet; }
1306 
1307     /**
1308      * <p>A value that reports whether the Amazon Redshift cluster has finished
1309      * applying any hardware security module (HSM) settings changes specified in a
1310      * modify cluster command.</p> <p>Values: active, applying</p>
1311      */
SetHsmStatus(const HsmStatus & value)1312     inline void SetHsmStatus(const HsmStatus& value) { m_hsmStatusHasBeenSet = true; m_hsmStatus = value; }
1313 
1314     /**
1315      * <p>A value that reports whether the Amazon Redshift cluster has finished
1316      * applying any hardware security module (HSM) settings changes specified in a
1317      * modify cluster command.</p> <p>Values: active, applying</p>
1318      */
SetHsmStatus(HsmStatus && value)1319     inline void SetHsmStatus(HsmStatus&& value) { m_hsmStatusHasBeenSet = true; m_hsmStatus = std::move(value); }
1320 
1321     /**
1322      * <p>A value that reports whether the Amazon Redshift cluster has finished
1323      * applying any hardware security module (HSM) settings changes specified in a
1324      * modify cluster command.</p> <p>Values: active, applying</p>
1325      */
WithHsmStatus(const HsmStatus & value)1326     inline Cluster& WithHsmStatus(const HsmStatus& value) { SetHsmStatus(value); return *this;}
1327 
1328     /**
1329      * <p>A value that reports whether the Amazon Redshift cluster has finished
1330      * applying any hardware security module (HSM) settings changes specified in a
1331      * modify cluster command.</p> <p>Values: active, applying</p>
1332      */
WithHsmStatus(HsmStatus && value)1333     inline Cluster& WithHsmStatus(HsmStatus&& value) { SetHsmStatus(std::move(value)); return *this;}
1334 
1335 
1336     /**
1337      * <p>A value that returns the destination region and retention period that are
1338      * configured for cross-region snapshot copy.</p>
1339      */
GetClusterSnapshotCopyStatus()1340     inline const ClusterSnapshotCopyStatus& GetClusterSnapshotCopyStatus() const{ return m_clusterSnapshotCopyStatus; }
1341 
1342     /**
1343      * <p>A value that returns the destination region and retention period that are
1344      * configured for cross-region snapshot copy.</p>
1345      */
ClusterSnapshotCopyStatusHasBeenSet()1346     inline bool ClusterSnapshotCopyStatusHasBeenSet() const { return m_clusterSnapshotCopyStatusHasBeenSet; }
1347 
1348     /**
1349      * <p>A value that returns the destination region and retention period that are
1350      * configured for cross-region snapshot copy.</p>
1351      */
SetClusterSnapshotCopyStatus(const ClusterSnapshotCopyStatus & value)1352     inline void SetClusterSnapshotCopyStatus(const ClusterSnapshotCopyStatus& value) { m_clusterSnapshotCopyStatusHasBeenSet = true; m_clusterSnapshotCopyStatus = value; }
1353 
1354     /**
1355      * <p>A value that returns the destination region and retention period that are
1356      * configured for cross-region snapshot copy.</p>
1357      */
SetClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus && value)1358     inline void SetClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus&& value) { m_clusterSnapshotCopyStatusHasBeenSet = true; m_clusterSnapshotCopyStatus = std::move(value); }
1359 
1360     /**
1361      * <p>A value that returns the destination region and retention period that are
1362      * configured for cross-region snapshot copy.</p>
1363      */
WithClusterSnapshotCopyStatus(const ClusterSnapshotCopyStatus & value)1364     inline Cluster& WithClusterSnapshotCopyStatus(const ClusterSnapshotCopyStatus& value) { SetClusterSnapshotCopyStatus(value); return *this;}
1365 
1366     /**
1367      * <p>A value that returns the destination region and retention period that are
1368      * configured for cross-region snapshot copy.</p>
1369      */
WithClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus && value)1370     inline Cluster& WithClusterSnapshotCopyStatus(ClusterSnapshotCopyStatus&& value) { SetClusterSnapshotCopyStatus(std::move(value)); return *this;}
1371 
1372 
1373     /**
1374      * <p>The public key for the cluster.</p>
1375      */
GetClusterPublicKey()1376     inline const Aws::String& GetClusterPublicKey() const{ return m_clusterPublicKey; }
1377 
1378     /**
1379      * <p>The public key for the cluster.</p>
1380      */
ClusterPublicKeyHasBeenSet()1381     inline bool ClusterPublicKeyHasBeenSet() const { return m_clusterPublicKeyHasBeenSet; }
1382 
1383     /**
1384      * <p>The public key for the cluster.</p>
1385      */
SetClusterPublicKey(const Aws::String & value)1386     inline void SetClusterPublicKey(const Aws::String& value) { m_clusterPublicKeyHasBeenSet = true; m_clusterPublicKey = value; }
1387 
1388     /**
1389      * <p>The public key for the cluster.</p>
1390      */
SetClusterPublicKey(Aws::String && value)1391     inline void SetClusterPublicKey(Aws::String&& value) { m_clusterPublicKeyHasBeenSet = true; m_clusterPublicKey = std::move(value); }
1392 
1393     /**
1394      * <p>The public key for the cluster.</p>
1395      */
SetClusterPublicKey(const char * value)1396     inline void SetClusterPublicKey(const char* value) { m_clusterPublicKeyHasBeenSet = true; m_clusterPublicKey.assign(value); }
1397 
1398     /**
1399      * <p>The public key for the cluster.</p>
1400      */
WithClusterPublicKey(const Aws::String & value)1401     inline Cluster& WithClusterPublicKey(const Aws::String& value) { SetClusterPublicKey(value); return *this;}
1402 
1403     /**
1404      * <p>The public key for the cluster.</p>
1405      */
WithClusterPublicKey(Aws::String && value)1406     inline Cluster& WithClusterPublicKey(Aws::String&& value) { SetClusterPublicKey(std::move(value)); return *this;}
1407 
1408     /**
1409      * <p>The public key for the cluster.</p>
1410      */
WithClusterPublicKey(const char * value)1411     inline Cluster& WithClusterPublicKey(const char* value) { SetClusterPublicKey(value); return *this;}
1412 
1413 
1414     /**
1415      * <p>The nodes in the cluster.</p>
1416      */
GetClusterNodes()1417     inline const Aws::Vector<ClusterNode>& GetClusterNodes() const{ return m_clusterNodes; }
1418 
1419     /**
1420      * <p>The nodes in the cluster.</p>
1421      */
ClusterNodesHasBeenSet()1422     inline bool ClusterNodesHasBeenSet() const { return m_clusterNodesHasBeenSet; }
1423 
1424     /**
1425      * <p>The nodes in the cluster.</p>
1426      */
SetClusterNodes(const Aws::Vector<ClusterNode> & value)1427     inline void SetClusterNodes(const Aws::Vector<ClusterNode>& value) { m_clusterNodesHasBeenSet = true; m_clusterNodes = value; }
1428 
1429     /**
1430      * <p>The nodes in the cluster.</p>
1431      */
SetClusterNodes(Aws::Vector<ClusterNode> && value)1432     inline void SetClusterNodes(Aws::Vector<ClusterNode>&& value) { m_clusterNodesHasBeenSet = true; m_clusterNodes = std::move(value); }
1433 
1434     /**
1435      * <p>The nodes in the cluster.</p>
1436      */
WithClusterNodes(const Aws::Vector<ClusterNode> & value)1437     inline Cluster& WithClusterNodes(const Aws::Vector<ClusterNode>& value) { SetClusterNodes(value); return *this;}
1438 
1439     /**
1440      * <p>The nodes in the cluster.</p>
1441      */
WithClusterNodes(Aws::Vector<ClusterNode> && value)1442     inline Cluster& WithClusterNodes(Aws::Vector<ClusterNode>&& value) { SetClusterNodes(std::move(value)); return *this;}
1443 
1444     /**
1445      * <p>The nodes in the cluster.</p>
1446      */
AddClusterNodes(const ClusterNode & value)1447     inline Cluster& AddClusterNodes(const ClusterNode& value) { m_clusterNodesHasBeenSet = true; m_clusterNodes.push_back(value); return *this; }
1448 
1449     /**
1450      * <p>The nodes in the cluster.</p>
1451      */
AddClusterNodes(ClusterNode && value)1452     inline Cluster& AddClusterNodes(ClusterNode&& value) { m_clusterNodesHasBeenSet = true; m_clusterNodes.push_back(std::move(value)); return *this; }
1453 
1454 
1455     /**
1456      * <p>The status of the elastic IP (EIP) address.</p>
1457      */
GetElasticIpStatus()1458     inline const ElasticIpStatus& GetElasticIpStatus() const{ return m_elasticIpStatus; }
1459 
1460     /**
1461      * <p>The status of the elastic IP (EIP) address.</p>
1462      */
ElasticIpStatusHasBeenSet()1463     inline bool ElasticIpStatusHasBeenSet() const { return m_elasticIpStatusHasBeenSet; }
1464 
1465     /**
1466      * <p>The status of the elastic IP (EIP) address.</p>
1467      */
SetElasticIpStatus(const ElasticIpStatus & value)1468     inline void SetElasticIpStatus(const ElasticIpStatus& value) { m_elasticIpStatusHasBeenSet = true; m_elasticIpStatus = value; }
1469 
1470     /**
1471      * <p>The status of the elastic IP (EIP) address.</p>
1472      */
SetElasticIpStatus(ElasticIpStatus && value)1473     inline void SetElasticIpStatus(ElasticIpStatus&& value) { m_elasticIpStatusHasBeenSet = true; m_elasticIpStatus = std::move(value); }
1474 
1475     /**
1476      * <p>The status of the elastic IP (EIP) address.</p>
1477      */
WithElasticIpStatus(const ElasticIpStatus & value)1478     inline Cluster& WithElasticIpStatus(const ElasticIpStatus& value) { SetElasticIpStatus(value); return *this;}
1479 
1480     /**
1481      * <p>The status of the elastic IP (EIP) address.</p>
1482      */
WithElasticIpStatus(ElasticIpStatus && value)1483     inline Cluster& WithElasticIpStatus(ElasticIpStatus&& value) { SetElasticIpStatus(std::move(value)); return *this;}
1484 
1485 
1486     /**
1487      * <p>The specific revision number of the database in the cluster.</p>
1488      */
GetClusterRevisionNumber()1489     inline const Aws::String& GetClusterRevisionNumber() const{ return m_clusterRevisionNumber; }
1490 
1491     /**
1492      * <p>The specific revision number of the database in the cluster.</p>
1493      */
ClusterRevisionNumberHasBeenSet()1494     inline bool ClusterRevisionNumberHasBeenSet() const { return m_clusterRevisionNumberHasBeenSet; }
1495 
1496     /**
1497      * <p>The specific revision number of the database in the cluster.</p>
1498      */
SetClusterRevisionNumber(const Aws::String & value)1499     inline void SetClusterRevisionNumber(const Aws::String& value) { m_clusterRevisionNumberHasBeenSet = true; m_clusterRevisionNumber = value; }
1500 
1501     /**
1502      * <p>The specific revision number of the database in the cluster.</p>
1503      */
SetClusterRevisionNumber(Aws::String && value)1504     inline void SetClusterRevisionNumber(Aws::String&& value) { m_clusterRevisionNumberHasBeenSet = true; m_clusterRevisionNumber = std::move(value); }
1505 
1506     /**
1507      * <p>The specific revision number of the database in the cluster.</p>
1508      */
SetClusterRevisionNumber(const char * value)1509     inline void SetClusterRevisionNumber(const char* value) { m_clusterRevisionNumberHasBeenSet = true; m_clusterRevisionNumber.assign(value); }
1510 
1511     /**
1512      * <p>The specific revision number of the database in the cluster.</p>
1513      */
WithClusterRevisionNumber(const Aws::String & value)1514     inline Cluster& WithClusterRevisionNumber(const Aws::String& value) { SetClusterRevisionNumber(value); return *this;}
1515 
1516     /**
1517      * <p>The specific revision number of the database in the cluster.</p>
1518      */
WithClusterRevisionNumber(Aws::String && value)1519     inline Cluster& WithClusterRevisionNumber(Aws::String&& value) { SetClusterRevisionNumber(std::move(value)); return *this;}
1520 
1521     /**
1522      * <p>The specific revision number of the database in the cluster.</p>
1523      */
WithClusterRevisionNumber(const char * value)1524     inline Cluster& WithClusterRevisionNumber(const char* value) { SetClusterRevisionNumber(value); return *this;}
1525 
1526 
1527     /**
1528      * <p>The list of tags for the cluster.</p>
1529      */
GetTags()1530     inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
1531 
1532     /**
1533      * <p>The list of tags for the cluster.</p>
1534      */
TagsHasBeenSet()1535     inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
1536 
1537     /**
1538      * <p>The list of tags for the cluster.</p>
1539      */
SetTags(const Aws::Vector<Tag> & value)1540     inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
1541 
1542     /**
1543      * <p>The list of tags for the cluster.</p>
1544      */
SetTags(Aws::Vector<Tag> && value)1545     inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); }
1546 
1547     /**
1548      * <p>The list of tags for the cluster.</p>
1549      */
WithTags(const Aws::Vector<Tag> & value)1550     inline Cluster& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
1551 
1552     /**
1553      * <p>The list of tags for the cluster.</p>
1554      */
WithTags(Aws::Vector<Tag> && value)1555     inline Cluster& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;}
1556 
1557     /**
1558      * <p>The list of tags for the cluster.</p>
1559      */
AddTags(const Tag & value)1560     inline Cluster& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
1561 
1562     /**
1563      * <p>The list of tags for the cluster.</p>
1564      */
AddTags(Tag && value)1565     inline Cluster& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; }
1566 
1567 
1568     /**
1569      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1570      * data in the cluster.</p>
1571      */
GetKmsKeyId()1572     inline const Aws::String& GetKmsKeyId() const{ return m_kmsKeyId; }
1573 
1574     /**
1575      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1576      * data in the cluster.</p>
1577      */
KmsKeyIdHasBeenSet()1578     inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
1579 
1580     /**
1581      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1582      * data in the cluster.</p>
1583      */
SetKmsKeyId(const Aws::String & value)1584     inline void SetKmsKeyId(const Aws::String& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = value; }
1585 
1586     /**
1587      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1588      * data in the cluster.</p>
1589      */
SetKmsKeyId(Aws::String && value)1590     inline void SetKmsKeyId(Aws::String&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::move(value); }
1591 
1592     /**
1593      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1594      * data in the cluster.</p>
1595      */
SetKmsKeyId(const char * value)1596     inline void SetKmsKeyId(const char* value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId.assign(value); }
1597 
1598     /**
1599      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1600      * data in the cluster.</p>
1601      */
WithKmsKeyId(const Aws::String & value)1602     inline Cluster& WithKmsKeyId(const Aws::String& value) { SetKmsKeyId(value); return *this;}
1603 
1604     /**
1605      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1606      * data in the cluster.</p>
1607      */
WithKmsKeyId(Aws::String && value)1608     inline Cluster& WithKmsKeyId(Aws::String&& value) { SetKmsKeyId(std::move(value)); return *this;}
1609 
1610     /**
1611      * <p>The Key Management Service (KMS) key ID of the encryption key used to encrypt
1612      * data in the cluster.</p>
1613      */
WithKmsKeyId(const char * value)1614     inline Cluster& WithKmsKeyId(const char* value) { SetKmsKeyId(value); return *this;}
1615 
1616 
1617     /**
1618      * <p>An option that specifies whether to create the cluster with enhanced VPC
1619      * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster
1620      * must be in a VPC. For more information, see <a
1621      * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced
1622      * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this
1623      * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default:
1624      * false</p>
1625      */
GetEnhancedVpcRouting()1626     inline bool GetEnhancedVpcRouting() const{ return m_enhancedVpcRouting; }
1627 
1628     /**
1629      * <p>An option that specifies whether to create the cluster with enhanced VPC
1630      * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster
1631      * must be in a VPC. For more information, see <a
1632      * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced
1633      * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this
1634      * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default:
1635      * false</p>
1636      */
EnhancedVpcRoutingHasBeenSet()1637     inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; }
1638 
1639     /**
1640      * <p>An option that specifies whether to create the cluster with enhanced VPC
1641      * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster
1642      * must be in a VPC. For more information, see <a
1643      * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced
1644      * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this
1645      * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default:
1646      * false</p>
1647      */
SetEnhancedVpcRouting(bool value)1648     inline void SetEnhancedVpcRouting(bool value) { m_enhancedVpcRoutingHasBeenSet = true; m_enhancedVpcRouting = value; }
1649 
1650     /**
1651      * <p>An option that specifies whether to create the cluster with enhanced VPC
1652      * routing enabled. To create a cluster that uses enhanced VPC routing, the cluster
1653      * must be in a VPC. For more information, see <a
1654      * href="https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html">Enhanced
1655      * VPC Routing</a> in the Amazon Redshift Cluster Management Guide.</p> <p>If this
1656      * option is <code>true</code>, enhanced VPC routing is enabled. </p> <p>Default:
1657      * false</p>
1658      */
WithEnhancedVpcRouting(bool value)1659     inline Cluster& WithEnhancedVpcRouting(bool value) { SetEnhancedVpcRouting(value); return *this;}
1660 
1661 
1662     /**
1663      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1664      * cluster to access other Amazon Web Services services.</p>
1665      */
GetIamRoles()1666     inline const Aws::Vector<ClusterIamRole>& GetIamRoles() const{ return m_iamRoles; }
1667 
1668     /**
1669      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1670      * cluster to access other Amazon Web Services services.</p>
1671      */
IamRolesHasBeenSet()1672     inline bool IamRolesHasBeenSet() const { return m_iamRolesHasBeenSet; }
1673 
1674     /**
1675      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1676      * cluster to access other Amazon Web Services services.</p>
1677      */
SetIamRoles(const Aws::Vector<ClusterIamRole> & value)1678     inline void SetIamRoles(const Aws::Vector<ClusterIamRole>& value) { m_iamRolesHasBeenSet = true; m_iamRoles = value; }
1679 
1680     /**
1681      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1682      * cluster to access other Amazon Web Services services.</p>
1683      */
SetIamRoles(Aws::Vector<ClusterIamRole> && value)1684     inline void SetIamRoles(Aws::Vector<ClusterIamRole>&& value) { m_iamRolesHasBeenSet = true; m_iamRoles = std::move(value); }
1685 
1686     /**
1687      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1688      * cluster to access other Amazon Web Services services.</p>
1689      */
WithIamRoles(const Aws::Vector<ClusterIamRole> & value)1690     inline Cluster& WithIamRoles(const Aws::Vector<ClusterIamRole>& value) { SetIamRoles(value); return *this;}
1691 
1692     /**
1693      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1694      * cluster to access other Amazon Web Services services.</p>
1695      */
WithIamRoles(Aws::Vector<ClusterIamRole> && value)1696     inline Cluster& WithIamRoles(Aws::Vector<ClusterIamRole>&& value) { SetIamRoles(std::move(value)); return *this;}
1697 
1698     /**
1699      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1700      * cluster to access other Amazon Web Services services.</p>
1701      */
AddIamRoles(const ClusterIamRole & value)1702     inline Cluster& AddIamRoles(const ClusterIamRole& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(value); return *this; }
1703 
1704     /**
1705      * <p>A list of Identity and Access Management (IAM) roles that can be used by the
1706      * cluster to access other Amazon Web Services services.</p>
1707      */
AddIamRoles(ClusterIamRole && value)1708     inline Cluster& AddIamRoles(ClusterIamRole&& value) { m_iamRolesHasBeenSet = true; m_iamRoles.push_back(std::move(value)); return *this; }
1709 
1710 
1711     /**
1712      * <p>Cluster operations that are waiting to be started.</p>
1713      */
GetPendingActions()1714     inline const Aws::Vector<Aws::String>& GetPendingActions() const{ return m_pendingActions; }
1715 
1716     /**
1717      * <p>Cluster operations that are waiting to be started.</p>
1718      */
PendingActionsHasBeenSet()1719     inline bool PendingActionsHasBeenSet() const { return m_pendingActionsHasBeenSet; }
1720 
1721     /**
1722      * <p>Cluster operations that are waiting to be started.</p>
1723      */
SetPendingActions(const Aws::Vector<Aws::String> & value)1724     inline void SetPendingActions(const Aws::Vector<Aws::String>& value) { m_pendingActionsHasBeenSet = true; m_pendingActions = value; }
1725 
1726     /**
1727      * <p>Cluster operations that are waiting to be started.</p>
1728      */
SetPendingActions(Aws::Vector<Aws::String> && value)1729     inline void SetPendingActions(Aws::Vector<Aws::String>&& value) { m_pendingActionsHasBeenSet = true; m_pendingActions = std::move(value); }
1730 
1731     /**
1732      * <p>Cluster operations that are waiting to be started.</p>
1733      */
WithPendingActions(const Aws::Vector<Aws::String> & value)1734     inline Cluster& WithPendingActions(const Aws::Vector<Aws::String>& value) { SetPendingActions(value); return *this;}
1735 
1736     /**
1737      * <p>Cluster operations that are waiting to be started.</p>
1738      */
WithPendingActions(Aws::Vector<Aws::String> && value)1739     inline Cluster& WithPendingActions(Aws::Vector<Aws::String>&& value) { SetPendingActions(std::move(value)); return *this;}
1740 
1741     /**
1742      * <p>Cluster operations that are waiting to be started.</p>
1743      */
AddPendingActions(const Aws::String & value)1744     inline Cluster& AddPendingActions(const Aws::String& value) { m_pendingActionsHasBeenSet = true; m_pendingActions.push_back(value); return *this; }
1745 
1746     /**
1747      * <p>Cluster operations that are waiting to be started.</p>
1748      */
AddPendingActions(Aws::String && value)1749     inline Cluster& AddPendingActions(Aws::String&& value) { m_pendingActionsHasBeenSet = true; m_pendingActions.push_back(std::move(value)); return *this; }
1750 
1751     /**
1752      * <p>Cluster operations that are waiting to be started.</p>
1753      */
AddPendingActions(const char * value)1754     inline Cluster& AddPendingActions(const char* value) { m_pendingActionsHasBeenSet = true; m_pendingActions.push_back(value); return *this; }
1755 
1756 
1757     /**
1758      * <p>The name of the maintenance track for the cluster.</p>
1759      */
GetMaintenanceTrackName()1760     inline const Aws::String& GetMaintenanceTrackName() const{ return m_maintenanceTrackName; }
1761 
1762     /**
1763      * <p>The name of the maintenance track for the cluster.</p>
1764      */
MaintenanceTrackNameHasBeenSet()1765     inline bool MaintenanceTrackNameHasBeenSet() const { return m_maintenanceTrackNameHasBeenSet; }
1766 
1767     /**
1768      * <p>The name of the maintenance track for the cluster.</p>
1769      */
SetMaintenanceTrackName(const Aws::String & value)1770     inline void SetMaintenanceTrackName(const Aws::String& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = value; }
1771 
1772     /**
1773      * <p>The name of the maintenance track for the cluster.</p>
1774      */
SetMaintenanceTrackName(Aws::String && value)1775     inline void SetMaintenanceTrackName(Aws::String&& value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName = std::move(value); }
1776 
1777     /**
1778      * <p>The name of the maintenance track for the cluster.</p>
1779      */
SetMaintenanceTrackName(const char * value)1780     inline void SetMaintenanceTrackName(const char* value) { m_maintenanceTrackNameHasBeenSet = true; m_maintenanceTrackName.assign(value); }
1781 
1782     /**
1783      * <p>The name of the maintenance track for the cluster.</p>
1784      */
WithMaintenanceTrackName(const Aws::String & value)1785     inline Cluster& WithMaintenanceTrackName(const Aws::String& value) { SetMaintenanceTrackName(value); return *this;}
1786 
1787     /**
1788      * <p>The name of the maintenance track for the cluster.</p>
1789      */
WithMaintenanceTrackName(Aws::String && value)1790     inline Cluster& WithMaintenanceTrackName(Aws::String&& value) { SetMaintenanceTrackName(std::move(value)); return *this;}
1791 
1792     /**
1793      * <p>The name of the maintenance track for the cluster.</p>
1794      */
WithMaintenanceTrackName(const char * value)1795     inline Cluster& WithMaintenanceTrackName(const char* value) { SetMaintenanceTrackName(value); return *this;}
1796 
1797 
1798     /**
1799      * <p>The number of nodes that you can resize the cluster to with the elastic
1800      * resize method. </p>
1801      */
GetElasticResizeNumberOfNodeOptions()1802     inline const Aws::String& GetElasticResizeNumberOfNodeOptions() const{ return m_elasticResizeNumberOfNodeOptions; }
1803 
1804     /**
1805      * <p>The number of nodes that you can resize the cluster to with the elastic
1806      * resize method. </p>
1807      */
ElasticResizeNumberOfNodeOptionsHasBeenSet()1808     inline bool ElasticResizeNumberOfNodeOptionsHasBeenSet() const { return m_elasticResizeNumberOfNodeOptionsHasBeenSet; }
1809 
1810     /**
1811      * <p>The number of nodes that you can resize the cluster to with the elastic
1812      * resize method. </p>
1813      */
SetElasticResizeNumberOfNodeOptions(const Aws::String & value)1814     inline void SetElasticResizeNumberOfNodeOptions(const Aws::String& value) { m_elasticResizeNumberOfNodeOptionsHasBeenSet = true; m_elasticResizeNumberOfNodeOptions = value; }
1815 
1816     /**
1817      * <p>The number of nodes that you can resize the cluster to with the elastic
1818      * resize method. </p>
1819      */
SetElasticResizeNumberOfNodeOptions(Aws::String && value)1820     inline void SetElasticResizeNumberOfNodeOptions(Aws::String&& value) { m_elasticResizeNumberOfNodeOptionsHasBeenSet = true; m_elasticResizeNumberOfNodeOptions = std::move(value); }
1821 
1822     /**
1823      * <p>The number of nodes that you can resize the cluster to with the elastic
1824      * resize method. </p>
1825      */
SetElasticResizeNumberOfNodeOptions(const char * value)1826     inline void SetElasticResizeNumberOfNodeOptions(const char* value) { m_elasticResizeNumberOfNodeOptionsHasBeenSet = true; m_elasticResizeNumberOfNodeOptions.assign(value); }
1827 
1828     /**
1829      * <p>The number of nodes that you can resize the cluster to with the elastic
1830      * resize method. </p>
1831      */
WithElasticResizeNumberOfNodeOptions(const Aws::String & value)1832     inline Cluster& WithElasticResizeNumberOfNodeOptions(const Aws::String& value) { SetElasticResizeNumberOfNodeOptions(value); return *this;}
1833 
1834     /**
1835      * <p>The number of nodes that you can resize the cluster to with the elastic
1836      * resize method. </p>
1837      */
WithElasticResizeNumberOfNodeOptions(Aws::String && value)1838     inline Cluster& WithElasticResizeNumberOfNodeOptions(Aws::String&& value) { SetElasticResizeNumberOfNodeOptions(std::move(value)); return *this;}
1839 
1840     /**
1841      * <p>The number of nodes that you can resize the cluster to with the elastic
1842      * resize method. </p>
1843      */
WithElasticResizeNumberOfNodeOptions(const char * value)1844     inline Cluster& WithElasticResizeNumberOfNodeOptions(const char* value) { SetElasticResizeNumberOfNodeOptions(value); return *this;}
1845 
1846 
1847     /**
1848      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1849      */
GetDeferredMaintenanceWindows()1850     inline const Aws::Vector<DeferredMaintenanceWindow>& GetDeferredMaintenanceWindows() const{ return m_deferredMaintenanceWindows; }
1851 
1852     /**
1853      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1854      */
DeferredMaintenanceWindowsHasBeenSet()1855     inline bool DeferredMaintenanceWindowsHasBeenSet() const { return m_deferredMaintenanceWindowsHasBeenSet; }
1856 
1857     /**
1858      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1859      */
SetDeferredMaintenanceWindows(const Aws::Vector<DeferredMaintenanceWindow> & value)1860     inline void SetDeferredMaintenanceWindows(const Aws::Vector<DeferredMaintenanceWindow>& value) { m_deferredMaintenanceWindowsHasBeenSet = true; m_deferredMaintenanceWindows = value; }
1861 
1862     /**
1863      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1864      */
SetDeferredMaintenanceWindows(Aws::Vector<DeferredMaintenanceWindow> && value)1865     inline void SetDeferredMaintenanceWindows(Aws::Vector<DeferredMaintenanceWindow>&& value) { m_deferredMaintenanceWindowsHasBeenSet = true; m_deferredMaintenanceWindows = std::move(value); }
1866 
1867     /**
1868      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1869      */
WithDeferredMaintenanceWindows(const Aws::Vector<DeferredMaintenanceWindow> & value)1870     inline Cluster& WithDeferredMaintenanceWindows(const Aws::Vector<DeferredMaintenanceWindow>& value) { SetDeferredMaintenanceWindows(value); return *this;}
1871 
1872     /**
1873      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1874      */
WithDeferredMaintenanceWindows(Aws::Vector<DeferredMaintenanceWindow> && value)1875     inline Cluster& WithDeferredMaintenanceWindows(Aws::Vector<DeferredMaintenanceWindow>&& value) { SetDeferredMaintenanceWindows(std::move(value)); return *this;}
1876 
1877     /**
1878      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1879      */
AddDeferredMaintenanceWindows(const DeferredMaintenanceWindow & value)1880     inline Cluster& AddDeferredMaintenanceWindows(const DeferredMaintenanceWindow& value) { m_deferredMaintenanceWindowsHasBeenSet = true; m_deferredMaintenanceWindows.push_back(value); return *this; }
1881 
1882     /**
1883      * <p>Describes a group of <code>DeferredMaintenanceWindow</code> objects.</p>
1884      */
AddDeferredMaintenanceWindows(DeferredMaintenanceWindow && value)1885     inline Cluster& AddDeferredMaintenanceWindows(DeferredMaintenanceWindow&& value) { m_deferredMaintenanceWindowsHasBeenSet = true; m_deferredMaintenanceWindows.push_back(std::move(value)); return *this; }
1886 
1887 
1888     /**
1889      * <p>A unique identifier for the cluster snapshot schedule.</p>
1890      */
GetSnapshotScheduleIdentifier()1891     inline const Aws::String& GetSnapshotScheduleIdentifier() const{ return m_snapshotScheduleIdentifier; }
1892 
1893     /**
1894      * <p>A unique identifier for the cluster snapshot schedule.</p>
1895      */
SnapshotScheduleIdentifierHasBeenSet()1896     inline bool SnapshotScheduleIdentifierHasBeenSet() const { return m_snapshotScheduleIdentifierHasBeenSet; }
1897 
1898     /**
1899      * <p>A unique identifier for the cluster snapshot schedule.</p>
1900      */
SetSnapshotScheduleIdentifier(const Aws::String & value)1901     inline void SetSnapshotScheduleIdentifier(const Aws::String& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = value; }
1902 
1903     /**
1904      * <p>A unique identifier for the cluster snapshot schedule.</p>
1905      */
SetSnapshotScheduleIdentifier(Aws::String && value)1906     inline void SetSnapshotScheduleIdentifier(Aws::String&& value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier = std::move(value); }
1907 
1908     /**
1909      * <p>A unique identifier for the cluster snapshot schedule.</p>
1910      */
SetSnapshotScheduleIdentifier(const char * value)1911     inline void SetSnapshotScheduleIdentifier(const char* value) { m_snapshotScheduleIdentifierHasBeenSet = true; m_snapshotScheduleIdentifier.assign(value); }
1912 
1913     /**
1914      * <p>A unique identifier for the cluster snapshot schedule.</p>
1915      */
WithSnapshotScheduleIdentifier(const Aws::String & value)1916     inline Cluster& WithSnapshotScheduleIdentifier(const Aws::String& value) { SetSnapshotScheduleIdentifier(value); return *this;}
1917 
1918     /**
1919      * <p>A unique identifier for the cluster snapshot schedule.</p>
1920      */
WithSnapshotScheduleIdentifier(Aws::String && value)1921     inline Cluster& WithSnapshotScheduleIdentifier(Aws::String&& value) { SetSnapshotScheduleIdentifier(std::move(value)); return *this;}
1922 
1923     /**
1924      * <p>A unique identifier for the cluster snapshot schedule.</p>
1925      */
WithSnapshotScheduleIdentifier(const char * value)1926     inline Cluster& WithSnapshotScheduleIdentifier(const char* value) { SetSnapshotScheduleIdentifier(value); return *this;}
1927 
1928 
1929     /**
1930      * <p>The current state of the cluster snapshot schedule.</p>
1931      */
GetSnapshotScheduleState()1932     inline const ScheduleState& GetSnapshotScheduleState() const{ return m_snapshotScheduleState; }
1933 
1934     /**
1935      * <p>The current state of the cluster snapshot schedule.</p>
1936      */
SnapshotScheduleStateHasBeenSet()1937     inline bool SnapshotScheduleStateHasBeenSet() const { return m_snapshotScheduleStateHasBeenSet; }
1938 
1939     /**
1940      * <p>The current state of the cluster snapshot schedule.</p>
1941      */
SetSnapshotScheduleState(const ScheduleState & value)1942     inline void SetSnapshotScheduleState(const ScheduleState& value) { m_snapshotScheduleStateHasBeenSet = true; m_snapshotScheduleState = value; }
1943 
1944     /**
1945      * <p>The current state of the cluster snapshot schedule.</p>
1946      */
SetSnapshotScheduleState(ScheduleState && value)1947     inline void SetSnapshotScheduleState(ScheduleState&& value) { m_snapshotScheduleStateHasBeenSet = true; m_snapshotScheduleState = std::move(value); }
1948 
1949     /**
1950      * <p>The current state of the cluster snapshot schedule.</p>
1951      */
WithSnapshotScheduleState(const ScheduleState & value)1952     inline Cluster& WithSnapshotScheduleState(const ScheduleState& value) { SetSnapshotScheduleState(value); return *this;}
1953 
1954     /**
1955      * <p>The current state of the cluster snapshot schedule.</p>
1956      */
WithSnapshotScheduleState(ScheduleState && value)1957     inline Cluster& WithSnapshotScheduleState(ScheduleState&& value) { SetSnapshotScheduleState(std::move(value)); return *this;}
1958 
1959 
1960     /**
1961      * <p>The date and time when the next snapshot is expected to be taken for clusters
1962      * with a valid snapshot schedule and backups enabled. </p>
1963      */
GetExpectedNextSnapshotScheduleTime()1964     inline const Aws::Utils::DateTime& GetExpectedNextSnapshotScheduleTime() const{ return m_expectedNextSnapshotScheduleTime; }
1965 
1966     /**
1967      * <p>The date and time when the next snapshot is expected to be taken for clusters
1968      * with a valid snapshot schedule and backups enabled. </p>
1969      */
ExpectedNextSnapshotScheduleTimeHasBeenSet()1970     inline bool ExpectedNextSnapshotScheduleTimeHasBeenSet() const { return m_expectedNextSnapshotScheduleTimeHasBeenSet; }
1971 
1972     /**
1973      * <p>The date and time when the next snapshot is expected to be taken for clusters
1974      * with a valid snapshot schedule and backups enabled. </p>
1975      */
SetExpectedNextSnapshotScheduleTime(const Aws::Utils::DateTime & value)1976     inline void SetExpectedNextSnapshotScheduleTime(const Aws::Utils::DateTime& value) { m_expectedNextSnapshotScheduleTimeHasBeenSet = true; m_expectedNextSnapshotScheduleTime = value; }
1977 
1978     /**
1979      * <p>The date and time when the next snapshot is expected to be taken for clusters
1980      * with a valid snapshot schedule and backups enabled. </p>
1981      */
SetExpectedNextSnapshotScheduleTime(Aws::Utils::DateTime && value)1982     inline void SetExpectedNextSnapshotScheduleTime(Aws::Utils::DateTime&& value) { m_expectedNextSnapshotScheduleTimeHasBeenSet = true; m_expectedNextSnapshotScheduleTime = std::move(value); }
1983 
1984     /**
1985      * <p>The date and time when the next snapshot is expected to be taken for clusters
1986      * with a valid snapshot schedule and backups enabled. </p>
1987      */
WithExpectedNextSnapshotScheduleTime(const Aws::Utils::DateTime & value)1988     inline Cluster& WithExpectedNextSnapshotScheduleTime(const Aws::Utils::DateTime& value) { SetExpectedNextSnapshotScheduleTime(value); return *this;}
1989 
1990     /**
1991      * <p>The date and time when the next snapshot is expected to be taken for clusters
1992      * with a valid snapshot schedule and backups enabled. </p>
1993      */
WithExpectedNextSnapshotScheduleTime(Aws::Utils::DateTime && value)1994     inline Cluster& WithExpectedNextSnapshotScheduleTime(Aws::Utils::DateTime&& value) { SetExpectedNextSnapshotScheduleTime(std::move(value)); return *this;}
1995 
1996 
1997     /**
1998      * <p> The status of next expected snapshot for clusters having a valid snapshot
1999      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2000      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2001      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2002      */
GetExpectedNextSnapshotScheduleTimeStatus()2003     inline const Aws::String& GetExpectedNextSnapshotScheduleTimeStatus() const{ return m_expectedNextSnapshotScheduleTimeStatus; }
2004 
2005     /**
2006      * <p> The status of next expected snapshot for clusters having a valid snapshot
2007      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2008      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2009      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2010      */
ExpectedNextSnapshotScheduleTimeStatusHasBeenSet()2011     inline bool ExpectedNextSnapshotScheduleTimeStatusHasBeenSet() const { return m_expectedNextSnapshotScheduleTimeStatusHasBeenSet; }
2012 
2013     /**
2014      * <p> The status of next expected snapshot for clusters having a valid snapshot
2015      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2016      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2017      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2018      */
SetExpectedNextSnapshotScheduleTimeStatus(const Aws::String & value)2019     inline void SetExpectedNextSnapshotScheduleTimeStatus(const Aws::String& value) { m_expectedNextSnapshotScheduleTimeStatusHasBeenSet = true; m_expectedNextSnapshotScheduleTimeStatus = value; }
2020 
2021     /**
2022      * <p> The status of next expected snapshot for clusters having a valid snapshot
2023      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2024      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2025      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2026      */
SetExpectedNextSnapshotScheduleTimeStatus(Aws::String && value)2027     inline void SetExpectedNextSnapshotScheduleTimeStatus(Aws::String&& value) { m_expectedNextSnapshotScheduleTimeStatusHasBeenSet = true; m_expectedNextSnapshotScheduleTimeStatus = std::move(value); }
2028 
2029     /**
2030      * <p> The status of next expected snapshot for clusters having a valid snapshot
2031      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2032      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2033      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2034      */
SetExpectedNextSnapshotScheduleTimeStatus(const char * value)2035     inline void SetExpectedNextSnapshotScheduleTimeStatus(const char* value) { m_expectedNextSnapshotScheduleTimeStatusHasBeenSet = true; m_expectedNextSnapshotScheduleTimeStatus.assign(value); }
2036 
2037     /**
2038      * <p> The status of next expected snapshot for clusters having a valid snapshot
2039      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2040      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2041      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2042      */
WithExpectedNextSnapshotScheduleTimeStatus(const Aws::String & value)2043     inline Cluster& WithExpectedNextSnapshotScheduleTimeStatus(const Aws::String& value) { SetExpectedNextSnapshotScheduleTimeStatus(value); return *this;}
2044 
2045     /**
2046      * <p> The status of next expected snapshot for clusters having a valid snapshot
2047      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2048      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2049      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2050      */
WithExpectedNextSnapshotScheduleTimeStatus(Aws::String && value)2051     inline Cluster& WithExpectedNextSnapshotScheduleTimeStatus(Aws::String&& value) { SetExpectedNextSnapshotScheduleTimeStatus(std::move(value)); return *this;}
2052 
2053     /**
2054      * <p> The status of next expected snapshot for clusters having a valid snapshot
2055      * schedule and backups enabled. Possible values are the following:</p> <ul> <li>
2056      * <p>OnTrack - The next snapshot is expected to be taken on time. </p> </li> <li>
2057      * <p>Pending - The next snapshot is pending to be taken. </p> </li> </ul>
2058      */
WithExpectedNextSnapshotScheduleTimeStatus(const char * value)2059     inline Cluster& WithExpectedNextSnapshotScheduleTimeStatus(const char* value) { SetExpectedNextSnapshotScheduleTimeStatus(value); return *this;}
2060 
2061 
2062     /**
2063      * <p>The date and time in UTC when system maintenance can begin.</p>
2064      */
GetNextMaintenanceWindowStartTime()2065     inline const Aws::Utils::DateTime& GetNextMaintenanceWindowStartTime() const{ return m_nextMaintenanceWindowStartTime; }
2066 
2067     /**
2068      * <p>The date and time in UTC when system maintenance can begin.</p>
2069      */
NextMaintenanceWindowStartTimeHasBeenSet()2070     inline bool NextMaintenanceWindowStartTimeHasBeenSet() const { return m_nextMaintenanceWindowStartTimeHasBeenSet; }
2071 
2072     /**
2073      * <p>The date and time in UTC when system maintenance can begin.</p>
2074      */
SetNextMaintenanceWindowStartTime(const Aws::Utils::DateTime & value)2075     inline void SetNextMaintenanceWindowStartTime(const Aws::Utils::DateTime& value) { m_nextMaintenanceWindowStartTimeHasBeenSet = true; m_nextMaintenanceWindowStartTime = value; }
2076 
2077     /**
2078      * <p>The date and time in UTC when system maintenance can begin.</p>
2079      */
SetNextMaintenanceWindowStartTime(Aws::Utils::DateTime && value)2080     inline void SetNextMaintenanceWindowStartTime(Aws::Utils::DateTime&& value) { m_nextMaintenanceWindowStartTimeHasBeenSet = true; m_nextMaintenanceWindowStartTime = std::move(value); }
2081 
2082     /**
2083      * <p>The date and time in UTC when system maintenance can begin.</p>
2084      */
WithNextMaintenanceWindowStartTime(const Aws::Utils::DateTime & value)2085     inline Cluster& WithNextMaintenanceWindowStartTime(const Aws::Utils::DateTime& value) { SetNextMaintenanceWindowStartTime(value); return *this;}
2086 
2087     /**
2088      * <p>The date and time in UTC when system maintenance can begin.</p>
2089      */
WithNextMaintenanceWindowStartTime(Aws::Utils::DateTime && value)2090     inline Cluster& WithNextMaintenanceWindowStartTime(Aws::Utils::DateTime&& value) { SetNextMaintenanceWindowStartTime(std::move(value)); return *this;}
2091 
2092 
2093     /**
2094      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2095      * indicating if the resize operation can be cancelled.</p> </li> <li>
2096      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2097      */
GetResizeInfo()2098     inline const ResizeInfo& GetResizeInfo() const{ return m_resizeInfo; }
2099 
2100     /**
2101      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2102      * indicating if the resize operation can be cancelled.</p> </li> <li>
2103      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2104      */
ResizeInfoHasBeenSet()2105     inline bool ResizeInfoHasBeenSet() const { return m_resizeInfoHasBeenSet; }
2106 
2107     /**
2108      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2109      * indicating if the resize operation can be cancelled.</p> </li> <li>
2110      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2111      */
SetResizeInfo(const ResizeInfo & value)2112     inline void SetResizeInfo(const ResizeInfo& value) { m_resizeInfoHasBeenSet = true; m_resizeInfo = value; }
2113 
2114     /**
2115      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2116      * indicating if the resize operation can be cancelled.</p> </li> <li>
2117      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2118      */
SetResizeInfo(ResizeInfo && value)2119     inline void SetResizeInfo(ResizeInfo&& value) { m_resizeInfoHasBeenSet = true; m_resizeInfo = std::move(value); }
2120 
2121     /**
2122      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2123      * indicating if the resize operation can be cancelled.</p> </li> <li>
2124      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2125      */
WithResizeInfo(const ResizeInfo & value)2126     inline Cluster& WithResizeInfo(const ResizeInfo& value) { SetResizeInfo(value); return *this;}
2127 
2128     /**
2129      * <p>Returns the following:</p> <ul> <li> <p>AllowCancelResize: a boolean value
2130      * indicating if the resize operation can be cancelled.</p> </li> <li>
2131      * <p>ResizeType: Returns ClassicResize</p> </li> </ul>
2132      */
WithResizeInfo(ResizeInfo && value)2133     inline Cluster& WithResizeInfo(ResizeInfo&& value) { SetResizeInfo(std::move(value)); return *this;}
2134 
2135 
2136     /**
2137      * <p>Describes the status of the Availability Zone relocation operation.</p>
2138      */
GetAvailabilityZoneRelocationStatus()2139     inline const Aws::String& GetAvailabilityZoneRelocationStatus() const{ return m_availabilityZoneRelocationStatus; }
2140 
2141     /**
2142      * <p>Describes the status of the Availability Zone relocation operation.</p>
2143      */
AvailabilityZoneRelocationStatusHasBeenSet()2144     inline bool AvailabilityZoneRelocationStatusHasBeenSet() const { return m_availabilityZoneRelocationStatusHasBeenSet; }
2145 
2146     /**
2147      * <p>Describes the status of the Availability Zone relocation operation.</p>
2148      */
SetAvailabilityZoneRelocationStatus(const Aws::String & value)2149     inline void SetAvailabilityZoneRelocationStatus(const Aws::String& value) { m_availabilityZoneRelocationStatusHasBeenSet = true; m_availabilityZoneRelocationStatus = value; }
2150 
2151     /**
2152      * <p>Describes the status of the Availability Zone relocation operation.</p>
2153      */
SetAvailabilityZoneRelocationStatus(Aws::String && value)2154     inline void SetAvailabilityZoneRelocationStatus(Aws::String&& value) { m_availabilityZoneRelocationStatusHasBeenSet = true; m_availabilityZoneRelocationStatus = std::move(value); }
2155 
2156     /**
2157      * <p>Describes the status of the Availability Zone relocation operation.</p>
2158      */
SetAvailabilityZoneRelocationStatus(const char * value)2159     inline void SetAvailabilityZoneRelocationStatus(const char* value) { m_availabilityZoneRelocationStatusHasBeenSet = true; m_availabilityZoneRelocationStatus.assign(value); }
2160 
2161     /**
2162      * <p>Describes the status of the Availability Zone relocation operation.</p>
2163      */
WithAvailabilityZoneRelocationStatus(const Aws::String & value)2164     inline Cluster& WithAvailabilityZoneRelocationStatus(const Aws::String& value) { SetAvailabilityZoneRelocationStatus(value); return *this;}
2165 
2166     /**
2167      * <p>Describes the status of the Availability Zone relocation operation.</p>
2168      */
WithAvailabilityZoneRelocationStatus(Aws::String && value)2169     inline Cluster& WithAvailabilityZoneRelocationStatus(Aws::String&& value) { SetAvailabilityZoneRelocationStatus(std::move(value)); return *this;}
2170 
2171     /**
2172      * <p>Describes the status of the Availability Zone relocation operation.</p>
2173      */
WithAvailabilityZoneRelocationStatus(const char * value)2174     inline Cluster& WithAvailabilityZoneRelocationStatus(const char* value) { SetAvailabilityZoneRelocationStatus(value); return *this;}
2175 
2176 
2177     /**
2178      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2179      */
GetClusterNamespaceArn()2180     inline const Aws::String& GetClusterNamespaceArn() const{ return m_clusterNamespaceArn; }
2181 
2182     /**
2183      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2184      */
ClusterNamespaceArnHasBeenSet()2185     inline bool ClusterNamespaceArnHasBeenSet() const { return m_clusterNamespaceArnHasBeenSet; }
2186 
2187     /**
2188      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2189      */
SetClusterNamespaceArn(const Aws::String & value)2190     inline void SetClusterNamespaceArn(const Aws::String& value) { m_clusterNamespaceArnHasBeenSet = true; m_clusterNamespaceArn = value; }
2191 
2192     /**
2193      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2194      */
SetClusterNamespaceArn(Aws::String && value)2195     inline void SetClusterNamespaceArn(Aws::String&& value) { m_clusterNamespaceArnHasBeenSet = true; m_clusterNamespaceArn = std::move(value); }
2196 
2197     /**
2198      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2199      */
SetClusterNamespaceArn(const char * value)2200     inline void SetClusterNamespaceArn(const char* value) { m_clusterNamespaceArnHasBeenSet = true; m_clusterNamespaceArn.assign(value); }
2201 
2202     /**
2203      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2204      */
WithClusterNamespaceArn(const Aws::String & value)2205     inline Cluster& WithClusterNamespaceArn(const Aws::String& value) { SetClusterNamespaceArn(value); return *this;}
2206 
2207     /**
2208      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2209      */
WithClusterNamespaceArn(Aws::String && value)2210     inline Cluster& WithClusterNamespaceArn(Aws::String&& value) { SetClusterNamespaceArn(std::move(value)); return *this;}
2211 
2212     /**
2213      * <p>The namespace Amazon Resource Name (ARN) of the cluster.</p>
2214      */
WithClusterNamespaceArn(const char * value)2215     inline Cluster& WithClusterNamespaceArn(const char* value) { SetClusterNamespaceArn(value); return *this;}
2216 
2217 
2218     /**
2219      * <p>The total storage capacity of the cluster in megabytes. </p>
2220      */
GetTotalStorageCapacityInMegaBytes()2221     inline long long GetTotalStorageCapacityInMegaBytes() const{ return m_totalStorageCapacityInMegaBytes; }
2222 
2223     /**
2224      * <p>The total storage capacity of the cluster in megabytes. </p>
2225      */
TotalStorageCapacityInMegaBytesHasBeenSet()2226     inline bool TotalStorageCapacityInMegaBytesHasBeenSet() const { return m_totalStorageCapacityInMegaBytesHasBeenSet; }
2227 
2228     /**
2229      * <p>The total storage capacity of the cluster in megabytes. </p>
2230      */
SetTotalStorageCapacityInMegaBytes(long long value)2231     inline void SetTotalStorageCapacityInMegaBytes(long long value) { m_totalStorageCapacityInMegaBytesHasBeenSet = true; m_totalStorageCapacityInMegaBytes = value; }
2232 
2233     /**
2234      * <p>The total storage capacity of the cluster in megabytes. </p>
2235      */
WithTotalStorageCapacityInMegaBytes(long long value)2236     inline Cluster& WithTotalStorageCapacityInMegaBytes(long long value) { SetTotalStorageCapacityInMegaBytes(value); return *this;}
2237 
2238 
2239     /**
2240      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2241      */
GetAquaConfiguration()2242     inline const AquaConfiguration& GetAquaConfiguration() const{ return m_aquaConfiguration; }
2243 
2244     /**
2245      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2246      */
AquaConfigurationHasBeenSet()2247     inline bool AquaConfigurationHasBeenSet() const { return m_aquaConfigurationHasBeenSet; }
2248 
2249     /**
2250      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2251      */
SetAquaConfiguration(const AquaConfiguration & value)2252     inline void SetAquaConfiguration(const AquaConfiguration& value) { m_aquaConfigurationHasBeenSet = true; m_aquaConfiguration = value; }
2253 
2254     /**
2255      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2256      */
SetAquaConfiguration(AquaConfiguration && value)2257     inline void SetAquaConfiguration(AquaConfiguration&& value) { m_aquaConfigurationHasBeenSet = true; m_aquaConfiguration = std::move(value); }
2258 
2259     /**
2260      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2261      */
WithAquaConfiguration(const AquaConfiguration & value)2262     inline Cluster& WithAquaConfiguration(const AquaConfiguration& value) { SetAquaConfiguration(value); return *this;}
2263 
2264     /**
2265      * <p>The AQUA (Advanced Query Accelerator) configuration of the cluster.</p>
2266      */
WithAquaConfiguration(AquaConfiguration && value)2267     inline Cluster& WithAquaConfiguration(AquaConfiguration&& value) { SetAquaConfiguration(std::move(value)); return *this;}
2268 
2269   private:
2270 
2271     Aws::String m_clusterIdentifier;
2272     bool m_clusterIdentifierHasBeenSet;
2273 
2274     Aws::String m_nodeType;
2275     bool m_nodeTypeHasBeenSet;
2276 
2277     Aws::String m_clusterStatus;
2278     bool m_clusterStatusHasBeenSet;
2279 
2280     Aws::String m_clusterAvailabilityStatus;
2281     bool m_clusterAvailabilityStatusHasBeenSet;
2282 
2283     Aws::String m_modifyStatus;
2284     bool m_modifyStatusHasBeenSet;
2285 
2286     Aws::String m_masterUsername;
2287     bool m_masterUsernameHasBeenSet;
2288 
2289     Aws::String m_dBName;
2290     bool m_dBNameHasBeenSet;
2291 
2292     Endpoint m_endpoint;
2293     bool m_endpointHasBeenSet;
2294 
2295     Aws::Utils::DateTime m_clusterCreateTime;
2296     bool m_clusterCreateTimeHasBeenSet;
2297 
2298     int m_automatedSnapshotRetentionPeriod;
2299     bool m_automatedSnapshotRetentionPeriodHasBeenSet;
2300 
2301     int m_manualSnapshotRetentionPeriod;
2302     bool m_manualSnapshotRetentionPeriodHasBeenSet;
2303 
2304     Aws::Vector<ClusterSecurityGroupMembership> m_clusterSecurityGroups;
2305     bool m_clusterSecurityGroupsHasBeenSet;
2306 
2307     Aws::Vector<VpcSecurityGroupMembership> m_vpcSecurityGroups;
2308     bool m_vpcSecurityGroupsHasBeenSet;
2309 
2310     Aws::Vector<ClusterParameterGroupStatus> m_clusterParameterGroups;
2311     bool m_clusterParameterGroupsHasBeenSet;
2312 
2313     Aws::String m_clusterSubnetGroupName;
2314     bool m_clusterSubnetGroupNameHasBeenSet;
2315 
2316     Aws::String m_vpcId;
2317     bool m_vpcIdHasBeenSet;
2318 
2319     Aws::String m_availabilityZone;
2320     bool m_availabilityZoneHasBeenSet;
2321 
2322     Aws::String m_preferredMaintenanceWindow;
2323     bool m_preferredMaintenanceWindowHasBeenSet;
2324 
2325     PendingModifiedValues m_pendingModifiedValues;
2326     bool m_pendingModifiedValuesHasBeenSet;
2327 
2328     Aws::String m_clusterVersion;
2329     bool m_clusterVersionHasBeenSet;
2330 
2331     bool m_allowVersionUpgrade;
2332     bool m_allowVersionUpgradeHasBeenSet;
2333 
2334     int m_numberOfNodes;
2335     bool m_numberOfNodesHasBeenSet;
2336 
2337     bool m_publiclyAccessible;
2338     bool m_publiclyAccessibleHasBeenSet;
2339 
2340     bool m_encrypted;
2341     bool m_encryptedHasBeenSet;
2342 
2343     RestoreStatus m_restoreStatus;
2344     bool m_restoreStatusHasBeenSet;
2345 
2346     DataTransferProgress m_dataTransferProgress;
2347     bool m_dataTransferProgressHasBeenSet;
2348 
2349     HsmStatus m_hsmStatus;
2350     bool m_hsmStatusHasBeenSet;
2351 
2352     ClusterSnapshotCopyStatus m_clusterSnapshotCopyStatus;
2353     bool m_clusterSnapshotCopyStatusHasBeenSet;
2354 
2355     Aws::String m_clusterPublicKey;
2356     bool m_clusterPublicKeyHasBeenSet;
2357 
2358     Aws::Vector<ClusterNode> m_clusterNodes;
2359     bool m_clusterNodesHasBeenSet;
2360 
2361     ElasticIpStatus m_elasticIpStatus;
2362     bool m_elasticIpStatusHasBeenSet;
2363 
2364     Aws::String m_clusterRevisionNumber;
2365     bool m_clusterRevisionNumberHasBeenSet;
2366 
2367     Aws::Vector<Tag> m_tags;
2368     bool m_tagsHasBeenSet;
2369 
2370     Aws::String m_kmsKeyId;
2371     bool m_kmsKeyIdHasBeenSet;
2372 
2373     bool m_enhancedVpcRouting;
2374     bool m_enhancedVpcRoutingHasBeenSet;
2375 
2376     Aws::Vector<ClusterIamRole> m_iamRoles;
2377     bool m_iamRolesHasBeenSet;
2378 
2379     Aws::Vector<Aws::String> m_pendingActions;
2380     bool m_pendingActionsHasBeenSet;
2381 
2382     Aws::String m_maintenanceTrackName;
2383     bool m_maintenanceTrackNameHasBeenSet;
2384 
2385     Aws::String m_elasticResizeNumberOfNodeOptions;
2386     bool m_elasticResizeNumberOfNodeOptionsHasBeenSet;
2387 
2388     Aws::Vector<DeferredMaintenanceWindow> m_deferredMaintenanceWindows;
2389     bool m_deferredMaintenanceWindowsHasBeenSet;
2390 
2391     Aws::String m_snapshotScheduleIdentifier;
2392     bool m_snapshotScheduleIdentifierHasBeenSet;
2393 
2394     ScheduleState m_snapshotScheduleState;
2395     bool m_snapshotScheduleStateHasBeenSet;
2396 
2397     Aws::Utils::DateTime m_expectedNextSnapshotScheduleTime;
2398     bool m_expectedNextSnapshotScheduleTimeHasBeenSet;
2399 
2400     Aws::String m_expectedNextSnapshotScheduleTimeStatus;
2401     bool m_expectedNextSnapshotScheduleTimeStatusHasBeenSet;
2402 
2403     Aws::Utils::DateTime m_nextMaintenanceWindowStartTime;
2404     bool m_nextMaintenanceWindowStartTimeHasBeenSet;
2405 
2406     ResizeInfo m_resizeInfo;
2407     bool m_resizeInfoHasBeenSet;
2408 
2409     Aws::String m_availabilityZoneRelocationStatus;
2410     bool m_availabilityZoneRelocationStatusHasBeenSet;
2411 
2412     Aws::String m_clusterNamespaceArn;
2413     bool m_clusterNamespaceArnHasBeenSet;
2414 
2415     long long m_totalStorageCapacityInMegaBytes;
2416     bool m_totalStorageCapacityInMegaBytesHasBeenSet;
2417 
2418     AquaConfiguration m_aquaConfiguration;
2419     bool m_aquaConfigurationHasBeenSet;
2420   };
2421 
2422 } // namespace Model
2423 } // namespace Redshift
2424 } // namespace Aws
2425