Class: SDM::MTLSPostgres
- Inherits:
-
Object
- Object
- SDM::MTLSPostgres
- Defined in:
- lib/models/porcelain.rb
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 initial database to connect to.
-
#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.
-
#override_database ⇒ Object
If set, the database configured cannot be changed by users.
-
#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.
-
#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.
-
#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, override_database: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, username: nil) ⇒ MTLSPostgres
constructor
A new instance of MTLSPostgres.
- #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, override_database: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, username: nil) ⇒ MTLSPostgres
Returns a new instance of MTLSPostgres.
8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 |
# File 'lib/models/porcelain.rb', line 8314 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, override_database: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, server_name: nil, subdomain: nil, tags: 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 @override_database = override_database == nil ? false : override_database @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 @secret_store_id = secret_store_id == nil ? "" : secret_store_id @server_name = server_name == nil ? "" : server_name @subdomain = subdomain == nil ? "" : subdomain @tags = == nil ? SDM::() : @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.
8274 8275 8276 |
# File 'lib/models/porcelain.rb', line 8274 def bind_interface @bind_interface end |
#certificate_authority ⇒ Object
The CA to authenticate TLS connections with.
8276 8277 8278 |
# File 'lib/models/porcelain.rb', line 8276 def @certificate_authority end |
#client_certificate ⇒ Object
The certificate to authenticate TLS connections with.
8278 8279 8280 |
# File 'lib/models/porcelain.rb', line 8278 def client_certificate @client_certificate end |
#client_key ⇒ Object
The key to authenticate TLS connections with.
8280 8281 8282 |
# File 'lib/models/porcelain.rb', line 8280 def client_key @client_key end |
#database ⇒ Object
The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
8282 8283 8284 |
# File 'lib/models/porcelain.rb', line 8282 def database @database end |
#egress_filter ⇒ Object
A filter applied to the routing logic to pin datasource to nodes.
8284 8285 8286 |
# File 'lib/models/porcelain.rb', line 8284 def egress_filter @egress_filter end |
#healthy ⇒ Object
True if the datasource is reachable and the credentials are valid.
8286 8287 8288 |
# File 'lib/models/porcelain.rb', line 8286 def healthy @healthy end |
#hostname ⇒ Object
The host to dial to initiate a connection from the egress node to this resource.
8288 8289 8290 |
# File 'lib/models/porcelain.rb', line 8288 def hostname @hostname end |
#id ⇒ Object
Unique identifier of the Resource.
8290 8291 8292 |
# File 'lib/models/porcelain.rb', line 8290 def id @id end |
#name ⇒ Object
Unique human-readable name of the Resource.
8292 8293 8294 |
# File 'lib/models/porcelain.rb', line 8292 def name @name end |
#override_database ⇒ Object
If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
8294 8295 8296 |
# File 'lib/models/porcelain.rb', line 8294 def override_database @override_database end |
#password ⇒ Object
The password to authenticate with.
8296 8297 8298 |
# File 'lib/models/porcelain.rb', line 8296 def password @password end |
#port ⇒ Object
The port to dial to initiate a connection from the egress node to this resource.
8298 8299 8300 |
# File 'lib/models/porcelain.rb', line 8298 def port @port end |
#port_override ⇒ Object
The local port used by clients to connect to this resource.
8300 8301 8302 |
# File 'lib/models/porcelain.rb', line 8300 def port_override @port_override end |
#proxy_cluster_id ⇒ Object
ID of the proxy cluster for this resource, if any.
8302 8303 8304 |
# File 'lib/models/porcelain.rb', line 8302 def proxy_cluster_id @proxy_cluster_id end |
#secret_store_id ⇒ Object
ID of the secret store containing credentials for this resource, if any.
8304 8305 8306 |
# File 'lib/models/porcelain.rb', line 8304 def secret_store_id @secret_store_id end |
#server_name ⇒ Object
Server name for TLS verification (unverified by StrongDM if empty)
8306 8307 8308 |
# File 'lib/models/porcelain.rb', line 8306 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)
8308 8309 8310 |
# File 'lib/models/porcelain.rb', line 8308 def subdomain @subdomain end |
#tags ⇒ Object
Tags is a map of key, value pairs.
8310 8311 8312 |
# File 'lib/models/porcelain.rb', line 8310 def @tags end |
#username ⇒ Object
The username to authenticate with.
8312 8313 8314 |
# File 'lib/models/porcelain.rb', line 8312 def username @username end |
Instance Method Details
#to_json(options = {}) ⇒ Object
8358 8359 8360 8361 8362 8363 8364 |
# File 'lib/models/porcelain.rb', line 8358 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 |