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.



13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
# File 'lib/models/porcelain.rb', line 13717

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.



13683
13684
13685
# File 'lib/models/porcelain.rb', line 13683

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



13685
13686
13687
# File 'lib/models/porcelain.rb', line 13685

def database
  @database
end

#hostnameObject

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



13687
13688
13689
# File 'lib/models/porcelain.rb', line 13687

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



13689
13690
13691
# File 'lib/models/porcelain.rb', line 13689

def id
  @id
end

#key_rotation_interval_daysObject

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



13691
13692
13693
# File 'lib/models/porcelain.rb', line 13691

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



13693
13694
13695
# File 'lib/models/porcelain.rb', line 13693

def name
  @name
end

#node_selectorObject

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



13695
13696
13697
# File 'lib/models/porcelain.rb', line 13695

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



13697
13698
13699
# File 'lib/models/porcelain.rb', line 13697

def password
  @password
end

#policyObject

Policy for password creation



13699
13700
13701
# File 'lib/models/porcelain.rb', line 13699

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



13701
13702
13703
# File 'lib/models/porcelain.rb', line 13701

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



13703
13704
13705
# File 'lib/models/porcelain.rb', line 13703

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



13705
13706
13707
# File 'lib/models/porcelain.rb', line 13705

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



13707
13708
13709
# File 'lib/models/porcelain.rb', line 13707

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



13709
13710
13711
# File 'lib/models/porcelain.rb', line 13709

def tags
  @tags
end

#tlsObject

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



13711
13712
13713
# File 'lib/models/porcelain.rb', line 13711

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.



13713
13714
13715
# File 'lib/models/porcelain.rb', line 13713

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



13715
13716
13717
# File 'lib/models/porcelain.rb', line 13715

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13755
13756
13757
13758
13759
13760
13761
# File 'lib/models/porcelain.rb', line 13755

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