Class: AWSCDK::RDS::CfnDBProxyProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::RDS::CfnDBProxyProps
- Defined in:
- rds/cfn_db_proxy_props.rb
Overview
Properties for defining a CfnDBProxy.
Instance Attribute Summary collapse
-
#auth ⇒ AWSCDK::IResolvable, ...
readonly
The authorization mechanism that the proxy uses.
-
#db_proxy_name ⇒ String
readonly
The identifier for the proxy.
-
#debug_logging ⇒ Boolean, ...
readonly
Specifies whether the proxy logs detailed connection and query information.
-
#default_auth_scheme ⇒ String?
readonly
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?
readonly
The network type of the DB proxy endpoint.
-
#engine_family ⇒ String
readonly
The kinds of databases that the proxy can connect to.
-
#idle_client_timeout ⇒ Numeric?
readonly
The number of seconds that a connection to the proxy can be inactive before the proxy disconnects it.
-
#require_tls ⇒ Boolean, ...
readonly
Specifies whether Transport Layer Security (TLS) encryption is required for connections to the proxy.
-
#role_arn ⇒ String, 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.
-
#tags ⇒ Array<AWSCDK::RDS::CfnDBProxy::TagFormatProperty>?
readonly
An optional set of key-value pairs to associate arbitrary data of your choosing with the proxy.
-
#target_connection_network_type ⇒ String?
readonly
The network type that the proxy uses to connect to the target database.
-
#vpc_security_group_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISecurityGroupRef>?
readonly
One or more VPC security group IDs to associate with the new proxy.
-
#vpc_subnet_ids ⇒ Array<String, AWSCDK::Interfaces::AWSEC2::ISubnetRef>
readonly
One or more VPC subnet IDs to associate with the new proxy.
Class Method Summary collapse
Instance Method Summary collapse
-
#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
constructor
A new instance of CfnDBProxyProps.
- #to_jsii ⇒ Object
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.
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 = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::RDS::CfnDBProxy::TagFormatProperty.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : 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
#auth ⇒ AWSCDK::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_name ⇒ String (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_logging ⇒ Boolean, ... (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_scheme ⇒ String? (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_type ⇒ String? (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_family ⇒ String (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_timeout ⇒ Numeric? (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_tls ⇒ Boolean, ... (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_arn ⇒ String, 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 |
#tags ⇒ Array<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 end |
#target_connection_network_type ⇒ String? (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_ids ⇒ Array<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_ids ⇒ Array<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_properties ⇒ Object
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_jsii ⇒ Object
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 |