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.



14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
# File 'lib/models/porcelain.rb', line 14060

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.



14026
14027
14028
# File 'lib/models/porcelain.rb', line 14026

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



14028
14029
14030
# File 'lib/models/porcelain.rb', line 14028

def database
  @database
end

#hostnameObject

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



14030
14031
14032
# File 'lib/models/porcelain.rb', line 14030

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



14032
14033
14034
# File 'lib/models/porcelain.rb', line 14032

def id
  @id
end

#key_rotation_interval_daysObject

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



14034
14035
14036
# File 'lib/models/porcelain.rb', line 14034

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



14036
14037
14038
# File 'lib/models/porcelain.rb', line 14036

def name
  @name
end

#node_selectorObject

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



14038
14039
14040
# File 'lib/models/porcelain.rb', line 14038

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



14040
14041
14042
# File 'lib/models/porcelain.rb', line 14040

def password
  @password
end

#policyObject

Policy for password creation



14042
14043
14044
# File 'lib/models/porcelain.rb', line 14042

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



14044
14045
14046
# File 'lib/models/porcelain.rb', line 14044

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



14046
14047
14048
# File 'lib/models/porcelain.rb', line 14046

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



14048
14049
14050
# File 'lib/models/porcelain.rb', line 14048

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



14050
14051
14052
# File 'lib/models/porcelain.rb', line 14050

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



14052
14053
14054
# File 'lib/models/porcelain.rb', line 14052

def tags
  @tags
end

#tlsObject

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



14054
14055
14056
# File 'lib/models/porcelain.rb', line 14054

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.



14056
14057
14058
# File 'lib/models/porcelain.rb', line 14056

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



14058
14059
14060
# File 'lib/models/porcelain.rb', line 14058

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14098
14099
14100
14101
14102
14103
14104
# File 'lib/models/porcelain.rb', line 14098

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