Class: AWSCDK::RedshiftServerless::CfnWorkgroupProps

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

Overview

Properties for defining a CfnWorkgroup.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(workgroup_name:, base_capacity: nil, config_parameters: nil, enhanced_vpc_routing: nil, max_capacity: nil, namespace_name: nil, port: nil, price_performance_target: nil, publicly_accessible: nil, recovery_point_id: nil, security_group_ids: nil, snapshot_arn: nil, snapshot_name: nil, snapshot_owner_account: nil, subnet_ids: nil, tags: nil, track_name: nil, workgroup: nil) ⇒ CfnWorkgroupProps

Returns a new instance of CfnWorkgroupProps.

Parameters:

  • workgroup_name (String)

    The name of the workgroup.

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

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

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

    The key of the parameter.

  • 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.

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

    The custom port to use when connecting to a workgroup.

  • 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.

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

    The recovery point id to restore from.

  • security_group_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>, nil) (defaults to: nil)

    A list of security group IDs to associate with the workgroup.

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

    The Amazon Resource Name (ARN) of the snapshot to restore from.

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

    The snapshot name to restore from.

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

    The Amazon Web Services account that owns the snapshot.

  • subnet_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>, nil) (defaults to: nil)

    A list of subnet IDs the workgroup is associated with.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    The map of the key-value pairs used to tag the workgroup.

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

    An optional parameter for the name of the track for the workgroup.

  • workgroup (AWSCDK::IResolvable, AWSCDK::RedshiftServerless::CfnWorkgroup::WorkgroupProperty, nil) (defaults to: nil)

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



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'redshift_serverless/cfn_workgroup_props.rb', line 27

def initialize(workgroup_name:, base_capacity: nil, config_parameters: nil, enhanced_vpc_routing: nil, max_capacity: nil, namespace_name: nil, port: nil, price_performance_target: nil, publicly_accessible: nil, recovery_point_id: nil, security_group_ids: nil, snapshot_arn: nil, snapshot_name: nil, snapshot_owner_account: nil, subnet_ids: nil, tags: nil, track_name: nil, workgroup: nil)
  @workgroup_name = workgroup_name
  Jsii::Type.check_type(@workgroup_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workgroupName")
  @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?
  @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?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.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?
  @recovery_point_id = recovery_point_id
  Jsii::Type.check_type(@recovery_point_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "recoveryPointId") unless @recovery_point_id.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @snapshot_arn = snapshot_arn
  Jsii::Type.check_type(@snapshot_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotArn") unless @snapshot_arn.nil?
  @snapshot_name = snapshot_name
  Jsii::Type.check_type(@snapshot_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotName") unless @snapshot_name.nil?
  @snapshot_owner_account = 
  Jsii::Type.check_type(@snapshot_owner_account, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "snapshotOwnerAccount") unless @snapshot_owner_account.nil?
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU3VibmV0UmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "subnetIds") unless @subnet_ids.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @track_name = track_name
  Jsii::Type.check_type(@track_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trackName") unless @track_name.nil?
  @workgroup = workgroup.is_a?(Hash) ? ::AWSCDK::RedshiftServerless::CfnWorkgroup::WorkgroupProperty.new(**workgroup.transform_keys(&:to_sym)) : workgroup
  Jsii::Type.check_type(@workgroup, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZWRzaGlmdHNlcnZlcmxlc3MuQ2ZuV29ya2dyb3VwLldvcmtncm91cFByb3BlcnR5In1dfX0=")), "workgroup") unless @workgroup.nil?
end

Instance Attribute Details

#base_capacityNumeric? (readonly)

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



75
76
77
# File 'redshift_serverless/cfn_workgroup_props.rb', line 75

def base_capacity
  @base_capacity
end

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

The key of the parameter.

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 .



82
83
84
# File 'redshift_serverless/cfn_workgroup_props.rb', line 82

def config_parameters
  @config_parameters
end

#enhanced_vpc_routingBoolean, ... (readonly)

Note:

Default: - false

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



88
89
90
# File 'redshift_serverless/cfn_workgroup_props.rb', line 88

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.



95
96
97
# File 'redshift_serverless/cfn_workgroup_props.rb', line 95

def max_capacity
  @max_capacity
end

#namespace_nameString? (readonly)

The namespace the workgroup is associated with.



100
101
102
# File 'redshift_serverless/cfn_workgroup_props.rb', line 100

def namespace_name
  @namespace_name
end

#portNumeric? (readonly)

The custom port to use when connecting to a workgroup.

Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.



107
108
109
# File 'redshift_serverless/cfn_workgroup_props.rb', line 107

def port
  @port
end

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

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



112
113
114
# File 'redshift_serverless/cfn_workgroup_props.rb', line 112

def price_performance_target
  @price_performance_target
end

#publicly_accessibleBoolean, ... (readonly)

Note:

Default: - false

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



118
119
120
# File 'redshift_serverless/cfn_workgroup_props.rb', line 118

def publicly_accessible
  @publicly_accessible
end

#recovery_point_idString? (readonly)

The recovery point id to restore from.



123
124
125
# File 'redshift_serverless/cfn_workgroup_props.rb', line 123

def recovery_point_id
  @recovery_point_id
end

#security_group_idsArray<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>? (readonly)

A list of security group IDs to associate with the workgroup.



128
129
130
# File 'redshift_serverless/cfn_workgroup_props.rb', line 128

def security_group_ids
  @security_group_ids
end

#snapshot_arnString? (readonly)

The Amazon Resource Name (ARN) of the snapshot to restore from.



133
134
135
# File 'redshift_serverless/cfn_workgroup_props.rb', line 133

def snapshot_arn
  @snapshot_arn
end

#snapshot_nameString? (readonly)

The snapshot name to restore from.



138
139
140
# File 'redshift_serverless/cfn_workgroup_props.rb', line 138

def snapshot_name
  @snapshot_name
end

#snapshot_owner_accountString? (readonly)

The Amazon Web Services account that owns the snapshot.



143
144
145
# File 'redshift_serverless/cfn_workgroup_props.rb', line 143

def 
  @snapshot_owner_account
end

#subnet_idsArray<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>? (readonly)

A list of subnet IDs the workgroup is associated with.



148
149
150
# File 'redshift_serverless/cfn_workgroup_props.rb', line 148

def subnet_ids
  @subnet_ids
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

The map of the key-value pairs used to tag the workgroup.



153
154
155
# File 'redshift_serverless/cfn_workgroup_props.rb', line 153

def tags
  @tags
end

#track_nameString? (readonly)

An optional parameter for the name of the track for the workgroup.

If you don't provide a track name, the workgroup is assigned to the current track.



160
161
162
# File 'redshift_serverless/cfn_workgroup_props.rb', line 160

def track_name
  @track_name
end

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

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



165
166
167
# File 'redshift_serverless/cfn_workgroup_props.rb', line 165

def workgroup
  @workgroup
end

#workgroup_nameString (readonly)

The name of the workgroup.



70
71
72
# File 'redshift_serverless/cfn_workgroup_props.rb', line 70

def workgroup_name
  @workgroup_name
end

Class Method Details

.jsii_propertiesObject



167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'redshift_serverless/cfn_workgroup_props.rb', line 167

def self.jsii_properties
  {
    :workgroup_name => "workgroupName",
    :base_capacity => "baseCapacity",
    :config_parameters => "configParameters",
    :enhanced_vpc_routing => "enhancedVpcRouting",
    :max_capacity => "maxCapacity",
    :namespace_name => "namespaceName",
    :port => "port",
    :price_performance_target => "pricePerformanceTarget",
    :publicly_accessible => "publiclyAccessible",
    :recovery_point_id => "recoveryPointId",
    :security_group_ids => "securityGroupIds",
    :snapshot_arn => "snapshotArn",
    :snapshot_name => "snapshotName",
    :snapshot_owner_account => "snapshotOwnerAccount",
    :subnet_ids => "subnetIds",
    :tags => "tags",
    :track_name => "trackName",
    :workgroup => "workgroup",
  }
end

Instance Method Details

#to_jsiiObject



190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# File 'redshift_serverless/cfn_workgroup_props.rb', line 190

def to_jsii
  result = {}
  result.merge!({
    "workgroupName" => @workgroup_name,
    "baseCapacity" => @base_capacity,
    "configParameters" => @config_parameters,
    "enhancedVpcRouting" => @enhanced_vpc_routing,
    "maxCapacity" => @max_capacity,
    "namespaceName" => @namespace_name,
    "port" => @port,
    "pricePerformanceTarget" => @price_performance_target,
    "publiclyAccessible" => @publicly_accessible,
    "recoveryPointId" => @recovery_point_id,
    "securityGroupIds" => @security_group_ids,
    "snapshotArn" => @snapshot_arn,
    "snapshotName" => @snapshot_name,
    "snapshotOwnerAccount" => @snapshot_owner_account,
    "subnetIds" => @subnet_ids,
    "tags" => @tags,
    "trackName" => @track_name,
    "workgroup" => @workgroup,
  })
  result.compact
end