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.



14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
# File 'lib/models/porcelain.rb', line 14168

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_ttl ⇒ Object

The default time-to-live duration of the password after it's read. Once the ttl has passed, a password will be rotated.



14134
14135
14136
# File 'lib/models/porcelain.rb', line 14134

def after_read_ttl
  @after_read_ttl
end

#database ⇒ Object

Database is the database to verify credential against.



14136
14137
14138
# File 'lib/models/porcelain.rb', line 14136

def database
  @database
end

#hostname ⇒ Object

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



14138
14139
14140
# File 'lib/models/porcelain.rb', line 14138

def hostname
  @hostname
end

#id ⇒ Object

Unique identifier of the Secret Engine.



14140
14141
14142
# File 'lib/models/porcelain.rb', line 14140

def id
  @id
end

#key_rotation_interval_days ⇒ Object

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



14142
14143
14144
# File 'lib/models/porcelain.rb', line 14142

def key_rotation_interval_days
  @key_rotation_interval_days
end

#name ⇒ Object

Unique human-readable name of the Secret Engine.



14144
14145
14146
# File 'lib/models/porcelain.rb', line 14144

def name
  @name
end

#node_selector ⇒ Object

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



14146
14147
14148
# File 'lib/models/porcelain.rb', line 14146

def node_selector
  @node_selector
end

#password ⇒ Object

Password is the password to connect to the Postgres server.



14148
14149
14150
# File 'lib/models/porcelain.rb', line 14148

def password
  @password
end

#policy ⇒ Object

Policy for password creation



14150
14151
14152
# File 'lib/models/porcelain.rb', line 14150

def policy
  @policy
end

#port ⇒ Object

Port is the port number of the Postgres server.



14152
14153
14154
# File 'lib/models/porcelain.rb', line 14152

def port
  @port
end

#public_key ⇒ Object

Public key linked with a secret engine



14154
14155
14156
# File 'lib/models/porcelain.rb', line 14154

def public_key
  @public_key
end

#secret_store_id ⇒ Object

Backing secret store identifier



14156
14157
14158
# File 'lib/models/porcelain.rb', line 14156

def secret_store_id
  @secret_store_id
end

#secret_store_root_path ⇒ Object

Backing Secret Store root path where managed secrets are going to be stored



14158
14159
14160
# File 'lib/models/porcelain.rb', line 14158

def secret_store_root_path
  @secret_store_root_path
end

#tags ⇒ Object

Tags is a map of key, value pairs.



14160
14161
14162
# File 'lib/models/porcelain.rb', line 14160

def tags
  @tags
end

#tls ⇒ Object

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



14162
14163
14164
# File 'lib/models/porcelain.rb', line 14162

def tls
  @tls
end

#ttl ⇒ Object

The default password time-to-live duration. Once the ttl has passed, a password will be rotated the next time it's requested.



14164
14165
14166
# File 'lib/models/porcelain.rb', line 14164

def ttl
  @ttl
end

#username ⇒ Object

Username is the username to connect to the Postgres server.



14166
14167
14168
# File 'lib/models/porcelain.rb', line 14166

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14206
14207
14208
14209
14210
14211
14212
# File 'lib/models/porcelain.rb', line 14206

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