/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The collection of computing resources from which an endpoint is
* created.See Also:
AWS
* API Reference
The base data warehouse capacity of the workgroup in Redshift Processing * Units (RPUs).
*/ inline int GetBaseCapacity() const{ return m_baseCapacity; } /** *The base data warehouse capacity of the workgroup in Redshift Processing * Units (RPUs).
*/ inline bool BaseCapacityHasBeenSet() const { return m_baseCapacityHasBeenSet; } /** *The base data warehouse capacity of the workgroup in Redshift Processing * Units (RPUs).
*/ inline void SetBaseCapacity(int value) { m_baseCapacityHasBeenSet = true; m_baseCapacity = value; } /** *The base data warehouse capacity of the workgroup in Redshift Processing * Units (RPUs).
*/ inline Workgroup& WithBaseCapacity(int value) { SetBaseCapacity(value); return *this;} /** *An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The
* options are auto_mv
, datestyle
,
* enable_case_sensitivity_identifier
,
* enable_user_activity_logging
, query_group
, ,
* search_path
, and query monitoring metrics that let you define
* performance boundaries. For more information about query monitoring rules and
* available metrics, see
* Query monitoring metrics for Amazon Redshift Serverless.
The creation date of the workgroup.
*/ inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; } /** *The creation date of the workgroup.
*/ inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; } /** *The creation date of the workgroup.
*/ inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; } /** *The creation date of the workgroup.
*/ inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); } /** *The creation date of the workgroup.
*/ inline Workgroup& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;} /** *The creation date of the workgroup.
*/ inline Workgroup& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;} /** *The endpoint that is created from the workgroup.
*/ inline const Endpoint& GetEndpoint() const{ return m_endpoint; } /** *The endpoint that is created from the workgroup.
*/ inline bool EndpointHasBeenSet() const { return m_endpointHasBeenSet; } /** *The endpoint that is created from the workgroup.
*/ inline void SetEndpoint(const Endpoint& value) { m_endpointHasBeenSet = true; m_endpoint = value; } /** *The endpoint that is created from the workgroup.
*/ inline void SetEndpoint(Endpoint&& value) { m_endpointHasBeenSet = true; m_endpoint = std::move(value); } /** *The endpoint that is created from the workgroup.
*/ inline Workgroup& WithEndpoint(const Endpoint& value) { SetEndpoint(value); return *this;} /** *The endpoint that is created from the workgroup.
*/ inline Workgroup& WithEndpoint(Endpoint&& value) { SetEndpoint(std::move(value)); return *this;} /** *The value that specifies whether to enable enhanced virtual private cloud * (VPC) routing, which forces Amazon Redshift Serverless to route traffic through * your VPC.
*/ inline bool GetEnhancedVpcRouting() const{ return m_enhancedVpcRouting; } /** *The value that specifies whether to enable enhanced virtual private cloud * (VPC) routing, which forces Amazon Redshift Serverless to route traffic through * your VPC.
*/ inline bool EnhancedVpcRoutingHasBeenSet() const { return m_enhancedVpcRoutingHasBeenSet; } /** *The value that specifies whether to enable enhanced virtual private cloud * (VPC) routing, which forces Amazon Redshift Serverless to route traffic through * your VPC.
*/ inline void SetEnhancedVpcRouting(bool value) { m_enhancedVpcRoutingHasBeenSet = true; m_enhancedVpcRouting = value; } /** *The value that specifies whether to enable enhanced virtual private cloud * (VPC) routing, which forces Amazon Redshift Serverless to route traffic through * your VPC.
*/ inline Workgroup& WithEnhancedVpcRouting(bool value) { SetEnhancedVpcRouting(value); return *this;} /** *The namespace the workgroup is associated with.
*/ inline const Aws::String& GetNamespaceName() const{ return m_namespaceName; } /** *The namespace the workgroup is associated with.
*/ inline bool NamespaceNameHasBeenSet() const { return m_namespaceNameHasBeenSet; } /** *The namespace the workgroup is associated with.
*/ inline void SetNamespaceName(const Aws::String& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = value; } /** *The namespace the workgroup is associated with.
*/ inline void SetNamespaceName(Aws::String&& value) { m_namespaceNameHasBeenSet = true; m_namespaceName = std::move(value); } /** *The namespace the workgroup is associated with.
*/ inline void SetNamespaceName(const char* value) { m_namespaceNameHasBeenSet = true; m_namespaceName.assign(value); } /** *The namespace the workgroup is associated with.
*/ inline Workgroup& WithNamespaceName(const Aws::String& value) { SetNamespaceName(value); return *this;} /** *The namespace the workgroup is associated with.
*/ inline Workgroup& WithNamespaceName(Aws::String&& value) { SetNamespaceName(std::move(value)); return *this;} /** *The namespace the workgroup is associated with.
*/ inline Workgroup& WithNamespaceName(const char* value) { SetNamespaceName(value); return *this;} /** *The custom port to use when connecting to a workgroup. Valid port ranges are * 5431-5455 and 8191-8215. The default is 5439.
*/ inline int GetPort() const{ return m_port; } /** *The custom port to use when connecting to a workgroup. Valid port ranges are * 5431-5455 and 8191-8215. The default is 5439.
*/ inline bool PortHasBeenSet() const { return m_portHasBeenSet; } /** *The custom port to use when connecting to a workgroup. Valid port ranges are * 5431-5455 and 8191-8215. The default is 5439.
*/ inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; } /** *The custom port to use when connecting to a workgroup. Valid port ranges are * 5431-5455 and 8191-8215. The default is 5439.
*/ inline Workgroup& WithPort(int value) { SetPort(value); return *this;} /** *A value that specifies whether the workgroup can be accessible from a public * network
*/ inline bool GetPubliclyAccessible() const{ return m_publiclyAccessible; } /** *A value that specifies whether the workgroup can be accessible from a public * network
*/ inline bool PubliclyAccessibleHasBeenSet() const { return m_publiclyAccessibleHasBeenSet; } /** *A value that specifies whether the workgroup can be accessible from a public * network
*/ inline void SetPubliclyAccessible(bool value) { m_publiclyAccessibleHasBeenSet = true; m_publiclyAccessible = value; } /** *A value that specifies whether the workgroup can be accessible from a public * network
*/ inline Workgroup& WithPubliclyAccessible(bool value) { SetPubliclyAccessible(value); return *this;} /** *An array of security group IDs to associate with the workgroup.
*/ inline const Aws::VectorAn array of security group IDs to associate with the workgroup.
*/ inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; } /** *An array of security group IDs to associate with the workgroup.
*/ inline void SetSecurityGroupIds(const Aws::VectorAn array of security group IDs to associate with the workgroup.
*/ inline void SetSecurityGroupIds(Aws::VectorAn array of security group IDs to associate with the workgroup.
*/ inline Workgroup& WithSecurityGroupIds(const Aws::VectorAn array of security group IDs to associate with the workgroup.
*/ inline Workgroup& WithSecurityGroupIds(Aws::VectorAn array of security group IDs to associate with the workgroup.
*/ inline Workgroup& AddSecurityGroupIds(const Aws::String& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *An array of security group IDs to associate with the workgroup.
*/ inline Workgroup& AddSecurityGroupIds(Aws::String&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(std::move(value)); return *this; } /** *An array of security group IDs to associate with the workgroup.
*/ inline Workgroup& AddSecurityGroupIds(const char* value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.push_back(value); return *this; } /** *The status of the workgroup.
*/ inline const WorkgroupStatus& GetStatus() const{ return m_status; } /** *The status of the workgroup.
*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *The status of the workgroup.
*/ inline void SetStatus(const WorkgroupStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *The status of the workgroup.
*/ inline void SetStatus(WorkgroupStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *The status of the workgroup.
*/ inline Workgroup& WithStatus(const WorkgroupStatus& value) { SetStatus(value); return *this;} /** *The status of the workgroup.
*/ inline Workgroup& WithStatus(WorkgroupStatus&& value) { SetStatus(std::move(value)); return *this;} /** *An array of subnet IDs the workgroup is associated with.
*/ inline const Aws::VectorAn array of subnet IDs the workgroup is associated with.
*/ inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; } /** *An array of subnet IDs the workgroup is associated with.
*/ inline void SetSubnetIds(const Aws::VectorAn array of subnet IDs the workgroup is associated with.
*/ inline void SetSubnetIds(Aws::VectorAn array of subnet IDs the workgroup is associated with.
*/ inline Workgroup& WithSubnetIds(const Aws::VectorAn array of subnet IDs the workgroup is associated with.
*/ inline Workgroup& WithSubnetIds(Aws::VectorAn array of subnet IDs the workgroup is associated with.
*/ inline Workgroup& AddSubnetIds(const Aws::String& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *An array of subnet IDs the workgroup is associated with.
*/ inline Workgroup& AddSubnetIds(Aws::String&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(std::move(value)); return *this; } /** *An array of subnet IDs the workgroup is associated with.
*/ inline Workgroup& AddSubnetIds(const char* value) { m_subnetIdsHasBeenSet = true; m_subnetIds.push_back(value); return *this; } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline const Aws::String& GetWorkgroupArn() const{ return m_workgroupArn; } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline bool WorkgroupArnHasBeenSet() const { return m_workgroupArnHasBeenSet; } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline void SetWorkgroupArn(const Aws::String& value) { m_workgroupArnHasBeenSet = true; m_workgroupArn = value; } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline void SetWorkgroupArn(Aws::String&& value) { m_workgroupArnHasBeenSet = true; m_workgroupArn = std::move(value); } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline void SetWorkgroupArn(const char* value) { m_workgroupArnHasBeenSet = true; m_workgroupArn.assign(value); } /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline Workgroup& WithWorkgroupArn(const Aws::String& value) { SetWorkgroupArn(value); return *this;} /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline Workgroup& WithWorkgroupArn(Aws::String&& value) { SetWorkgroupArn(std::move(value)); return *this;} /** *The Amazon Resource Name (ARN) that links to the workgroup.
*/ inline Workgroup& WithWorkgroupArn(const char* value) { SetWorkgroupArn(value); return *this;} /** *The unique identifier of the workgroup.
*/ inline const Aws::String& GetWorkgroupId() const{ return m_workgroupId; } /** *The unique identifier of the workgroup.
*/ inline bool WorkgroupIdHasBeenSet() const { return m_workgroupIdHasBeenSet; } /** *The unique identifier of the workgroup.
*/ inline void SetWorkgroupId(const Aws::String& value) { m_workgroupIdHasBeenSet = true; m_workgroupId = value; } /** *The unique identifier of the workgroup.
*/ inline void SetWorkgroupId(Aws::String&& value) { m_workgroupIdHasBeenSet = true; m_workgroupId = std::move(value); } /** *The unique identifier of the workgroup.
*/ inline void SetWorkgroupId(const char* value) { m_workgroupIdHasBeenSet = true; m_workgroupId.assign(value); } /** *The unique identifier of the workgroup.
*/ inline Workgroup& WithWorkgroupId(const Aws::String& value) { SetWorkgroupId(value); return *this;} /** *The unique identifier of the workgroup.
*/ inline Workgroup& WithWorkgroupId(Aws::String&& value) { SetWorkgroupId(std::move(value)); return *this;} /** *The unique identifier of the workgroup.
*/ inline Workgroup& WithWorkgroupId(const char* value) { SetWorkgroupId(value); return *this;} /** *The name of the workgroup.
*/ inline const Aws::String& GetWorkgroupName() const{ return m_workgroupName; } /** *The name of the workgroup.
*/ inline bool WorkgroupNameHasBeenSet() const { return m_workgroupNameHasBeenSet; } /** *The name of the workgroup.
*/ inline void SetWorkgroupName(const Aws::String& value) { m_workgroupNameHasBeenSet = true; m_workgroupName = value; } /** *The name of the workgroup.
*/ inline void SetWorkgroupName(Aws::String&& value) { m_workgroupNameHasBeenSet = true; m_workgroupName = std::move(value); } /** *The name of the workgroup.
*/ inline void SetWorkgroupName(const char* value) { m_workgroupNameHasBeenSet = true; m_workgroupName.assign(value); } /** *The name of the workgroup.
*/ inline Workgroup& WithWorkgroupName(const Aws::String& value) { SetWorkgroupName(value); return *this;} /** *The name of the workgroup.
*/ inline Workgroup& WithWorkgroupName(Aws::String&& value) { SetWorkgroupName(std::move(value)); return *this;} /** *The name of the workgroup.
*/ inline Workgroup& WithWorkgroupName(const char* value) { SetWorkgroupName(value); return *this;} private: int m_baseCapacity; bool m_baseCapacityHasBeenSet = false; Aws::Vector