AWS SDK for C++

AWS SDK for C++ Version 1.11.746

Loading...
Searching...
No Matches
BrokerInstanceOption.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/mq/MQ_EXPORTS.h>
10#include <aws/mq/model/AvailabilityZone.h>
11#include <aws/mq/model/BrokerStorageType.h>
12#include <aws/mq/model/DeploymentMode.h>
13#include <aws/mq/model/EngineType.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace MQ {
25namespace Model {
26
33 public:
34 AWS_MQ_API BrokerInstanceOption() = default;
38
40
43 inline const Aws::Vector<AvailabilityZone>& GetAvailabilityZones() const { return m_availabilityZones; }
44 inline bool AvailabilityZonesHasBeenSet() const { return m_availabilityZonesHasBeenSet; }
45 template <typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
46 void SetAvailabilityZones(AvailabilityZonesT&& value) {
47 m_availabilityZonesHasBeenSet = true;
48 m_availabilityZones = std::forward<AvailabilityZonesT>(value);
49 }
50 template <typename AvailabilityZonesT = Aws::Vector<AvailabilityZone>>
51 BrokerInstanceOption& WithAvailabilityZones(AvailabilityZonesT&& value) {
52 SetAvailabilityZones(std::forward<AvailabilityZonesT>(value));
53 return *this;
54 }
55 template <typename AvailabilityZonesT = AvailabilityZone>
56 BrokerInstanceOption& AddAvailabilityZones(AvailabilityZonesT&& value) {
57 m_availabilityZonesHasBeenSet = true;
58 m_availabilityZones.emplace_back(std::forward<AvailabilityZonesT>(value));
59 return *this;
60 }
62
64
67 inline EngineType GetEngineType() const { return m_engineType; }
68 inline bool EngineTypeHasBeenSet() const { return m_engineTypeHasBeenSet; }
69 inline void SetEngineType(EngineType value) {
70 m_engineTypeHasBeenSet = true;
71 m_engineType = value;
72 }
74 SetEngineType(value);
75 return *this;
76 }
78
80
83 inline const Aws::String& GetHostInstanceType() const { return m_hostInstanceType; }
84 inline bool HostInstanceTypeHasBeenSet() const { return m_hostInstanceTypeHasBeenSet; }
85 template <typename HostInstanceTypeT = Aws::String>
86 void SetHostInstanceType(HostInstanceTypeT&& value) {
87 m_hostInstanceTypeHasBeenSet = true;
88 m_hostInstanceType = std::forward<HostInstanceTypeT>(value);
89 }
90 template <typename HostInstanceTypeT = Aws::String>
91 BrokerInstanceOption& WithHostInstanceType(HostInstanceTypeT&& value) {
92 SetHostInstanceType(std::forward<HostInstanceTypeT>(value));
93 return *this;
94 }
96
98
101 inline BrokerStorageType GetStorageType() const { return m_storageType; }
102 inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
104 m_storageTypeHasBeenSet = true;
105 m_storageType = value;
106 }
108 SetStorageType(value);
109 return *this;
110 }
112
114
117 inline const Aws::Vector<DeploymentMode>& GetSupportedDeploymentModes() const { return m_supportedDeploymentModes; }
118 inline bool SupportedDeploymentModesHasBeenSet() const { return m_supportedDeploymentModesHasBeenSet; }
119 template <typename SupportedDeploymentModesT = Aws::Vector<DeploymentMode>>
120 void SetSupportedDeploymentModes(SupportedDeploymentModesT&& value) {
121 m_supportedDeploymentModesHasBeenSet = true;
122 m_supportedDeploymentModes = std::forward<SupportedDeploymentModesT>(value);
123 }
124 template <typename SupportedDeploymentModesT = Aws::Vector<DeploymentMode>>
125 BrokerInstanceOption& WithSupportedDeploymentModes(SupportedDeploymentModesT&& value) {
126 SetSupportedDeploymentModes(std::forward<SupportedDeploymentModesT>(value));
127 return *this;
128 }
130 m_supportedDeploymentModesHasBeenSet = true;
131 m_supportedDeploymentModes.push_back(value);
132 return *this;
133 }
135
137
140 inline const Aws::Vector<Aws::String>& GetSupportedEngineVersions() const { return m_supportedEngineVersions; }
141 inline bool SupportedEngineVersionsHasBeenSet() const { return m_supportedEngineVersionsHasBeenSet; }
142 template <typename SupportedEngineVersionsT = Aws::Vector<Aws::String>>
143 void SetSupportedEngineVersions(SupportedEngineVersionsT&& value) {
144 m_supportedEngineVersionsHasBeenSet = true;
145 m_supportedEngineVersions = std::forward<SupportedEngineVersionsT>(value);
146 }
147 template <typename SupportedEngineVersionsT = Aws::Vector<Aws::String>>
148 BrokerInstanceOption& WithSupportedEngineVersions(SupportedEngineVersionsT&& value) {
149 SetSupportedEngineVersions(std::forward<SupportedEngineVersionsT>(value));
150 return *this;
151 }
152 template <typename SupportedEngineVersionsT = Aws::String>
153 BrokerInstanceOption& AddSupportedEngineVersions(SupportedEngineVersionsT&& value) {
154 m_supportedEngineVersionsHasBeenSet = true;
155 m_supportedEngineVersions.emplace_back(std::forward<SupportedEngineVersionsT>(value));
156 return *this;
157 }
159 private:
160 Aws::Vector<AvailabilityZone> m_availabilityZones;
161
162 EngineType m_engineType{EngineType::NOT_SET};
163
164 Aws::String m_hostInstanceType;
165
167
168 Aws::Vector<DeploymentMode> m_supportedDeploymentModes;
169
170 Aws::Vector<Aws::String> m_supportedEngineVersions;
171 bool m_availabilityZonesHasBeenSet = false;
172 bool m_engineTypeHasBeenSet = false;
173 bool m_hostInstanceTypeHasBeenSet = false;
174 bool m_storageTypeHasBeenSet = false;
175 bool m_supportedDeploymentModesHasBeenSet = false;
176 bool m_supportedEngineVersionsHasBeenSet = false;
177};
178
179} // namespace Model
180} // namespace MQ
181} // namespace Aws
const Aws::Vector< Aws::String > & GetSupportedEngineVersions() const
const Aws::Vector< DeploymentMode > & GetSupportedDeploymentModes() const
void SetAvailabilityZones(AvailabilityZonesT &&value)
void SetHostInstanceType(HostInstanceTypeT &&value)
AWS_MQ_API BrokerInstanceOption & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetHostInstanceType() const
BrokerInstanceOption & WithSupportedDeploymentModes(SupportedDeploymentModesT &&value)
void SetSupportedEngineVersions(SupportedEngineVersionsT &&value)
BrokerInstanceOption & AddSupportedDeploymentModes(DeploymentMode value)
BrokerInstanceOption & WithStorageType(BrokerStorageType value)
BrokerInstanceOption & AddAvailabilityZones(AvailabilityZonesT &&value)
BrokerInstanceOption & AddSupportedEngineVersions(SupportedEngineVersionsT &&value)
BrokerInstanceOption & WithEngineType(EngineType value)
const Aws::Vector< AvailabilityZone > & GetAvailabilityZones() const
BrokerInstanceOption & WithHostInstanceType(HostInstanceTypeT &&value)
BrokerInstanceOption & WithAvailabilityZones(AvailabilityZonesT &&value)
AWS_MQ_API BrokerInstanceOption(Aws::Utils::Json::JsonView jsonValue)
BrokerInstanceOption & WithSupportedEngineVersions(SupportedEngineVersionsT &&value)
AWS_MQ_API Aws::Utils::Json::JsonValue Jsonize() const
void SetSupportedDeploymentModes(SupportedDeploymentModesT &&value)
void SetStorageType(BrokerStorageType value)
AWS_MQ_API BrokerInstanceOption()=default
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue