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, 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.



13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
# File 'lib/models/porcelain.rb', line 13347

def initialize(
  after_read_ttl: nil,
  database: nil,
  hostname: nil,
  id: nil,
  key_rotation_interval_days: nil,
  name: 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
  @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.



13315
13316
13317
# File 'lib/models/porcelain.rb', line 13315

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



13317
13318
13319
# File 'lib/models/porcelain.rb', line 13317

def database
  @database
end

#hostnameObject

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



13319
13320
13321
# File 'lib/models/porcelain.rb', line 13319

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



13321
13322
13323
# File 'lib/models/porcelain.rb', line 13321

def id
  @id
end

#key_rotation_interval_daysObject

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



13323
13324
13325
# File 'lib/models/porcelain.rb', line 13323

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



13325
13326
13327
# File 'lib/models/porcelain.rb', line 13325

def name
  @name
end

#passwordObject

Password is the password to connect to the Postgres server.



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

def password
  @password
end

#policyObject

Policy for password creation



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

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



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

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



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

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



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

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



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

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#tlsObject

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



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

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.



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

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13383
13384
13385
13386
13387
13388
13389
# File 'lib/models/porcelain.rb', line 13383

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