7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
11#include <aws/redshift-serverless/model/ConfigParameter.h>
12#include <aws/redshift-serverless/model/Endpoint.h>
13#include <aws/redshift-serverless/model/PerformanceTarget.h>
14#include <aws/redshift-serverless/model/WorkgroupStatus.h>
25namespace RedshiftServerless {
49 m_baseCapacityHasBeenSet =
true;
50 m_baseCapacity = value;
78 template <
typename ConfigParametersT = Aws::Vector<ConfigParameter>>
80 m_configParametersHasBeenSet =
true;
81 m_configParameters = std::forward<ConfigParametersT>(value);
83 template <
typename ConfigParametersT = Aws::Vector<ConfigParameter>>
88 template <
typename ConfigParametersT = ConfigParameter>
90 m_configParametersHasBeenSet =
true;
91 m_configParameters.emplace_back(std::forward<ConfigParametersT>(value));
102 template <
typename CreationDateT = Aws::Utils::DateTime>
104 m_creationDateHasBeenSet =
true;
105 m_creationDate = std::forward<CreationDateT>(value);
107 template <
typename CreationDateT = Aws::Utils::DateTime>
122 template <
typename CrossAccountVpcsT = Aws::Vector<Aws::String>>
124 m_crossAccountVpcsHasBeenSet =
true;
125 m_crossAccountVpcs = std::forward<CrossAccountVpcsT>(value);
127 template <
typename CrossAccountVpcsT = Aws::Vector<Aws::String>>
132 template <
typename CrossAccountVpcsT = Aws::String>
134 m_crossAccountVpcsHasBeenSet =
true;
135 m_crossAccountVpcs.emplace_back(std::forward<CrossAccountVpcsT>(value));
146 template <
typename CustomDomainCertificateArnT = Aws::String>
148 m_customDomainCertificateArnHasBeenSet =
true;
149 m_customDomainCertificateArn = std::forward<CustomDomainCertificateArnT>(value);
151 template <
typename CustomDomainCertificateArnT = Aws::String>
164 template <
typename CustomDomainCertificateExpiryTimeT = Aws::Utils::DateTime>
166 m_customDomainCertificateExpiryTimeHasBeenSet =
true;
167 m_customDomainCertificateExpiryTime = std::forward<CustomDomainCertificateExpiryTimeT>(value);
169 template <
typename CustomDomainCertificateExpiryTimeT = Aws::Utils::DateTime>
182 template <
typename CustomDomainNameT = Aws::String>
184 m_customDomainNameHasBeenSet =
true;
185 m_customDomainName = std::forward<CustomDomainNameT>(value);
187 template <
typename CustomDomainNameT = Aws::String>
200 template <
typename Endpo
intT = Endpo
int>
202 m_endpointHasBeenSet =
true;
203 m_endpoint = std::forward<EndpointT>(value);
205 template <
typename Endpo
intT = Endpo
int>
221 m_enhancedVpcRoutingHasBeenSet =
true;
222 m_enhancedVpcRouting = value;
239 m_extraComputeForAutomaticOptimizationHasBeenSet =
true;
240 m_extraComputeForAutomaticOptimization = value;
255 template <
typename IpAddressTypeT = Aws::String>
257 m_ipAddressTypeHasBeenSet =
true;
258 m_ipAddressType = std::forward<IpAddressTypeT>(value);
260 template <
typename IpAddressTypeT = Aws::String>
275 m_maxCapacityHasBeenSet =
true;
276 m_maxCapacity = value;
290 template <
typename NamespaceNameT = Aws::String>
292 m_namespaceNameHasBeenSet =
true;
293 m_namespaceName = std::forward<NamespaceNameT>(value);
295 template <
typename NamespaceNameT = Aws::String>
311 template <
typename PatchVersionT = Aws::String>
313 m_patchVersionHasBeenSet =
true;
314 m_patchVersion = std::forward<PatchVersionT>(value);
316 template <
typename PatchVersionT = Aws::String>
331 template <
typename PendingTrackNameT = Aws::String>
333 m_pendingTrackNameHasBeenSet =
true;
334 m_pendingTrackName = std::forward<PendingTrackNameT>(value);
336 template <
typename PendingTrackNameT = Aws::String>
351 m_portHasBeenSet =
true;
367 template <
typename PricePerformanceTargetT = PerformanceTarget>
369 m_pricePerformanceTargetHasBeenSet =
true;
370 m_pricePerformanceTarget = std::forward<PricePerformanceTargetT>(value);
372 template <
typename PricePerformanceTargetT = PerformanceTarget>
387 m_publiclyAccessibleHasBeenSet =
true;
388 m_publiclyAccessible = value;
402 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
404 m_securityGroupIdsHasBeenSet =
true;
405 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
407 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
412 template <
typename SecurityGroupIdsT = Aws::String>
414 m_securityGroupIdsHasBeenSet =
true;
415 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
427 m_statusHasBeenSet =
true;
442 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
444 m_subnetIdsHasBeenSet =
true;
445 m_subnetIds = std::forward<SubnetIdsT>(value);
447 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
452 template <
typename SubnetIdsT = Aws::String>
454 m_subnetIdsHasBeenSet =
true;
455 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
466 template <
typename TrackNameT = Aws::String>
468 m_trackNameHasBeenSet =
true;
469 m_trackName = std::forward<TrackNameT>(value);
471 template <
typename TrackNameT = Aws::String>
484 template <
typename WorkgroupArnT = Aws::String>
486 m_workgroupArnHasBeenSet =
true;
487 m_workgroupArn = std::forward<WorkgroupArnT>(value);
489 template <
typename WorkgroupArnT = Aws::String>
502 template <
typename WorkgroupIdT = Aws::String>
504 m_workgroupIdHasBeenSet =
true;
505 m_workgroupId = std::forward<WorkgroupIdT>(value);
507 template <
typename WorkgroupIdT = Aws::String>
520 template <
typename WorkgroupNameT = Aws::String>
522 m_workgroupNameHasBeenSet =
true;
523 m_workgroupName = std::forward<WorkgroupNameT>(value);
525 template <
typename WorkgroupNameT = Aws::String>
541 template <
typename WorkgroupVersionT = Aws::String>
543 m_workgroupVersionHasBeenSet =
true;
544 m_workgroupVersion = std::forward<WorkgroupVersionT>(value);
546 template <
typename WorkgroupVersionT = Aws::String>
553 int m_baseCapacity{0};
569 bool m_enhancedVpcRouting{
false};
571 bool m_extraComputeForAutomaticOptimization{
false};
575 int m_maxCapacity{0};
585 PerformanceTarget m_pricePerformanceTarget;
587 bool m_publiclyAccessible{
false};
604 bool m_baseCapacityHasBeenSet =
false;
605 bool m_configParametersHasBeenSet =
false;
606 bool m_creationDateHasBeenSet =
false;
607 bool m_crossAccountVpcsHasBeenSet =
false;
608 bool m_customDomainCertificateArnHasBeenSet =
false;
609 bool m_customDomainCertificateExpiryTimeHasBeenSet =
false;
610 bool m_customDomainNameHasBeenSet =
false;
611 bool m_endpointHasBeenSet =
false;
612 bool m_enhancedVpcRoutingHasBeenSet =
false;
613 bool m_extraComputeForAutomaticOptimizationHasBeenSet =
false;
614 bool m_ipAddressTypeHasBeenSet =
false;
615 bool m_maxCapacityHasBeenSet =
false;
616 bool m_namespaceNameHasBeenSet =
false;
617 bool m_patchVersionHasBeenSet =
false;
618 bool m_pendingTrackNameHasBeenSet =
false;
619 bool m_portHasBeenSet =
false;
620 bool m_pricePerformanceTargetHasBeenSet =
false;
621 bool m_publiclyAccessibleHasBeenSet =
false;
622 bool m_securityGroupIdsHasBeenSet =
false;
623 bool m_statusHasBeenSet =
false;
624 bool m_subnetIdsHasBeenSet =
false;
625 bool m_trackNameHasBeenSet =
false;
626 bool m_workgroupArnHasBeenSet =
false;
627 bool m_workgroupIdHasBeenSet =
false;
628 bool m_workgroupNameHasBeenSet =
false;
629 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 & WithExtraComputeForAutomaticOptimization(bool value)
Workgroup & WithWorkgroupId(WorkgroupIdT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
void SetExtraComputeForAutomaticOptimization(bool 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 ExtraComputeForAutomaticOptimizationHasBeenSet() const
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 GetExtraComputeForAutomaticOptimization() const
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