Class: SDM::PostgresEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(after_read_ttl: nil, database: nil, hostname: nil, id: nil, key_rotation_interval_days: nil, name: nil, node_selector: nil, password: nil, policy: nil, port: nil, public_key: nil, secret_store_id: nil, secret_store_root_path: nil, tags: nil, tls: nil, ttl: nil, username: nil) ⇒ PostgresEngine

Returns a new instance of PostgresEngine.



13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
# File 'lib/models/porcelain.rb', line 13435

def initialize(
  after_read_ttl: nil,
  database: nil,
  hostname: nil,
  id: nil,
  key_rotation_interval_days: nil,
  name: nil,
  node_selector: nil,
  password: nil,
  policy: nil,
  port: nil,
  public_key: nil,
  secret_store_id: nil,
  secret_store_root_path: nil,
  tags: nil,
  tls: nil,
  ttl: nil,
  username: nil
)
  @after_read_ttl = after_read_ttl == nil ? nil : after_read_ttl
  @database = database == nil ? "" : database
  @hostname = hostname == nil ? "" : hostname
  @id = id == nil ? "" : id
  @key_rotation_interval_days = key_rotation_interval_days == nil ? 0 : key_rotation_interval_days
  @name = name == nil ? "" : name
  @node_selector = node_selector == nil ? "" : node_selector
  @password = password == nil ? "" : password
  @policy = policy == nil ? nil : policy
  @port = port == nil ? 0 : port
  @public_key = public_key == nil ? "" : public_key
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @secret_store_root_path = secret_store_root_path == nil ? "" : secret_store_root_path
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @tls = tls == nil ? false : tls
  @ttl = ttl == nil ? nil : ttl
  @username = username == nil ? "" : username
end

Instance Attribute Details

#after_read_ttlObject

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.



13401
13402
13403
# File 'lib/models/porcelain.rb', line 13401

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



13403
13404
13405
# File 'lib/models/porcelain.rb', line 13403

def database
  @database
end

#hostnameObject

Hostname is the hostname or IP address of the Postgres server.



13405
13406
13407
# File 'lib/models/porcelain.rb', line 13405

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



13407
13408
13409
# File 'lib/models/porcelain.rb', line 13407

def id
  @id
end

#key_rotation_interval_daysObject

An interval of public/private key rotation for secret engine in days



13409
13410
13411
# File 'lib/models/porcelain.rb', line 13409

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



13411
13412
13413
# File 'lib/models/porcelain.rb', line 13411

def name
  @name
end

#node_selectorObject

node selector is used to narrow down the nodes used to communicate with with secret engine



13413
13414
13415
# File 'lib/models/porcelain.rb', line 13413

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



13415
13416
13417
# File 'lib/models/porcelain.rb', line 13415

def password
  @password
end

#policyObject

Policy for password creation



13417
13418
13419
# File 'lib/models/porcelain.rb', line 13417

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



13419
13420
13421
# File 'lib/models/porcelain.rb', line 13419

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



13421
13422
13423
# File 'lib/models/porcelain.rb', line 13421

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



13423
13424
13425
# File 'lib/models/porcelain.rb', line 13423

def secret_store_id
  @secret_store_id
end

#secret_store_root_pathObject

Backing Secret Store root path where managed secrets are going to be stored



13425
13426
13427
# File 'lib/models/porcelain.rb', line 13425

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



13427
13428
13429
# File 'lib/models/porcelain.rb', line 13427

def tags
  @tags
end

#tlsObject

TLS enables TLS/SSL when connecting to the Postgres server.



13429
13430
13431
# File 'lib/models/porcelain.rb', line 13429

def tls
  @tls
end

#ttlObject

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.



13431
13432
13433
# File 'lib/models/porcelain.rb', line 13431

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



13433
13434
13435
# File 'lib/models/porcelain.rb', line 13433

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13473
13474
13475
13476
13477
13478
13479
# File 'lib/models/porcelain.rb', line 13473

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end