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 <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Xml
17 {
18   class XmlNode;
19 } // namespace Xml
20 } // namespace Utils
21 namespace Redshift
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Describes a resize operation.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeInfo">AWS
29    * API Reference</a></p>
30    */
31   class AWS_REDSHIFT_API ResizeInfo
32   {
33   public:
34     ResizeInfo();
35     ResizeInfo(const Aws::Utils::Xml::XmlNode& xmlNode);
36     ResizeInfo& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
37 
38     void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
39     void OutputToStream(Aws::OStream& oStream, const char* location) const;
40 
41 
42     /**
43      * <p>Returns the value <code>ClassicResize</code>.</p>
44      */
GetResizeType()45     inline const Aws::String& GetResizeType() const{ return m_resizeType; }
46 
47     /**
48      * <p>Returns the value <code>ClassicResize</code>.</p>
49      */
ResizeTypeHasBeenSet()50     inline bool ResizeTypeHasBeenSet() const { return m_resizeTypeHasBeenSet; }
51 
52     /**
53      * <p>Returns the value <code>ClassicResize</code>.</p>
54      */
SetResizeType(const Aws::String & value)55     inline void SetResizeType(const Aws::String& value) { m_resizeTypeHasBeenSet = true; m_resizeType = value; }
56 
57     /**
58      * <p>Returns the value <code>ClassicResize</code>.</p>
59      */
SetResizeType(Aws::String && value)60     inline void SetResizeType(Aws::String&& value) { m_resizeTypeHasBeenSet = true; m_resizeType = std::move(value); }
61 
62     /**
63      * <p>Returns the value <code>ClassicResize</code>.</p>
64      */
SetResizeType(const char * value)65     inline void SetResizeType(const char* value) { m_resizeTypeHasBeenSet = true; m_resizeType.assign(value); }
66 
67     /**
68      * <p>Returns the value <code>ClassicResize</code>.</p>
69      */
WithResizeType(const Aws::String & value)70     inline ResizeInfo& WithResizeType(const Aws::String& value) { SetResizeType(value); return *this;}
71 
72     /**
73      * <p>Returns the value <code>ClassicResize</code>.</p>
74      */
WithResizeType(Aws::String && value)75     inline ResizeInfo& WithResizeType(Aws::String&& value) { SetResizeType(std::move(value)); return *this;}
76 
77     /**
78      * <p>Returns the value <code>ClassicResize</code>.</p>
79      */
WithResizeType(const char * value)80     inline ResizeInfo& WithResizeType(const char* value) { SetResizeType(value); return *this;}
81 
82 
83     /**
84      * <p>A boolean value indicating if the resize operation can be cancelled.</p>
85      */
GetAllowCancelResize()86     inline bool GetAllowCancelResize() const{ return m_allowCancelResize; }
87 
88     /**
89      * <p>A boolean value indicating if the resize operation can be cancelled.</p>
90      */
AllowCancelResizeHasBeenSet()91     inline bool AllowCancelResizeHasBeenSet() const { return m_allowCancelResizeHasBeenSet; }
92 
93     /**
94      * <p>A boolean value indicating if the resize operation can be cancelled.</p>
95      */
SetAllowCancelResize(bool value)96     inline void SetAllowCancelResize(bool value) { m_allowCancelResizeHasBeenSet = true; m_allowCancelResize = value; }
97 
98     /**
99      * <p>A boolean value indicating if the resize operation can be cancelled.</p>
100      */
WithAllowCancelResize(bool value)101     inline ResizeInfo& WithAllowCancelResize(bool value) { SetAllowCancelResize(value); return *this;}
102 
103   private:
104 
105     Aws::String m_resizeType;
106     bool m_resizeTypeHasBeenSet;
107 
108     bool m_allowCancelResize;
109     bool m_allowCancelResizeHasBeenSet;
110   };
111 
112 } // namespace Model
113 } // namespace Redshift
114 } // namespace Aws
115