AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
OrderableClusterOption.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift/Redshift_EXPORTS.h>
11#include <aws/redshift/model/AvailabilityZone.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace Redshift {
22namespace Model {
23
30 public:
31 AWS_REDSHIFT_API OrderableClusterOption() = default;
32 AWS_REDSHIFT_API OrderableClusterOption(const Aws::Utils::Xml::XmlNode& xmlNode);
34
35 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
36 AWS_REDSHIFT_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
37
39
42 inline const Aws::String& GetClusterVersion() const { return m_clusterVersion; }
43 inline bool ClusterVersionHasBeenSet() const { return m_clusterVersionHasBeenSet; }
44 template <typename ClusterVersionT = Aws::String>
45 void SetClusterVersion(ClusterVersionT&& value) {
46 m_clusterVersionHasBeenSet = true;
47 m_clusterVersion = std::forward<ClusterVersionT>(value);
48 }
49 template <typename ClusterVersionT = Aws::String>
50 OrderableClusterOption& WithClusterVersion(ClusterVersionT&& value) {
51 SetClusterVersion(std::forward<ClusterVersionT>(value));
52 return *this;
53 }
55
57
60 inline const Aws::String& GetClusterType() const { return m_clusterType; }
61 inline bool ClusterTypeHasBeenSet() const { return m_clusterTypeHasBeenSet; }
62 template <typename ClusterTypeT = Aws::String>
63 void SetClusterType(ClusterTypeT&& value) {
64 m_clusterTypeHasBeenSet = true;
65 m_clusterType = std::forward<ClusterTypeT>(value);
66 }
67 template <typename ClusterTypeT = Aws::String>
68 OrderableClusterOption& WithClusterType(ClusterTypeT&& value) {
69 SetClusterType(std::forward<ClusterTypeT>(value));
70 return *this;
71 }
73
75
78 inline const Aws::String& GetNodeType() const { return m_nodeType; }
79 inline bool NodeTypeHasBeenSet() const { return m_nodeTypeHasBeenSet; }
80 template <typename NodeTypeT = Aws::String>
81 void SetNodeType(NodeTypeT&& value) {
82 m_nodeTypeHasBeenSet = true;
83 m_nodeType = std::forward<NodeTypeT>(value);
84 }
85 template <typename NodeTypeT = Aws::String>
87 SetNodeType(std::forward<NodeTypeT>(value));
88 return *this;
89 }
91
93
96 inline const Aws::Vector<AvailabilityZone>& GetAvailabilityZones() const { return m_availabilityZones; }
97 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
98 template <typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
99 void SetAvailabilityZones(AvailabilityZonesT&& value) {
100 m_availabilityZonesHasBeenSet = true;
101 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
102 }
103 template <typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
104 OrderableClusterOption& WithAvailabilityZones(AvailabilityZonesT&& value) {
105 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
106 return *this;
107 }
108 template <typename AvailabilityZonesT = AvailabilityZone>
109 OrderableClusterOption& AddAvailabilityZones(AvailabilityZonesT&& value) {
110 m_availabilityZonesHasBeenSet = true;
111 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
112 return *this;
113 }
115 private:
116 Aws::String m_clusterVersion;
117
118 Aws::String m_clusterType;
119
120 Aws::String m_nodeType;
121
122 Aws::Vector<AvailabilityZone> m_availabilityZones;
123 bool m_clusterVersionHasBeenSet = false;
124 bool m_clusterTypeHasBeenSet = false;
125 bool m_nodeTypeHasBeenSet = false;
126 bool m_availabilityZonesHasBeenSet = false;
127};
128
129} // namespace Model
130} // namespace Redshift
131} // namespace Aws
AWS_REDSHIFT_API OrderableClusterOption()=default
OrderableClusterOption & AddAvailabilityZones(AvailabilityZonesT &&value)
AWS_REDSHIFT_API OrderableClusterOption(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_REDSHIFT_API OrderableClusterOption & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
OrderableClusterOption & WithClusterType(ClusterTypeT &&value)
void SetAvailabilityZones(AvailabilityZonesT &&value)
OrderableClusterOption & WithClusterVersion(ClusterVersionT &&value)
OrderableClusterOption & WithAvailabilityZones(AvailabilityZonesT &&value)
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::Vector< AvailabilityZone > & GetAvailabilityZones() const
AWS_REDSHIFT_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
OrderableClusterOption & WithNodeType(NodeTypeT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream