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.
-
#proxy_cluster_id ⇒ Object
ID of the proxy cluster for this resource, if any.
-
#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, proxy_cluster_id: 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, proxy_cluster_id: 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.
6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 |
# File 'lib/models/porcelain.rb', line 6604 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, proxy_cluster_id: 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 @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id @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.
6562 6563 6564 |
# File 'lib/models/porcelain.rb', line 6562 def bind_interface @bind_interface end |
#certificate_authority ⇒ Object
The CA to authenticate TLS connections with.
6564 6565 6566 |
# File 'lib/models/porcelain.rb', line 6564 def @certificate_authority end |
#client_certificate ⇒ Object
The certificate to authenticate TLS connections with.
6566 6567 6568 |
# File 'lib/models/porcelain.rb', line 6566 def client_certificate @client_certificate end |
#client_key ⇒ Object
The key to authenticate TLS connections with.
6568 6569 6570 |
# File 'lib/models/porcelain.rb', line 6568 def client_key @client_key end |
#database ⇒ Object
The database for healthchecks. Does not affect client requests.
6570 6571 6572 |
# File 'lib/models/porcelain.rb', line 6570 def database @database end |
#egress_filter ⇒ Object
A filter applied to the routing logic to pin datasource to nodes.
6572 6573 6574 |
# File 'lib/models/porcelain.rb', line 6572 def egress_filter @egress_filter end |
#healthy ⇒ Object
True if the datasource is reachable and the credentials are valid.
6574 6575 6576 |
# File 'lib/models/porcelain.rb', line 6574 def healthy @healthy end |
#hostname ⇒ Object
The host to dial to initiate a connection from the egress node to this resource.
6576 6577 6578 |
# File 'lib/models/porcelain.rb', line 6576 def hostname @hostname end |
#id ⇒ Object
Unique identifier of the Resource.
6578 6579 6580 |
# File 'lib/models/porcelain.rb', line 6578 def id @id end |
#name ⇒ Object
Unique human-readable name of the Resource.
6580 6581 6582 |
# File 'lib/models/porcelain.rb', line 6580 def name @name end |
#password ⇒ Object
The password to authenticate with.
6582 6583 6584 |
# File 'lib/models/porcelain.rb', line 6582 def password @password end |
#port ⇒ Object
The port to dial to initiate a connection from the egress node to this resource.
6584 6585 6586 |
# File 'lib/models/porcelain.rb', line 6584 def port @port end |
#port_override ⇒ Object
The local port used by clients to connect to this resource.
6586 6587 6588 |
# File 'lib/models/porcelain.rb', line 6586 def port_override @port_override end |
#proxy_cluster_id ⇒ Object
ID of the proxy cluster for this resource, if any.
6588 6589 6590 |
# File 'lib/models/porcelain.rb', line 6588 def proxy_cluster_id @proxy_cluster_id end |
#require_native_auth ⇒ Object
Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)
6590 6591 6592 |
# File 'lib/models/porcelain.rb', line 6590 def require_native_auth @require_native_auth end |
#secret_store_id ⇒ Object
ID of the secret store containing credentials for this resource, if any.
6592 6593 6594 |
# File 'lib/models/porcelain.rb', line 6592 def secret_store_id @secret_store_id end |
#server_name ⇒ Object
Server name for TLS verification (unverified by StrongDM if empty)
6594 6595 6596 |
# File 'lib/models/porcelain.rb', line 6594 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)
6596 6597 6598 |
# File 'lib/models/porcelain.rb', line 6596 def subdomain @subdomain end |
#tags ⇒ Object
Tags is a map of key, value pairs.
6598 6599 6600 |
# File 'lib/models/porcelain.rb', line 6598 def @tags end |
#use_azure_single_server_usernames ⇒ Object
If true, appends the hostname to the username when hitting a database.azure.com address
6600 6601 6602 |
# File 'lib/models/porcelain.rb', line 6600 def use_azure_single_server_usernames @use_azure_single_server_usernames end |
#username ⇒ Object
The username to authenticate with.
6602 6603 6604 |
# File 'lib/models/porcelain.rb', line 6602 def username @username end |
Instance Method Details
#to_json(options = {}) ⇒ Object
6650 6651 6652 6653 6654 6655 6656 |
# File 'lib/models/porcelain.rb', line 6650 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 |