Class: SDM::MTLSMysql
- Inherits:
-
Object
- Object
- SDM::MTLSMysql
- Defined in:
- lib/models/porcelain.rb
Overview
MTLSMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
Instance Attribute Summary collapse
-
#bind_interface ⇒ Object
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1).
-
#certificate_authority ⇒ Object
The CA to authenticate TLS connections with.
-
#client_certificate ⇒ Object
The certificate to authenticate TLS connections with.
-
#client_key ⇒ Object
The key to authenticate TLS connections with.
-
#database ⇒ Object
The database for healthchecks.
-
#egress_filter ⇒ Object
A filter applied to the routing logic to pin datasource to nodes.
-
#healthy ⇒ Object
True if the datasource is reachable and the credentials are valid.
-
#hostname ⇒ Object
The host to dial to initiate a connection from the egress node to this resource.
-
#id ⇒ Object
Unique identifier of the Resource.
-
#name ⇒ Object
Unique human-readable name of the Resource.
-
#password ⇒ Object
The password to authenticate with.
-
#port ⇒ Object
The port to dial to initiate a connection from the egress node to this resource.
-
#port_override ⇒ Object
The local port used by clients to connect to this resource.
-
#require_native_auth ⇒ Object
Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility).
-
#secret_store_id ⇒ Object
ID of the secret store containing credentials for this resource, if any.
-
#server_name ⇒ Object
Server name for TLS verification (unverified by StrongDM if empty).
-
#subdomain ⇒ Object
Subdomain is the local DNS address.
-
#tags ⇒ Object
Tags is a map of key, value pairs.
-
#use_azure_single_server_usernames ⇒ Object
If true, appends the hostname to the username when hitting a database.azure.com address.
-
#username ⇒ Object
The username to authenticate with.
Instance Method Summary collapse
-
#initialize(bind_interface: nil, certificate_authority: nil, client_certificate: nil, client_key: nil, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, require_native_auth: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, use_azure_single_server_usernames: nil, username: nil) ⇒ MTLSMysql
constructor
A new instance of MTLSMysql.
- #to_json(options = {}) ⇒ Object
Constructor Details
#initialize(bind_interface: nil, certificate_authority: nil, client_certificate: nil, client_key: nil, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, require_native_auth: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, use_azure_single_server_usernames: nil, username: nil) ⇒ MTLSMysql
Returns a new instance of MTLSMysql.
6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 |
# File 'lib/models/porcelain.rb', line 6402 def initialize( bind_interface: nil, certificate_authority: nil, client_certificate: nil, client_key: nil, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, require_native_auth: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, use_azure_single_server_usernames: nil, username: nil ) @bind_interface = bind_interface == nil ? "" : bind_interface @certificate_authority = == nil ? "" : @client_certificate = client_certificate == nil ? "" : client_certificate @client_key = client_key == nil ? "" : client_key @database = database == nil ? "" : database @egress_filter = egress_filter == nil ? "" : egress_filter @healthy = healthy == nil ? false : healthy @hostname = hostname == nil ? "" : hostname @id = id == nil ? "" : id @name = name == nil ? "" : name @password = password == nil ? "" : password @port = port == nil ? 0 : port @port_override = port_override == nil ? 0 : port_override @require_native_auth = require_native_auth == nil ? false : require_native_auth @secret_store_id = secret_store_id == nil ? "" : secret_store_id @server_name = server_name == nil ? "" : server_name @subdomain = subdomain == nil ? "" : subdomain @tags = == nil ? SDM::() : @use_azure_single_server_usernames = use_azure_single_server_usernames == nil ? false : use_azure_single_server_usernames @username = username == nil ? "" : username end |
Instance Attribute Details
#bind_interface ⇒ Object
The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
6362 6363 6364 |
# File 'lib/models/porcelain.rb', line 6362 def bind_interface @bind_interface end |
#certificate_authority ⇒ Object
The CA to authenticate TLS connections with.
6364 6365 6366 |
# File 'lib/models/porcelain.rb', line 6364 def @certificate_authority end |
#client_certificate ⇒ Object
The certificate to authenticate TLS connections with.
6366 6367 6368 |
# File 'lib/models/porcelain.rb', line 6366 def client_certificate @client_certificate end |
#client_key ⇒ Object
The key to authenticate TLS connections with.
6368 6369 6370 |
# File 'lib/models/porcelain.rb', line 6368 def client_key @client_key end |
#database ⇒ Object
The database for healthchecks. Does not affect client requests.
6370 6371 6372 |
# File 'lib/models/porcelain.rb', line 6370 def database @database end |
#egress_filter ⇒ Object
A filter applied to the routing logic to pin datasource to nodes.
6372 6373 6374 |
# File 'lib/models/porcelain.rb', line 6372 def egress_filter @egress_filter end |
#healthy ⇒ Object
True if the datasource is reachable and the credentials are valid.
6374 6375 6376 |
# File 'lib/models/porcelain.rb', line 6374 def healthy @healthy end |
#hostname ⇒ Object
The host to dial to initiate a connection from the egress node to this resource.
6376 6377 6378 |
# File 'lib/models/porcelain.rb', line 6376 def hostname @hostname end |
#id ⇒ Object
Unique identifier of the Resource.
6378 6379 6380 |
# File 'lib/models/porcelain.rb', line 6378 def id @id end |
#name ⇒ Object
Unique human-readable name of the Resource.
6380 6381 6382 |
# File 'lib/models/porcelain.rb', line 6380 def name @name end |
#password ⇒ Object
The password to authenticate with.
6382 6383 6384 |
# File 'lib/models/porcelain.rb', line 6382 def password @password end |
#port ⇒ Object
The port to dial to initiate a connection from the egress node to this resource.
6384 6385 6386 |
# File 'lib/models/porcelain.rb', line 6384 def port @port end |
#port_override ⇒ Object
The local port used by clients to connect to this resource.
6386 6387 6388 |
# File 'lib/models/porcelain.rb', line 6386 def port_override @port_override end |
#require_native_auth ⇒ Object
Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6388 6389 6390 |
# File 'lib/models/porcelain.rb', line 6388 def require_native_auth @require_native_auth end |
#secret_store_id ⇒ Object
ID of the secret store containing credentials for this resource, if any.
6390 6391 6392 |
# File 'lib/models/porcelain.rb', line 6390 def secret_store_id @secret_store_id end |
#server_name ⇒ Object
Server name for TLS verification (unverified by StrongDM if empty)
6392 6393 6394 |
# File 'lib/models/porcelain.rb', line 6392 def server_name @server_name end |
#subdomain ⇒ Object
Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
6394 6395 6396 |
# File 'lib/models/porcelain.rb', line 6394 def subdomain @subdomain end |
#tags ⇒ Object
Tags is a map of key, value pairs.
6396 6397 6398 |
# File 'lib/models/porcelain.rb', line 6396 def @tags end |
#use_azure_single_server_usernames ⇒ Object
If true, appends the hostname to the username when hitting a database.azure.com address
6398 6399 6400 |
# File 'lib/models/porcelain.rb', line 6398 def use_azure_single_server_usernames @use_azure_single_server_usernames end |
#username ⇒ Object
The username to authenticate with.
6400 6401 6402 |
# File 'lib/models/porcelain.rb', line 6400 def username @username end |
Instance Method Details
#to_json(options = {}) ⇒ Object
6446 6447 6448 6449 6450 6451 6452 |
# File 'lib/models/porcelain.rb', line 6446 def to_json( = {}) hash = {} self.instance_variables.each do |var| hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var end hash.to_json end |