AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
UpdateWorkgroupRequest.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/redshift-serverless/RedshiftServerlessRequest.h>
10#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
11#include <aws/redshift-serverless/model/ConfigParameter.h>
12#include <aws/redshift-serverless/model/PerformanceTarget.h>
13
14#include <utility>
15
16namespace Aws {
17namespace RedshiftServerless {
18namespace Model {
19
23 public:
24 AWS_REDSHIFTSERVERLESS_API UpdateWorkgroupRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "UpdateWorkgroup"; }
31
32 AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override;
33
34 AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35
37
40 inline int GetBaseCapacity() const { return m_baseCapacity; }
41 inline bool BaseCapacityHasBeenSet() const { return m_baseCapacityHasBeenSet; }
42 inline void SetBaseCapacity(int value) {
43 m_baseCapacityHasBeenSet = true;
44 m_baseCapacity = value;
45 }
47 SetBaseCapacity(value);
48 return *this;
49 }
51
53
70 inline const Aws::Vector<ConfigParameter>& GetConfigParameters() const { return m_configParameters; }
71 inline bool ConfigParametersHasBeenSet() const { return m_configParametersHasBeenSet; }
72 template <typename ConfigParametersT = Aws::Vector<ConfigParameter>>
73 void SetConfigParameters(ConfigParametersT&& value) {
74 m_configParametersHasBeenSet = true;
75 m_configParameters = std::forward<ConfigParametersT>(value);
76 }
77 template <typename ConfigParametersT = Aws::Vector<ConfigParameter>>
78 UpdateWorkgroupRequest& WithConfigParameters(ConfigParametersT&& value) {
79 SetConfigParameters(std::forward<ConfigParametersT>(value));
80 return *this;
81 }
82 template <typename ConfigParametersT = ConfigParameter>
83 UpdateWorkgroupRequest& AddConfigParameters(ConfigParametersT&& value) {
84 m_configParametersHasBeenSet = true;
85 m_configParameters.emplace_back(std::forward<ConfigParametersT>(value));
86 return *this;
87 }
89
91
96 inline bool GetEnhancedVpcRouting() const { return m_enhancedVpcRouting; }
97 inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; }
98 inline void SetEnhancedVpcRouting(bool value) {
99 m_enhancedVpcRoutingHasBeenSet = true;
100 m_enhancedVpcRouting = value;
101 }
104 return *this;
105 }
107
109
113 inline bool GetExtraComputeForAutomaticOptimization() const { return m_extraComputeForAutomaticOptimization; }
114 inline bool ExtraComputeForAutomaticOptimizationHasBeenSet() const { return m_extraComputeForAutomaticOptimizationHasBeenSet; }
116 m_extraComputeForAutomaticOptimizationHasBeenSet = true;
117 m_extraComputeForAutomaticOptimization = value;
118 }
121 return *this;
122 }
124
126
130 inline const Aws::String& GetIpAddressType() const { return m_ipAddressType; }
131 inline bool IpAddressTypeHasBeenSet() const { return m_ipAddressTypeHasBeenSet; }
132 template <typename IpAddressTypeT = Aws::String>
133 void SetIpAddressType(IpAddressTypeT&& value) {
134 m_ipAddressTypeHasBeenSet = true;
135 m_ipAddressType = std::forward<IpAddressTypeT>(value);
136 }
137 template <typename IpAddressTypeT = Aws::String>
138 UpdateWorkgroupRequest& WithIpAddressType(IpAddressTypeT&& value) {
139 SetIpAddressType(std::forward<IpAddressTypeT>(value));
140 return *this;
141 }
143
145
149 inline int GetMaxCapacity() const { return m_maxCapacity; }
150 inline bool MaxCapacityHasBeenSet() const { return m_maxCapacityHasBeenSet; }
151 inline void SetMaxCapacity(int value) {
152 m_maxCapacityHasBeenSet = true;
153 m_maxCapacity = value;
154 }
156 SetMaxCapacity(value);
157 return *this;
158 }
160
162
166 inline int GetPort() const { return m_port; }
167 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
168 inline void SetPort(int value) {
169 m_portHasBeenSet = true;
170 m_port = value;
171 }
172 inline UpdateWorkgroupRequest& WithPort(int value) {
173 SetPort(value);
174 return *this;
175 }
177
179
183 inline const PerformanceTarget& GetPricePerformanceTarget() const { return m_pricePerformanceTarget; }
184 inline bool PricePerformanceTargetHasBeenSet() const { return m_pricePerformanceTargetHasBeenSet; }
185 template <typename PricePerformanceTargetT = PerformanceTarget>
186 void SetPricePerformanceTarget(PricePerformanceTargetT&& value) {
187 m_pricePerformanceTargetHasBeenSet = true;
188 m_pricePerformanceTarget = std::forward<PricePerformanceTargetT>(value);
189 }
190 template <typename PricePerformanceTargetT = PerformanceTarget>
191 UpdateWorkgroupRequest& WithPricePerformanceTarget(PricePerformanceTargetT&& value) {
192 SetPricePerformanceTarget(std::forward<PricePerformanceTargetT>(value));
193 return *this;
194 }
196
198
202 inline bool GetPubliclyAccessible() const { return m_publiclyAccessible; }
203 inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; }
204 inline void SetPubliclyAccessible(bool value) {
205 m_publiclyAccessibleHasBeenSet = true;
206 m_publiclyAccessible = value;
207 }
210 return *this;
211 }
213
215
218 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
219 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
220 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
221 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
222 m_securityGroupIdsHasBeenSet = true;
223 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
224 }
225 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
226 UpdateWorkgroupRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
227 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
228 return *this;
229 }
230 template <typename SecurityGroupIdsT = Aws::String>
231 UpdateWorkgroupRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
232 m_securityGroupIdsHasBeenSet = true;
233 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
234 return *this;
235 }
237
239
242 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
243 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
244 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
245 void SetSubnetIds(SubnetIdsT&& value) {
246 m_subnetIdsHasBeenSet = true;
247 m_subnetIds = std::forward<SubnetIdsT>(value);
248 }
249 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
251 SetSubnetIds(std::forward<SubnetIdsT>(value));
252 return *this;
253 }
254 template <typename SubnetIdsT = Aws::String>
256 m_subnetIdsHasBeenSet = true;
257 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
258 return *this;
259 }
261
263
268 inline const Aws::String& GetTrackName() const { return m_trackName; }
269 inline bool TrackNameHasBeenSet() const { return m_trackNameHasBeenSet; }
270 template <typename TrackNameT = Aws::String>
271 void SetTrackName(TrackNameT&& value) {
272 m_trackNameHasBeenSet = true;
273 m_trackName = std::forward<TrackNameT>(value);
274 }
275 template <typename TrackNameT = Aws::String>
277 SetTrackName(std::forward<TrackNameT>(value));
278 return *this;
279 }
281
283
287 inline const Aws::String& GetWorkgroupName() const { return m_workgroupName; }
288 inline bool WorkgroupNameHasBeenSet() const { return m_workgroupNameHasBeenSet; }
289 template <typename WorkgroupNameT = Aws::String>
290 void SetWorkgroupName(WorkgroupNameT&& value) {
291 m_workgroupNameHasBeenSet = true;
292 m_workgroupName = std::forward<WorkgroupNameT>(value);
293 }
294 template <typename WorkgroupNameT = Aws::String>
295 UpdateWorkgroupRequest& WithWorkgroupName(WorkgroupNameT&& value) {
296 SetWorkgroupName(std::forward<WorkgroupNameT>(value));
297 return *this;
298 }
300 private:
301 int m_baseCapacity{0};
302
303 Aws::Vector<ConfigParameter> m_configParameters;
304
305 bool m_enhancedVpcRouting{false};
306
307 bool m_extraComputeForAutomaticOptimization{false};
308
309 Aws::String m_ipAddressType;
310
311 int m_maxCapacity{0};
312
313 int m_port{0};
314
315 PerformanceTarget m_pricePerformanceTarget;
316
317 bool m_publiclyAccessible{false};
318
319 Aws::Vector<Aws::String> m_securityGroupIds;
320
321 Aws::Vector<Aws::String> m_subnetIds;
322
323 Aws::String m_trackName;
324
325 Aws::String m_workgroupName;
326 bool m_baseCapacityHasBeenSet = false;
327 bool m_configParametersHasBeenSet = false;
328 bool m_enhancedVpcRoutingHasBeenSet = false;
329 bool m_extraComputeForAutomaticOptimizationHasBeenSet = false;
330 bool m_ipAddressTypeHasBeenSet = false;
331 bool m_maxCapacityHasBeenSet = false;
332 bool m_portHasBeenSet = false;
333 bool m_pricePerformanceTargetHasBeenSet = false;
334 bool m_publiclyAccessibleHasBeenSet = false;
335 bool m_securityGroupIdsHasBeenSet = false;
336 bool m_subnetIdsHasBeenSet = false;
337 bool m_trackNameHasBeenSet = false;
338 bool m_workgroupNameHasBeenSet = false;
339};
340
341} // namespace Model
342} // namespace RedshiftServerless
343} // namespace Aws
AWS_REDSHIFTSERVERLESS_API UpdateWorkgroupRequest()=default
UpdateWorkgroupRequest & AddSubnetIds(SubnetIdsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
UpdateWorkgroupRequest & WithExtraComputeForAutomaticOptimization(bool value)
UpdateWorkgroupRequest & AddConfigParameters(ConfigParametersT &&value)
UpdateWorkgroupRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
UpdateWorkgroupRequest & WithPricePerformanceTarget(PricePerformanceTargetT &&value)
UpdateWorkgroupRequest & WithTrackName(TrackNameT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
const Aws::Vector< ConfigParameter > & GetConfigParameters() const
UpdateWorkgroupRequest & WithWorkgroupName(WorkgroupNameT &&value)
AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override
UpdateWorkgroupRequest & WithConfigParameters(ConfigParametersT &&value)
UpdateWorkgroupRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
virtual const char * GetServiceRequestName() const override
UpdateWorkgroupRequest & WithSubnetIds(SubnetIdsT &&value)
UpdateWorkgroupRequest & WithIpAddressType(IpAddressTypeT &&value)
AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetPricePerformanceTarget(PricePerformanceTargetT &&value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector