AWS SDK for C++  0.14.3
AWS SDK for C++
OrderableClusterOption.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
21 
22 namespace Aws
23 {
24 namespace Utils
25 {
26 namespace Xml
27 {
28  class XmlNode;
29 } // namespace Xml
30 } // namespace Utils
31 namespace Redshift
32 {
33 namespace Model
34 {
35 
40  {
41  public:
44  OrderableClusterOption& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
45 
46  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
47  void OutputToStream(Aws::OStream& oStream, const char* location) const;
48 
52  inline const Aws::String& GetClusterVersion() const{ return m_clusterVersion; }
53 
57  inline void SetClusterVersion(const Aws::String& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = value; }
58 
62  inline void SetClusterVersion(Aws::String&& value) { m_clusterVersionHasBeenSet = true; m_clusterVersion = value; }
63 
67  inline void SetClusterVersion(const char* value) { m_clusterVersionHasBeenSet = true; m_clusterVersion.assign(value); }
68 
72  inline OrderableClusterOption& WithClusterVersion(const Aws::String& value) { SetClusterVersion(value); return *this;}
73 
77  inline OrderableClusterOption& WithClusterVersion(Aws::String&& value) { SetClusterVersion(value); return *this;}
78 
82  inline OrderableClusterOption& WithClusterVersion(const char* value) { SetClusterVersion(value); return *this;}
83 
87  inline const Aws::String& GetClusterType() const{ return m_clusterType; }
88 
92  inline void SetClusterType(const Aws::String& value) { m_clusterTypeHasBeenSet = true; m_clusterType = value; }
93 
97  inline void SetClusterType(Aws::String&& value) { m_clusterTypeHasBeenSet = true; m_clusterType = value; }
98 
102  inline void SetClusterType(const char* value) { m_clusterTypeHasBeenSet = true; m_clusterType.assign(value); }
103 
107  inline OrderableClusterOption& WithClusterType(const Aws::String& value) { SetClusterType(value); return *this;}
108 
112  inline OrderableClusterOption& WithClusterType(Aws::String&& value) { SetClusterType(value); return *this;}
113 
117  inline OrderableClusterOption& WithClusterType(const char* value) { SetClusterType(value); return *this;}
118 
122  inline const Aws::String& GetNodeType() const{ return m_nodeType; }
123 
127  inline void SetNodeType(const Aws::String& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
128 
132  inline void SetNodeType(Aws::String&& value) { m_nodeTypeHasBeenSet = true; m_nodeType = value; }
133 
137  inline void SetNodeType(const char* value) { m_nodeTypeHasBeenSet = true; m_nodeType.assign(value); }
138 
142  inline OrderableClusterOption& WithNodeType(const Aws::String& value) { SetNodeType(value); return *this;}
143 
147  inline OrderableClusterOption& WithNodeType(Aws::String&& value) { SetNodeType(value); return *this;}
148 
152  inline OrderableClusterOption& WithNodeType(const char* value) { SetNodeType(value); return *this;}
153 
157  inline const Aws::Vector<AvailabilityZone>& GetAvailabilityZones() const{ return m_availabilityZones; }
158 
162  inline void SetAvailabilityZones(const Aws::Vector<AvailabilityZone>& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
163 
167  inline void SetAvailabilityZones(Aws::Vector<AvailabilityZone>&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones = value; }
168 
172  inline OrderableClusterOption& WithAvailabilityZones(const Aws::Vector<AvailabilityZone>& value) { SetAvailabilityZones(value); return *this;}
173 
177  inline OrderableClusterOption& WithAvailabilityZones(Aws::Vector<AvailabilityZone>&& value) { SetAvailabilityZones(value); return *this;}
178 
182  inline OrderableClusterOption& AddAvailabilityZones(const AvailabilityZone& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
183 
187  inline OrderableClusterOption& AddAvailabilityZones(AvailabilityZone&& value) { m_availabilityZonesHasBeenSet = true; m_availabilityZones.push_back(value); return *this; }
188 
189  private:
190  Aws::String m_clusterVersion;
191  bool m_clusterVersionHasBeenSet;
192  Aws::String m_clusterType;
193  bool m_clusterTypeHasBeenSet;
194  Aws::String m_nodeType;
195  bool m_nodeTypeHasBeenSet;
196  Aws::Vector<AvailabilityZone> m_availabilityZones;
197  bool m_availabilityZonesHasBeenSet;
198  };
199 
200 } // namespace Model
201 } // namespace Redshift
202 } // namespace Aws
OrderableClusterOption & WithNodeType(const char *value)
OrderableClusterOption & WithClusterVersion(const Aws::String &value)
void SetClusterVersion(const Aws::String &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
OrderableClusterOption & AddAvailabilityZones(const AvailabilityZone &value)
void SetAvailabilityZones(const Aws::Vector< AvailabilityZone > &value)
void SetAvailabilityZones(Aws::Vector< AvailabilityZone > &&value)
OrderableClusterOption & WithAvailabilityZones(const Aws::Vector< AvailabilityZone > &value)
#define AWS_REDSHIFT_API
OrderableClusterOption & AddAvailabilityZones(AvailabilityZone &&value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
OrderableClusterOption & WithClusterType(const Aws::String &value)
OrderableClusterOption & WithClusterVersion(const char *value)
OrderableClusterOption & WithAvailabilityZones(Aws::Vector< AvailabilityZone > &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
const Aws::Vector< AvailabilityZone > & GetAvailabilityZones() const
OrderableClusterOption & WithClusterType(Aws::String &&value)
OrderableClusterOption & WithNodeType(Aws::String &&value)
OrderableClusterOption & WithClusterType(const char *value)
OrderableClusterOption & WithNodeType(const Aws::String &value)
OrderableClusterOption & WithClusterVersion(Aws::String &&value)
JSON (JavaScript Object Notation).