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.



13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
# File 'lib/models/porcelain.rb', line 13361

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.



13327
13328
13329
# File 'lib/models/porcelain.rb', line 13327

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



13329
13330
13331
# File 'lib/models/porcelain.rb', line 13329

def database
  @database
end

#hostnameObject

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



13331
13332
13333
# File 'lib/models/porcelain.rb', line 13331

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



13333
13334
13335
# File 'lib/models/porcelain.rb', line 13333

def id
  @id
end

#key_rotation_interval_daysObject

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



13335
13336
13337
# File 'lib/models/porcelain.rb', line 13335

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



13337
13338
13339
# File 'lib/models/porcelain.rb', line 13337

def name
  @name
end

#node_selectorObject

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



13339
13340
13341
# File 'lib/models/porcelain.rb', line 13339

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



13341
13342
13343
# File 'lib/models/porcelain.rb', line 13341

def password
  @password
end

#policyObject

Policy for password creation



13343
13344
13345
# File 'lib/models/porcelain.rb', line 13343

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



13345
13346
13347
# File 'lib/models/porcelain.rb', line 13345

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



13347
13348
13349
# File 'lib/models/porcelain.rb', line 13347

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



13349
13350
13351
# File 'lib/models/porcelain.rb', line 13349

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



13351
13352
13353
# File 'lib/models/porcelain.rb', line 13351

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



13353
13354
13355
# File 'lib/models/porcelain.rb', line 13353

def tags
  @tags
end

#tlsObject

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



13355
13356
13357
# File 'lib/models/porcelain.rb', line 13355

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.



13357
13358
13359
# File 'lib/models/porcelain.rb', line 13357

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



13359
13360
13361
# File 'lib/models/porcelain.rb', line 13359

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13399
13400
13401
13402
13403
13404
13405
# File 'lib/models/porcelain.rb', line 13399

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