7#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/redshift-serverless/model/Endpoint.h>
12#include <aws/redshift-serverless/model/PerformanceTarget.h>
13#include <aws/redshift-serverless/model/WorkgroupStatus.h>
14#include <aws/redshift-serverless/model/ConfigParameter.h>
27namespace RedshiftServerless
54 inline void SetBaseCapacity(
int value) { m_baseCapacityHasBeenSet =
true; m_baseCapacity = value; }
72 template<
typename ConfigParametersT = Aws::Vector<ConfigParameter>>
73 void SetConfigParameters(ConfigParametersT&& value) { m_configParametersHasBeenSet =
true; m_configParameters = std::forward<ConfigParametersT>(value); }
74 template<
typename ConfigParametersT = Aws::Vector<ConfigParameter>>
76 template<
typename ConfigParametersT = ConfigParameter>
77 Workgroup&
AddConfigParameters(ConfigParametersT&& value) { m_configParametersHasBeenSet =
true; m_configParameters.emplace_back(std::forward<ConfigParametersT>(value));
return *
this; }
86 template<
typename CreationDateT = Aws::Utils::DateTime>
87 void SetCreationDate(CreationDateT&& value) { m_creationDateHasBeenSet =
true; m_creationDate = std::forward<CreationDateT>(value); }
88 template<
typename CreationDateT = Aws::Utils::DateTime>
100 template<
typename CrossAccountVpcsT = Aws::Vector<Aws::String>>
101 void SetCrossAccountVpcs(CrossAccountVpcsT&& value) { m_crossAccountVpcsHasBeenSet =
true; m_crossAccountVpcs = std::forward<CrossAccountVpcsT>(value); }
102 template<
typename CrossAccountVpcsT = Aws::Vector<Aws::String>>
104 template<
typename CrossAccountVpcsT = Aws::String>
105 Workgroup&
AddCrossAccountVpcs(CrossAccountVpcsT&& value) { m_crossAccountVpcsHasBeenSet =
true; m_crossAccountVpcs.emplace_back(std::forward<CrossAccountVpcsT>(value));
return *
this; }
114 template<
typename CustomDomainCertificateArnT = Aws::String>
115 void SetCustomDomainCertificateArn(CustomDomainCertificateArnT&& value) { m_customDomainCertificateArnHasBeenSet =
true; m_customDomainCertificateArn = std::forward<CustomDomainCertificateArnT>(value); }
116 template<
typename CustomDomainCertificateArnT = Aws::String>
126 template<
typename CustomDomainCertificateExpiryTimeT = Aws::Utils::DateTime>
127 void SetCustomDomainCertificateExpiryTime(CustomDomainCertificateExpiryTimeT&& value) { m_customDomainCertificateExpiryTimeHasBeenSet =
true; m_customDomainCertificateExpiryTime = std::forward<CustomDomainCertificateExpiryTimeT>(value); }
128 template<
typename CustomDomainCertificateExpiryTimeT = Aws::Utils::DateTime>
138 template<
typename CustomDomainNameT = Aws::String>
139 void SetCustomDomainName(CustomDomainNameT&& value) { m_customDomainNameHasBeenSet =
true; m_customDomainName = std::forward<CustomDomainNameT>(value); }
140 template<
typename CustomDomainNameT = Aws::String>
150 template<
typename Endpo
intT = Endpo
int>
151 void SetEndpoint(EndpointT&& value) { m_endpointHasBeenSet =
true; m_endpoint = std::forward<EndpointT>(value); }
152 template<
typename Endpo
intT = Endpo
int>
164 inline void SetEnhancedVpcRouting(
bool value) { m_enhancedVpcRoutingHasBeenSet =
true; m_enhancedVpcRouting = value; }
175 template<
typename IpAddressTypeT = Aws::String>
176 void SetIpAddressType(IpAddressTypeT&& value) { m_ipAddressTypeHasBeenSet =
true; m_ipAddressType = std::forward<IpAddressTypeT>(value); }
177 template<
typename IpAddressTypeT = Aws::String>
188 inline void SetMaxCapacity(
int value) { m_maxCapacityHasBeenSet =
true; m_maxCapacity = value; }
198 template<
typename NamespaceNameT = Aws::String>
199 void SetNamespaceName(NamespaceNameT&& value) { m_namespaceNameHasBeenSet =
true; m_namespaceName = std::forward<NamespaceNameT>(value); }
200 template<
typename NamespaceNameT = Aws::String>
213 template<
typename PatchVersionT = Aws::String>
214 void SetPatchVersion(PatchVersionT&& value) { m_patchVersionHasBeenSet =
true; m_patchVersion = std::forward<PatchVersionT>(value); }
215 template<
typename PatchVersionT = Aws::String>
227 template<
typename PendingTrackNameT = Aws::String>
228 void SetPendingTrackName(PendingTrackNameT&& value) { m_pendingTrackNameHasBeenSet =
true; m_pendingTrackName = std::forward<PendingTrackNameT>(value); }
229 template<
typename PendingTrackNameT = Aws::String>
240 inline void SetPort(
int value) { m_portHasBeenSet =
true; m_port = value; }
251 template<
typename PricePerformanceTargetT = PerformanceTarget>
252 void SetPricePerformanceTarget(PricePerformanceTargetT&& value) { m_pricePerformanceTargetHasBeenSet =
true; m_pricePerformanceTarget = std::forward<PricePerformanceTargetT>(value); }
253 template<
typename PricePerformanceTargetT = PerformanceTarget>
264 inline void SetPubliclyAccessible(
bool value) { m_publiclyAccessibleHasBeenSet =
true; m_publiclyAccessible = value; }
274 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
275 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
276 template<
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
278 template<
typename SecurityGroupIdsT = Aws::String>
279 Workgroup&
AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet =
true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
return *
this; }
298 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
299 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds = std::forward<SubnetIdsT>(value); }
300 template<
typename SubnetIdsT = Aws::Vector<Aws::String>>
302 template<
typename SubnetIdsT = Aws::String>
303 Workgroup&
AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet =
true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
return *
this; }
312 template<
typename TrackNameT = Aws::String>
313 void SetTrackName(TrackNameT&& value) { m_trackNameHasBeenSet =
true; m_trackName = std::forward<TrackNameT>(value); }
314 template<
typename TrackNameT = Aws::String>
324 template<
typename WorkgroupArnT = Aws::String>
325 void SetWorkgroupArn(WorkgroupArnT&& value) { m_workgroupArnHasBeenSet =
true; m_workgroupArn = std::forward<WorkgroupArnT>(value); }
326 template<
typename WorkgroupArnT = Aws::String>
336 template<
typename WorkgroupIdT = Aws::String>
337 void SetWorkgroupId(WorkgroupIdT&& value) { m_workgroupIdHasBeenSet =
true; m_workgroupId = std::forward<WorkgroupIdT>(value); }
338 template<
typename WorkgroupIdT = Aws::String>
348 template<
typename WorkgroupNameT = Aws::String>
349 void SetWorkgroupName(WorkgroupNameT&& value) { m_workgroupNameHasBeenSet =
true; m_workgroupName = std::forward<WorkgroupNameT>(value); }
350 template<
typename WorkgroupNameT = Aws::String>
363 template<
typename WorkgroupVersionT = Aws::String>
364 void SetWorkgroupVersion(WorkgroupVersionT&& value) { m_workgroupVersionHasBeenSet =
true; m_workgroupVersion = std::forward<WorkgroupVersionT>(value); }
365 template<
typename WorkgroupVersionT = Aws::String>
370 int m_baseCapacity{0};
371 bool m_baseCapacityHasBeenSet =
false;
374 bool m_configParametersHasBeenSet =
false;
377 bool m_creationDateHasBeenSet =
false;
380 bool m_crossAccountVpcsHasBeenSet =
false;
383 bool m_customDomainCertificateArnHasBeenSet =
false;
386 bool m_customDomainCertificateExpiryTimeHasBeenSet =
false;
389 bool m_customDomainNameHasBeenSet =
false;
392 bool m_endpointHasBeenSet =
false;
394 bool m_enhancedVpcRouting{
false};
395 bool m_enhancedVpcRoutingHasBeenSet =
false;
398 bool m_ipAddressTypeHasBeenSet =
false;
400 int m_maxCapacity{0};
401 bool m_maxCapacityHasBeenSet =
false;
404 bool m_namespaceNameHasBeenSet =
false;
407 bool m_patchVersionHasBeenSet =
false;
410 bool m_pendingTrackNameHasBeenSet =
false;
413 bool m_portHasBeenSet =
false;
415 PerformanceTarget m_pricePerformanceTarget;
416 bool m_pricePerformanceTargetHasBeenSet =
false;
418 bool m_publiclyAccessible{
false};
419 bool m_publiclyAccessibleHasBeenSet =
false;
422 bool m_securityGroupIdsHasBeenSet =
false;
425 bool m_statusHasBeenSet =
false;
428 bool m_subnetIdsHasBeenSet =
false;
431 bool m_trackNameHasBeenSet =
false;
434 bool m_workgroupArnHasBeenSet =
false;
437 bool m_workgroupIdHasBeenSet =
false;
440 bool m_workgroupNameHasBeenSet =
false;
443 bool m_workgroupVersionHasBeenSet =
false;
bool ConfigParametersHasBeenSet() const
bool GetPubliclyAccessible() const
bool WorkgroupArnHasBeenSet() const
Workgroup & WithEndpoint(EndpointT &&value)
Workgroup & WithMaxCapacity(int value)
void SetWorkgroupId(WorkgroupIdT &&value)
Workgroup & WithPort(int value)
void SetTrackName(TrackNameT &&value)
Workgroup & WithCustomDomainCertificateExpiryTime(CustomDomainCertificateExpiryTimeT &&value)
const Aws::Vector< ConfigParameter > & GetConfigParameters() const
const Aws::String & GetTrackName() const
bool BaseCapacityHasBeenSet() const
const Aws::String & GetCustomDomainCertificateArn() const
void SetCustomDomainName(CustomDomainNameT &&value)
Workgroup & AddSecurityGroupIds(SecurityGroupIdsT &&value)
const Aws::String & GetWorkgroupId() const
void SetNamespaceName(NamespaceNameT &&value)
void SetPricePerformanceTarget(PricePerformanceTargetT &&value)
bool EnhancedVpcRoutingHasBeenSet() const
void SetSubnetIds(SubnetIdsT &&value)
Workgroup & WithWorkgroupName(WorkgroupNameT &&value)
const Aws::String & GetWorkgroupName() const
Workgroup & AddCrossAccountVpcs(CrossAccountVpcsT &&value)
Workgroup & WithSecurityGroupIds(SecurityGroupIdsT &&value)
bool WorkgroupVersionHasBeenSet() const
void SetCustomDomainCertificateExpiryTime(CustomDomainCertificateExpiryTimeT &&value)
Workgroup & WithTrackName(TrackNameT &&value)
bool TrackNameHasBeenSet() const
bool WorkgroupIdHasBeenSet() const
Workgroup & WithNamespaceName(NamespaceNameT &&value)
void SetBaseCapacity(int value)
const Aws::Utils::DateTime & GetCustomDomainCertificateExpiryTime() const
Workgroup & WithPubliclyAccessible(bool value)
WorkgroupStatus GetStatus() const
const PerformanceTarget & GetPricePerformanceTarget() const
void SetIpAddressType(IpAddressTypeT &&value)
Workgroup & WithBaseCapacity(int value)
void SetWorkgroupArn(WorkgroupArnT &&value)
Workgroup & AddSubnetIds(SubnetIdsT &&value)
bool MaxCapacityHasBeenSet() const
Workgroup & WithStatus(WorkgroupStatus value)
bool CrossAccountVpcsHasBeenSet() const
Workgroup & WithWorkgroupId(WorkgroupIdT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
bool StatusHasBeenSet() const
Workgroup & WithCrossAccountVpcs(CrossAccountVpcsT &&value)
const Aws::Utils::DateTime & GetCreationDate() const
const Endpoint & GetEndpoint() const
AWS_REDSHIFTSERVERLESS_API Workgroup()=default
const Aws::String & GetPatchVersion() const
Workgroup & WithCustomDomainName(CustomDomainNameT &&value)
const Aws::String & GetCustomDomainName() const
void SetPubliclyAccessible(bool value)
bool PendingTrackNameHasBeenSet() const
const Aws::String & GetPendingTrackName() const
Workgroup & WithIpAddressType(IpAddressTypeT &&value)
void SetWorkgroupVersion(WorkgroupVersionT &&value)
void SetWorkgroupName(WorkgroupNameT &&value)
void SetEnhancedVpcRouting(bool value)
Workgroup & WithWorkgroupVersion(WorkgroupVersionT &&value)
bool IpAddressTypeHasBeenSet() const
bool SecurityGroupIdsHasBeenSet() const
Workgroup & WithCustomDomainCertificateArn(CustomDomainCertificateArnT &&value)
bool NamespaceNameHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const Aws::Vector< Aws::String > & GetCrossAccountVpcs() const
int GetBaseCapacity() const
AWS_REDSHIFTSERVERLESS_API Workgroup(Aws::Utils::Json::JsonView jsonValue)
void SetCustomDomainCertificateArn(CustomDomainCertificateArnT &&value)
bool GetEnhancedVpcRouting() const
bool EndpointHasBeenSet() const
Workgroup & WithPendingTrackName(PendingTrackNameT &&value)
const Aws::String & GetIpAddressType() const
Workgroup & AddConfigParameters(ConfigParametersT &&value)
void SetPatchVersion(PatchVersionT &&value)
Workgroup & WithConfigParameters(ConfigParametersT &&value)
void SetPendingTrackName(PendingTrackNameT &&value)
Workgroup & WithPatchVersion(PatchVersionT &&value)
bool WorkgroupNameHasBeenSet() const
bool PortHasBeenSet() const
bool SubnetIdsHasBeenSet() const
void SetStatus(WorkgroupStatus value)
const Aws::String & GetWorkgroupVersion() const
Workgroup & WithCreationDate(CreationDateT &&value)
const Aws::String & GetNamespaceName() const
Workgroup & WithWorkgroupArn(WorkgroupArnT &&value)
void SetCreationDate(CreationDateT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
Workgroup & WithPricePerformanceTarget(PricePerformanceTargetT &&value)
void SetConfigParameters(ConfigParametersT &&value)
AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
Workgroup & WithSubnetIds(SubnetIdsT &&value)
bool CustomDomainNameHasBeenSet() const
void SetMaxCapacity(int value)
Workgroup & WithEnhancedVpcRouting(bool value)
bool PubliclyAccessibleHasBeenSet() const
AWS_REDSHIFTSERVERLESS_API Workgroup & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetCrossAccountVpcs(CrossAccountVpcsT &&value)
void SetEndpoint(EndpointT &&value)
bool PatchVersionHasBeenSet() const
int GetMaxCapacity() const
bool CustomDomainCertificateArnHasBeenSet() const
const Aws::String & GetWorkgroupArn() const
bool PricePerformanceTargetHasBeenSet() const
bool CreationDateHasBeenSet() const
bool CustomDomainCertificateExpiryTimeHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue