Class: AWSCDK::RDS::CfnDBProxyProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
rds/cfn_db_proxy_props.rb

Overview

Properties for defining a CfnDBProxy.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db_proxy_name:, engine_family:, role_arn:, vpc_subnet_ids:, auth: nil, debug_logging: nil, default_auth_scheme: nil, endpoint_network_type: nil, idle_client_timeout: nil, require_tls: nil, tags: nil, target_connection_network_type: nil, vpc_security_group_ids: nil) ⇒ CfnDBProxyProps

Returns a new instance of CfnDBProxyProps.

Parameters:

  • db_proxy_name (String)

    The identifier for the proxy.

  • engine_family (String)

    The kinds of databases that the proxy can connect to.

  • role_arn (String, AWSCDK::Interfaces::AWSIAM::IRoleRef)

    The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.

  • vpc_subnet_ids (Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>)

    One or more VPC subnet IDs to associate with the new proxy.

  • auth (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::RDS::CfnDBProxy::AuthFormatProperty>, nil) (defaults to: nil)

    The authorization mechanism that the proxy uses.

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

    Specifies whether the proxy logs detailed connection and query information.

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

    The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database.

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

    The network type of the DB proxy endpoint.

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

    The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it.

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

    Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

  • tags (Array<AWSCDK::RDS::CfnDBProxy::TagFormatProperty>, nil) (defaults to: nil)

    An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.

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

    The network type that the proxy uses to connect to the target database.

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

    One or more VPC security group IDs to associate with the new proxy.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'rds/cfn_db_proxy_props.rb', line 22

