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



12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
# File 'lib/models/porcelain.rb', line 12846

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.



12814
12815
12816
# File 'lib/models/porcelain.rb', line 12814

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



12816
12817
12818
# File 'lib/models/porcelain.rb', line 12816

def database
  @database
end

#hostnameObject

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



12818
12819
12820
# File 'lib/models/porcelain.rb', line 12818

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



12820
12821
12822
# File 'lib/models/porcelain.rb', line 12820

def id
  @id
end

#key_rotation_interval_daysObject

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



12822
12823
12824
# File 'lib/models/porcelain.rb', line 12822

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



12824
12825
12826
# File 'lib/models/porcelain.rb', line 12824

def name
  @name
end

#passwordObject

Password is the password to connect to the Postgres server.



12826
12827
12828
# File 'lib/models/porcelain.rb', line 12826

def password
  @password
end

#policyObject

Policy for password creation



12828
12829
12830
# File 'lib/models/porcelain.rb', line 12828

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



12830
12831
12832
# File 'lib/models/porcelain.rb', line 12830

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



12832
12833
12834
# File 'lib/models/porcelain.rb', line 12832

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



12834
12835
12836
# File 'lib/models/porcelain.rb', line 12834

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



12836
12837
12838
# File 'lib/models/porcelain.rb', line 12836

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



12838
12839
12840
# File 'lib/models/porcelain.rb', line 12838

def tags
  @tags
end

#tlsObject

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



12840
12841
12842
# File 'lib/models/porcelain.rb', line 12840

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.



12842
12843
12844
# File 'lib/models/porcelain.rb', line 12842

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



12844
12845
12846
# File 'lib/models/porcelain.rb', line 12844

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12882
12883
12884
12885
12886
12887
12888
# File 'lib/models/porcelain.rb', line 12882

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