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



12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
# File 'lib/models/porcelain.rb', line 12929

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.



12897
12898
12899
# File 'lib/models/porcelain.rb', line 12897

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



12899
12900
12901
# File 'lib/models/porcelain.rb', line 12899

def database
  @database
end

#hostnameObject

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



12901
12902
12903
# File 'lib/models/porcelain.rb', line 12901

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



12903
12904
12905
# File 'lib/models/porcelain.rb', line 12903

def id
  @id
end

#key_rotation_interval_daysObject

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



12905
12906
12907
# File 'lib/models/porcelain.rb', line 12905

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



12907
12908
12909
# File 'lib/models/porcelain.rb', line 12907

def name
  @name
end

#passwordObject

Password is the password to connect to the Postgres server.



12909
12910
12911
# File 'lib/models/porcelain.rb', line 12909

def password
  @password
end

#policyObject

Policy for password creation



12911
12912
12913
# File 'lib/models/porcelain.rb', line 12911

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



12913
12914
12915
# File 'lib/models/porcelain.rb', line 12913

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



12915
12916
12917
# File 'lib/models/porcelain.rb', line 12915

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



12917
12918
12919
# File 'lib/models/porcelain.rb', line 12917

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



12919
12920
12921
# File 'lib/models/porcelain.rb', line 12919

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



12921
12922
12923
# File 'lib/models/porcelain.rb', line 12921

def tags
  @tags
end

#tlsObject

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



12923
12924
12925
# File 'lib/models/porcelain.rb', line 12923

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.



12925
12926
12927
# File 'lib/models/porcelain.rb', line 12925

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



12927
12928
12929
# File 'lib/models/porcelain.rb', line 12927

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12965
12966
12967
12968
12969
12970
12971
# File 'lib/models/porcelain.rb', line 12965

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