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.
-
#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, 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, secret_store_id: nil, server_name: nil, subdomain: nil, tags: nil, username: nil) ⇒ MTLSPostgres
Returns a new instance of MTLSPostgres.
6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 |
# File 'lib/models/porcelain.rb', line 6342 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, 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 @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.
6304 6305 6306 |
# File 'lib/models/porcelain.rb', line 6304 def bind_interface @bind_interface end |
#certificate_authority ⇒ Object
The CA to authenticate TLS connections with.
6306 6307 6308 |
# File 'lib/models/porcelain.rb', line 6306 def @certificate_authority end |
#client_certificate ⇒ Object
The certificate to authenticate TLS connections with.
6308 6309 6310 |
# File 'lib/models/porcelain.rb', line 6308 def client_certificate @client_certificate end |
#client_key ⇒ Object
The key to authenticate TLS connections with.
6310 6311 6312 |
# File 'lib/models/porcelain.rb', line 6310 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.
6312 6313 6314 |
# File 'lib/models/porcelain.rb', line 6312 def database @database end |
#egress_filter ⇒ Object
A filter applied to the routing logic to pin datasource to nodes.
6314 6315 6316 |
# File 'lib/models/porcelain.rb', line 6314 def egress_filter @egress_filter end |
#healthy ⇒ Object
True if the datasource is reachable and the credentials are valid.
6316 6317 6318 |
# File 'lib/models/porcelain.rb', line 6316 def healthy @healthy end |
#hostname ⇒ Object
The host to dial to initiate a connection from the egress node to this resource.
6318 6319 6320 |
# File 'lib/models/porcelain.rb', line 6318 def hostname @hostname end |
#id ⇒ Object
Unique identifier of the Resource.
6320 6321 6322 |
# File 'lib/models/porcelain.rb', line 6320 def id @id end |
#name ⇒ Object
Unique human-readable name of the Resource.
6322 6323 6324 |
# File 'lib/models/porcelain.rb', line 6322 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.
6324 6325 6326 |
# File 'lib/models/porcelain.rb', line 6324 def override_database @override_database end |
#password ⇒ Object
The password to authenticate with.
6326 6327 6328 |
# File 'lib/models/porcelain.rb', line 6326 def password @password end |
#port ⇒ Object
The port to dial to initiate a connection from the egress node to this resource.
6328 6329 6330 |
# File 'lib/models/porcelain.rb', line 6328 def port @port end |
#port_override ⇒ Object
The local port used by clients to connect to this resource.
6330 6331 6332 |
# File 'lib/models/porcelain.rb', line 6330 def port_override @port_override end |
#secret_store_id ⇒ Object
ID of the secret store containing credentials for this resource, if any.
6332 6333 6334 |
# File 'lib/models/porcelain.rb', line 6332 def secret_store_id @secret_store_id end |
#server_name ⇒ Object
Server name for TLS verification (unverified by StrongDM if empty)
6334 6335 6336 |
# File 'lib/models/porcelain.rb', line 6334 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)
6336 6337 6338 |
# File 'lib/models/porcelain.rb', line 6336 def subdomain @subdomain end |
#tags ⇒ Object
Tags is a map of key, value pairs.
6338 6339 6340 |
# File 'lib/models/porcelain.rb', line 6338 def @tags end |
#username ⇒ Object
The username to authenticate with.
6340 6341 6342 |
# File 'lib/models/porcelain.rb', line 6340 def username @username end |
Instance Method Details
#to_json(options = {}) ⇒ Object
6384 6385 6386 6387 6388 6389 6390 |
# File 'lib/models/porcelain.rb', line 6384 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 |