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.



12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
# File 'lib/models/porcelain.rb', line 12453

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.



12421
12422
12423
# File 'lib/models/porcelain.rb', line 12421

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



12423
12424
12425
# File 'lib/models/porcelain.rb', line 12423

def database
  @database
end

#hostnameObject

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



12425
12426
12427
# File 'lib/models/porcelain.rb', line 12425

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



12427
12428
12429
# File 'lib/models/porcelain.rb', line 12427

def id
  @id
end

#key_rotation_interval_daysObject

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



12429
12430
12431
# File 'lib/models/porcelain.rb', line 12429

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



12431
12432
12433
# File 'lib/models/porcelain.rb', line 12431

def name
  @name
end

#passwordObject

Password is the password to connect to the Postgres server.



12433
12434
12435
# File 'lib/models/porcelain.rb', line 12433

def password
  @password
end

#policyObject

Policy for password creation



12435
12436
12437
# File 'lib/models/porcelain.rb', line 12435

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



12437
12438
12439
# File 'lib/models/porcelain.rb', line 12437

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



12439
12440
12441
# File 'lib/models/porcelain.rb', line 12439

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



12441
12442
12443
# File 'lib/models/porcelain.rb', line 12441

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



12443
12444
12445
# File 'lib/models/porcelain.rb', line 12443

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



12445
12446
12447
# File 'lib/models/porcelain.rb', line 12445

def tags
  @tags
end

#tlsObject

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



12447
12448
12449
# File 'lib/models/porcelain.rb', line 12447

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.



12449
12450
12451
# File 'lib/models/porcelain.rb', line 12449

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



12451
12452
12453
# File 'lib/models/porcelain.rb', line 12451

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12489
12490
12491
12492
12493
12494
12495
# File 'lib/models/porcelain.rb', line 12489

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