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.



14167
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
# File 'lib/models/porcelain.rb', line 14167

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.



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

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



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

def database
  @database
end

#hostnameObject

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



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

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



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

def id
  @id
end

#key_rotation_interval_daysObject

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



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

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



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

def name
  @name
end

#node_selectorObject

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



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

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



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

def password
  @password
end

#policyObject

Policy for password creation



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

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



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

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



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

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



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

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



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

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#tlsObject

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



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

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.



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

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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