// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateWorkgroup`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`workgroup_name(impl ::std::convert::Into<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::workgroup_name) / [`set_workgroup_name(Option<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_workgroup_name): <p>The name of the created workgroup.</p>
/// - [`namespace_name(impl ::std::convert::Into<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::namespace_name) / [`set_namespace_name(Option<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_namespace_name): <p>The name of the namespace to associate with the workgroup.</p>
/// - [`base_capacity(i32)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::base_capacity) / [`set_base_capacity(Option<i32>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_base_capacity): <p>The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).</p>
/// - [`enhanced_vpc_routing(bool)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::enhanced_vpc_routing) / [`set_enhanced_vpc_routing(Option<bool>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_enhanced_vpc_routing): <p>The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet.</p>
/// - [`config_parameters(Vec<ConfigParameter>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::config_parameters) / [`set_config_parameters(Option<Vec<ConfigParameter>>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_config_parameters): <p>An array of parameters to set for advanced control over a database. The options are <code>auto_mv</code>, <code>datestyle</code>, <code>enable_case_sensitivity_identifier</code>, <code>enable_user_activity_logging</code>, <code>query_group</code>, <code>search_path</code>, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see <a href="https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless"> Query monitoring metrics for Amazon Redshift Serverless</a>.</p>
/// - [`security_group_ids(Vec<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::security_group_ids) / [`set_security_group_ids(Option<Vec<String>>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_security_group_ids): <p>An array of security group IDs to associate with the workgroup.</p>
/// - [`subnet_ids(Vec<String>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec<String>>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_subnet_ids): <p>An array of VPC subnet IDs to associate with the workgroup.</p>
/// - [`publicly_accessible(bool)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::publicly_accessible) / [`set_publicly_accessible(Option<bool>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_publicly_accessible): <p>A value that specifies whether the workgroup can be accessed from a public network.</p>
/// - [`tags(Vec<Tag>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::tags) / [`set_tags(Option<Vec<Tag>>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_tags): <p>A array of tag instances.</p>
/// - [`port(i32)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::port) / [`set_port(Option<i32>)`](crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::set_port): <p>The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.</p>
/// - On success, responds with [`CreateWorkgroupOutput`](crate::operation::create_workgroup::CreateWorkgroupOutput) with field(s):
/// - [`workgroup(Option<Workgroup>)`](crate::operation::create_workgroup::CreateWorkgroupOutput::workgroup): <p>The created workgroup object.</p>
/// - On failure, responds with [`SdkError<CreateWorkgroupError>`](crate::operation::create_workgroup::CreateWorkgroupError)
pub fn create_workgroup(&self) -> crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder {
crate::operation::create_workgroup::builders::CreateWorkgroupFluentBuilder::new(self.handle.clone())
}
}