def initialize(db_proxy_name:, engine_family:, role_arn:, vpc_subnet_ids:, auth: nil, debug_logging: nil, default_auth_scheme: nil, endpoint_network_type: nil, idle_client_timeout: nil, require_tls: nil, tags: nil, target_connection_network_type: nil, vpc_security_group_ids: nil)
  @db_proxy_name = db_proxy_name
  Jsii::Type.check_type(@db_proxy_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbProxyName")
  @engine_family = engine_family
  Jsii::Type.check_type(@engine_family, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineFamily")
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "roleArn")
  @vpc_subnet_ids = vpc_subnet_ids
  Jsii::Type.check_type(@vpc_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU3VibmV0UmVmIn1dfX0sImtpbmQiOiJhcnJheSJ9fQ==")), "vpcSubnetIds")
  @auth = auth
  Jsii::Type.check_type(@auth, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmRzLkNmbkRCUHJveHkuQXV0aEZvcm1hdFByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "auth") unless @auth.nil?
  @debug_logging = debug_logging
  Jsii::Type.check_type(@debug_logging, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "debugLogging") unless @debug_logging.nil?
  @default_auth_scheme = default_auth_scheme
  Jsii::Type.check_type(@default_auth_scheme, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultAuthScheme") unless @default_auth_scheme.nil?
  @endpoint_network_type = endpoint_network_type
  Jsii::Type.check_type(@endpoint_network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpointNetworkType") unless @endpoint_network_type.nil?
  @idle_client_timeout = idle_client_timeout
  Jsii::Type.check_type(@idle_client_timeout, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "idleClientTimeout") unless @idle_client_timeout.nil?
  @require_tls = require_tls
  Jsii::Type.check_type(@require_tls, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "requireTls") unless @require_tls.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::RDS::CfnDBProxy::TagFormatProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19yZHMuQ2ZuREJQcm94eS5UYWdGb3JtYXRQcm9wZXJ0eSJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @target_connection_network_type = target_connection_network_type
  Jsii::Type.check_type(@target_connection_network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetConnectionNetworkType") unless @target_connection_network_type.nil?
  @vpc_security_group_ids = vpc_security_group_ids
  Jsii::Type.check_type(@vpc_security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2VjMi5JU2VjdXJpdHlHcm91cFJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil?
end

Instance Attribute Details

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

The authorization mechanism that the proxy uses.



79
80
81
# File 'rds/cfn_db_proxy_props.rb', line 79

def auth
  @auth
end

#db_proxy_nameString (readonly)

The identifier for the proxy.

This name must be unique for all proxies owned by your AWS account in the specified AWS Region . An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.



57
58
59
# File 'rds/cfn_db_proxy_props.rb', line 57

def db_proxy_name
  @db_proxy_name
end

#debug_loggingBoolean, ... (readonly)

Specifies whether the proxy logs detailed connection and query information.

When you enable DebugLogging , the proxy captures connection details and connection pool behavior from your queries. Debug logging increases CloudWatch costs and can impact proxy performance. Enable this option only when you need to troubleshoot connection or performance issues.



86
87
88
# File 'rds/cfn_db_proxy_props.rb', line 86

def debug_logging
  @debug_logging
end

#default_auth_schemeString? (readonly)

The default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database.

Valid values are NONE and IAM_AUTH . When set to IAM_AUTH , the proxy uses end-to-end IAM authentication to connect to the database.



93
94
95
# File 'rds/cfn_db_proxy_props.rb', line 93

def default_auth_scheme
  @default_auth_scheme
end

#endpoint_network_typeString? (readonly)

The network type of the DB proxy endpoint.

The network type determines the IP version that the proxy endpoint supports.

Valid values:

  • IPV4 - The proxy endpoint supports IPv4 only.
  • IPV6 - The proxy endpoint supports IPv6 only.
  • DUAL - The proxy endpoint supports both IPv4 and IPv6.


106
107
108
# File 'rds/cfn_db_proxy_props.rb', line 106

def endpoint_network_type
  @endpoint_network_type
end

#engine_familyString (readonly)

The kinds of databases that the proxy can connect to.

This value determines which database network protocol the proxy recognizes when it interprets network traffic to and from the database. For Aurora MySQL, RDS for MariaDB, and RDS for MySQL databases, specify MYSQL . For Aurora PostgreSQL and RDS for PostgreSQL databases, specify POSTGRESQL . For RDS for Microsoft SQL Server, specify SQLSERVER .



64
65
66
# File 'rds/cfn_db_proxy_props.rb', line 64

def engine_family
  @engine_family
end

#idle_client_timeoutNumeric? (readonly)

The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it.

You can set this value higher or lower than the connection timeout limit for the associated database.



113
114
115
# File 'rds/cfn_db_proxy_props.rb', line 113

def idle_client_timeout
  @idle_client_timeout
end

#require_tlsBoolean, ... (readonly)

Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy.

By enabling this setting, you can enforce encrypted TLS connections to the proxy.



120
121
122
# File 'rds/cfn_db_proxy_props.rb', line 120

def require_tls
  @require_tls
end

#role_arnString, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)

The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access secrets in AWS Secrets Manager.



69
70
71
# File 'rds/cfn_db_proxy_props.rb', line 69

def role_arn
  @role_arn
end

#tagsArray<AWSCDK::RDS::CfnDBProxy::TagFormatProperty>? (readonly)

An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.



125
126
127
# File 'rds/cfn_db_proxy_props.rb', line 125

def tags
  @tags
end

#target_connection_network_typeString? (readonly)

The network type that the proxy uses to connect to the target database.

The network type determines the IP version that the proxy uses for connections to the database.

Valid values:

  • IPV4 - The proxy connects to the database using IPv4 only.
  • IPV6 - The proxy connects to the database using IPv6 only.


137
138
139
# File 'rds/cfn_db_proxy_props.rb', line 137

def target_connection_network_type
  @target_connection_network_type
end

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

One or more VPC security group IDs to associate with the new proxy.

If you plan to update the resource, don't specify VPC security groups in a shared VPC.



144
145
146
# File 'rds/cfn_db_proxy_props.rb', line 144

def vpc_security_group_ids
  @vpc_security_group_ids
end

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

One or more VPC subnet IDs to associate with the new proxy.



74
75
76
# File 'rds/cfn_db_proxy_props.rb', line 74

def vpc_subnet_ids
  @vpc_subnet_ids
end

Class Method Details

.jsii_propertiesObject



146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'rds/cfn_db_proxy_props.rb', line 146

def self.jsii_properties
  {
    :db_proxy_name => "dbProxyName",
    :engine_family => "engineFamily",
    :role_arn => "roleArn",
    :vpc_subnet_ids => "vpcSubnetIds",
    :auth => "auth",
    :debug_logging => "debugLogging",
    :default_auth_scheme => "defaultAuthScheme",
    :endpoint_network_type => "endpointNetworkType",
    :idle_client_timeout => "idleClientTimeout",
    :require_tls => "requireTls",
    :tags => "tags",
    :target_connection_network_type => "targetConnectionNetworkType",
    :vpc_security_group_ids => "vpcSecurityGroupIds",
  }
end

Instance Method Details

#to_jsiiObject



164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'rds/cfn_db_proxy_props.rb', line 164

def to_jsii
  result = {}
  result.merge!({
    "dbProxyName" => @db_proxy_name,
    "engineFamily" => @engine_family,
    "roleArn" => @role_arn,
    "vpcSubnetIds" => @vpc_subnet_ids,
    "auth" => @auth,
    "debugLogging" => @debug_logging,
    "defaultAuthScheme" => @default_auth_scheme,
    "endpointNetworkType" => @endpoint_network_type,
    "idleClientTimeout" => @idle_client_timeout,
    "requireTls" => @require_tls,
    "tags" => @tags,
    "targetConnectionNetworkType" => @target_connection_network_type,
    "vpcSecurityGroupIds" => @vpc_security_group_ids,
  })
  result.compact
end