Class: AWSCDK::RedshiftServerless::CfnWorkgroup::WorkgroupProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
redshift_serverless/cfn_workgroup.rb

Overview

The collection of computing resources from which an endpoint is created.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base_capacity: nil, config_parameters: nil, creation_date: nil, endpoint: nil, enhanced_vpc_routing: nil, max_capacity: nil, namespace_name: nil, price_performance_target: nil, publicly_accessible: nil, security_group_ids: nil, status: nil, subnet_ids: nil, track_name: nil, workgroup_arn: nil, workgroup_id: nil, workgroup_name: nil) ⇒ WorkgroupProperty

Returns a new instance of WorkgroupProperty.

Parameters:

  • base_capacity (Numeric, nil) (defaults to: nil)

    The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).

  • config_parameters (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::RedshiftServerless::CfnWorkgroup::ConfigParameterProperty>, nil) (defaults to: nil)

    An array of parameters to set for advanced control over a database.

  • creation_date (String, nil) (defaults to: nil)

    The creation date of the workgroup.

  • endpoint (AWSCDK::IResolvable, AWSCDK::RedshiftServerless::CfnWorkgroup::EndpointProperty, nil) (defaults to: nil)

    The endpoint that is created from the workgroup.

  • enhanced_vpc_routing (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.

  • max_capacity (Numeric, nil) (defaults to: nil)

    The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries.

  • namespace_name (String, nil) (defaults to: nil)

    The namespace the workgroup is associated with.

  • price_performance_target (AWSCDK::IResolvable, AWSCDK::RedshiftServerless::CfnWorkgroup::PerformanceTargetProperty, nil) (defaults to: nil)

    An object that represents the price performance target settings for the workgroup.

  • publicly_accessible (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    A value that specifies whether the workgroup can be accessible from a public network.

  • security_group_ids (Array<String>, nil) (defaults to: nil)

    An array of security group IDs to associate with the workgroup.

  • status (String, nil) (defaults to: nil)

    The status of the workgroup.

  • subnet_ids (Array<String>, nil) (defaults to: nil)

    An array of subnet IDs the workgroup is associated with.

  • track_name (String, nil) (defaults to: nil)

    The name of the track for the workgroup.

  • workgroup_arn (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) that links to the workgroup.

  • workgroup_id (String, nil) (defaults to: nil)

    The unique identifier of the workgroup.

  • workgroup_name (String, nil) (defaults to: nil)

    The name of the workgroup.



1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
# File 'redshift_serverless/cfn_workgroup.rb', line 1149

def initialize(base_capacity: nil, config_parameters: nil, creation_date: nil, endpoint: nil, enhanced_vpc_routing: nil, max_capacity: nil, namespace_name: nil, price_performance_target: nil, publicly_accessible: nil, security_group_ids: nil, status: nil, subnet_ids: nil, track_name: nil, workgroup_arn: nil, workgroup_id: nil, workgroup_name: nil)
  @base_capacity = base_capacity
  Jsii::Type.check_type(@base_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "baseCapacity") unless @base_capacity.nil?
  @config_parameters = config_parameters
  Jsii::Type.check_type(@config_parameters, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVkc2hpZnRzZXJ2ZXJsZXNzLkNmbldvcmtncm91cC5Db25maWdQYXJhbWV0ZXJQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "configParameters") unless @config_parameters.nil?
  @creation_date = creation_date
  Jsii::Type.check_type(@creation_date, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "creationDate") unless @creation_date.nil?
  @endpoint = endpoint.is_a?(Hash) ? ::AWSCDK::RedshiftServerless::CfnWorkgroup::EndpointProperty.new(**endpoint.transform_keys(&:to_sym)) : endpoint
  Jsii::Type.check_type(@endpoint, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdHNlcnZlcmxlc3MuQ2ZuV29ya2dyb3VwLkVuZHBvaW50UHJvcGVydHkifV19fQ==")), "endpoint") unless @endpoint.nil?
  @enhanced_vpc_routing = enhanced_vpc_routing
  Jsii::Type.check_type(@enhanced_vpc_routing, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "enhancedVpcRouting") unless @enhanced_vpc_routing.nil?
  @max_capacity = max_capacity
  Jsii::Type.check_type(@max_capacity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxCapacity") unless @max_capacity.nil?
  @namespace_name = namespace_name
  Jsii::Type.check_type(@namespace_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespaceName") unless @namespace_name.nil?
  @price_performance_target = price_performance_target.is_a?(Hash) ? ::AWSCDK::RedshiftServerless::CfnWorkgroup::PerformanceTargetProperty.new(**price_performance_target.transform_keys(&:to_sym)) : price_performance_target
  Jsii::Type.check_type(@price_performance_target, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdHNlcnZlcmxlc3MuQ2ZuV29ya2dyb3VwLlBlcmZvcm1hbmNlVGFyZ2V0UHJvcGVydHkifV19fQ==")), "pricePerformanceTarget") unless @price_performance_target.nil?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil?
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.nil?
  @track_name = track_name
  Jsii::Type.check_type(@track_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trackName") unless @track_name.nil?
  @workgroup_arn = workgroup_arn
  Jsii::Type.check_type(@workgroup_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workgroupArn") unless @workgroup_arn.nil?
  @workgroup_id = workgroup_id
  Jsii::Type.check_type(@workgroup_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workgroupId") unless @workgroup_id.nil?
  @workgroup_name = workgroup_name
  Jsii::Type.check_type(@workgroup_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workgroupName") unless @workgroup_name.nil?
end

Instance Attribute Details

#base_capacityNumeric? (readonly)

The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).



1188
1189
1190
# File 'redshift_serverless/cfn_workgroup.rb', line 1188

def base_capacity
  @base_capacity
end

#config_parametersAWSCDK::IResolvable, ... (readonly)

An array of parameters to set for advanced control over a database.

The options are auto_mv , datestyle , enable_case_sensitive_identifier , enable_user_activity_logging , query_group , search_path , require_ssl , use_fips_ssl , 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 .



1195
1196
1197
# File 'redshift_serverless/cfn_workgroup.rb', line 1195

def config_parameters
  @config_parameters
end

#creation_dateString? (readonly)

The creation date of the workgroup.



1200
1201
1202
# File 'redshift_serverless/cfn_workgroup.rb', line 1200

def creation_date
  @creation_date
end

#endpointAWSCDK::IResolvable, ... (readonly)

The endpoint that is created from the workgroup.



1205
1206
1207
# File 'redshift_serverless/cfn_workgroup.rb', line 1205

def endpoint
  @endpoint
end

#enhanced_vpc_routingBoolean, ... (readonly)

The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.



1210
1211
1212
# File 'redshift_serverless/cfn_workgroup.rb', line 1210

def enhanced_vpc_routing
  @enhanced_vpc_routing
end

#max_capacityNumeric? (readonly)

The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries.

The max capacity is specified in RPUs.



1217
1218
1219
# File 'redshift_serverless/cfn_workgroup.rb', line 1217

def max_capacity
  @max_capacity
end

#namespace_nameString? (readonly)

The namespace the workgroup is associated with.



1222
1223
1224
# File 'redshift_serverless/cfn_workgroup.rb', line 1222

def namespace_name
  @namespace_name
end

#price_performance_targetAWSCDK::IResolvable, ... (readonly)

An object that represents the price performance target settings for the workgroup.



1227
1228
1229
# File 'redshift_serverless/cfn_workgroup.rb', line 1227

def price_performance_target
  @price_performance_target
end

#publicly_accessibleBoolean, ... (readonly)

A value that specifies whether the workgroup can be accessible from a public network.



1232
1233
1234
# File 'redshift_serverless/cfn_workgroup.rb', line 1232

def publicly_accessible
  @publicly_accessible
end

#security_group_idsArray<String>? (readonly)

An array of security group IDs to associate with the workgroup.



1237
1238
1239
# File 'redshift_serverless/cfn_workgroup.rb', line 1237

def security_group_ids
  @security_group_ids
end

#statusString? (readonly)

The status of the workgroup.



1242
1243
1244
# File 'redshift_serverless/cfn_workgroup.rb', line 1242

def status
  @status
end

#subnet_idsArray<String>? (readonly)

An array of subnet IDs the workgroup is associated with.



1247
1248
1249
# File 'redshift_serverless/cfn_workgroup.rb', line 1247

def subnet_ids
  @subnet_ids
end

#track_nameString? (readonly)

The name of the track for the workgroup.



1252
1253
1254
# File 'redshift_serverless/cfn_workgroup.rb', line 1252

def track_name
  @track_name
end

#workgroup_arnString? (readonly)

The Amazon Resource Name (ARN) that links to the workgroup.



1257
1258
1259
# File 'redshift_serverless/cfn_workgroup.rb', line 1257

def workgroup_arn
  @workgroup_arn
end

#workgroup_idString? (readonly)

The unique identifier of the workgroup.



1262
1263
1264
# File 'redshift_serverless/cfn_workgroup.rb', line 1262

def workgroup_id
  @workgroup_id
end

#workgroup_nameString? (readonly)

The name of the workgroup.



1267
1268
1269
# File 'redshift_serverless/cfn_workgroup.rb', line 1267

def workgroup_name
  @workgroup_name
end

Class Method Details

.jsii_propertiesObject



1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
# File 'redshift_serverless/cfn_workgroup.rb', line 1269

def self.jsii_properties
  {
    :base_capacity => "baseCapacity",
    :config_parameters => "configParameters",
    :creation_date => "creationDate",
    :endpoint => "endpoint",
    :enhanced_vpc_routing => "enhancedVpcRouting",
    :max_capacity => "maxCapacity",
    :namespace_name => "namespaceName",
    :price_performance_target => "pricePerformanceTarget",
    :publicly_accessible => "publiclyAccessible",
    :security_group_ids => "securityGroupIds",
    :status => "status",
    :subnet_ids => "subnetIds",
    :track_name => "trackName",
    :workgroup_arn => "workgroupArn",
    :workgroup_id => "workgroupId",
    :workgroup_name => "workgroupName",
  }
end

Instance Method Details

#to_jsiiObject



1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
# File 'redshift_serverless/cfn_workgroup.rb', line 1290

def to_jsii
  result = {}
  result.merge!({
    "baseCapacity" => @base_capacity,
    "configParameters" => @config_parameters,
    "creationDate" => @creation_date,
    "endpoint" => @endpoint,
    "enhancedVpcRouting" => @enhanced_vpc_routing,
    "maxCapacity" => @max_capacity,
    "namespaceName" => @namespace_name,
    "pricePerformanceTarget" => @price_performance_target,
    "publiclyAccessible" => @publicly_accessible,
    "securityGroupIds" => @security_group_ids,
    "status" => @status,
    "subnetIds" => @subnet_ids,
    "trackName" => @track_name,
    "workgroupArn" => @workgroup_arn,
    "workgroupId" => @workgroup_id,
    "workgroupName" => @workgroup_name,
  })
  result.compact
end