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.



13434
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
# File 'lib/models/porcelain.rb', line 13434

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.



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

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



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

def database
  @database
end

#hostnameObject

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



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

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



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

def id
  @id
end

#key_rotation_interval_daysObject

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



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

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



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

def name
  @name
end

#node_selectorObject

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



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

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



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

def password
  @password
end

#policyObject

Policy for password creation



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

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



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

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



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

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



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

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



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

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#tlsObject

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



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

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.



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

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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