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.



13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
# File 'lib/models/porcelain.rb', line 13753

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.



13719
13720
13721
# File 'lib/models/porcelain.rb', line 13719

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



13721
13722
13723
# File 'lib/models/porcelain.rb', line 13721

def database
  @database
end

#hostnameObject

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



13723
13724
13725
# File 'lib/models/porcelain.rb', line 13723

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



13725
13726
13727
# File 'lib/models/porcelain.rb', line 13725

def id
  @id
end

#key_rotation_interval_daysObject

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



13727
13728
13729
# File 'lib/models/porcelain.rb', line 13727

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



13729
13730
13731
# File 'lib/models/porcelain.rb', line 13729

def name
  @name
end

#node_selectorObject

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



13731
13732
13733
# File 'lib/models/porcelain.rb', line 13731

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



13733
13734
13735
# File 'lib/models/porcelain.rb', line 13733

def password
  @password
end

#policyObject

Policy for password creation



13735
13736
13737
# File 'lib/models/porcelain.rb', line 13735

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



13737
13738
13739
# File 'lib/models/porcelain.rb', line 13737

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



13739
13740
13741
# File 'lib/models/porcelain.rb', line 13739

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



13741
13742
13743
# File 'lib/models/porcelain.rb', line 13741

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



13743
13744
13745
# File 'lib/models/porcelain.rb', line 13743

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



13745
13746
13747
# File 'lib/models/porcelain.rb', line 13745

def tags
  @tags
end

#tlsObject

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



13747
13748
13749
# File 'lib/models/porcelain.rb', line 13747

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.



13749
13750
13751
# File 'lib/models/porcelain.rb', line 13749

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



13751
13752
13753
# File 'lib/models/porcelain.rb', line 13751

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13791
13792
13793
13794
13795
13796
13797
# File 'lib/models/porcelain.rb', line 13791

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