Class: SDM::PostgresEngine
- Inherits:
-
Object
- Object
- SDM::PostgresEngine
- Defined in:
- lib/models/porcelain.rb
Overview
PostgresEngine is currently unstable, and its API may change, or it may be removed, without a major version bump.
Instance Attribute Summary collapse
-
#after_read_ttl ⇒ Object
The default time-to-live duration of the password after it's read.
-
#database ⇒ Object
Database is the database to verify credential against.
-
#hostname ⇒ Object
Hostname is the hostname or IP address of the Postgres server.
-
#id ⇒ Object
Unique identifier of the Secret Engine.
-
#key_rotation_interval_days ⇒ Object
An interval of public/private key rotation for secret engine in days.
-
#name ⇒ Object
Unique human-readable name of the Secret Engine.
-
#password ⇒ Object
Password is the password to connect to the Postgres server.
-
#policy ⇒ Object
Policy for password creation.
-
#port ⇒ Object
Port is the port number of the Postgres server.
-
#public_key ⇒ Object
Public key linked with a secret engine.
-
#secret_store_id ⇒ Object
Backing secret store identifier.
-
#secret_store_root_path ⇒ Object
Backing Secret Store root path where managed secrets are going to be stored.
-
#tags ⇒ Object
Tags is a map of key, value pairs.
-
#tls ⇒ Object
TLS enables TLS/SSL when connecting to the Postgres server.
-
#ttl ⇒ Object
The default password time-to-live duration.
-
#username ⇒ Object
Username is the username to connect to the Postgres server.
Instance Method Summary collapse
-
#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
constructor
A new instance of PostgresEngine.
- #to_json(options = {}) ⇒ Object
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
Returns a new instance of PostgresEngine.
12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 |
# File 'lib/models/porcelain.rb', line 12271 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 = == nil ? SDM::() : @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.
12239 12240 12241 |
# File 'lib/models/porcelain.rb', line 12239 def after_read_ttl @after_read_ttl end |
#database ⇒ Object
Database is the database to verify credential against.
12241 12242 12243 |
# File 'lib/models/porcelain.rb', line 12241 def database @database end |
#hostname ⇒ Object
Hostname is the hostname or IP address of the Postgres server.
12243 12244 12245 |
# File 'lib/models/porcelain.rb', line 12243 def hostname @hostname end |
#id ⇒ Object
Unique identifier of the Secret Engine.
12245 12246 12247 |
# File 'lib/models/porcelain.rb', line 12245 def id @id end |
#key_rotation_interval_days ⇒ Object
An interval of public/private key rotation for secret engine in days
12247 12248 12249 |
# File 'lib/models/porcelain.rb', line 12247 def key_rotation_interval_days @key_rotation_interval_days end |
#name ⇒ Object
Unique human-readable name of the Secret Engine.
12249 12250 12251 |
# File 'lib/models/porcelain.rb', line 12249 def name @name end |
#password ⇒ Object
Password is the password to connect to the Postgres server.
12251 12252 12253 |
# File 'lib/models/porcelain.rb', line 12251 def password @password end |
#policy ⇒ Object
Policy for password creation
12253 12254 12255 |
# File 'lib/models/porcelain.rb', line 12253 def policy @policy end |
#port ⇒ Object
Port is the port number of the Postgres server.
12255 12256 12257 |
# File 'lib/models/porcelain.rb', line 12255 def port @port end |
#public_key ⇒ Object
Public key linked with a secret engine
12257 12258 12259 |
# File 'lib/models/porcelain.rb', line 12257 def public_key @public_key end |
#secret_store_id ⇒ Object
Backing secret store identifier
12259 12260 12261 |
# File 'lib/models/porcelain.rb', line 12259 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
12261 12262 12263 |
# File 'lib/models/porcelain.rb', line 12261 def secret_store_root_path @secret_store_root_path end |
#tags ⇒ Object
Tags is a map of key, value pairs.
12263 12264 12265 |
# File 'lib/models/porcelain.rb', line 12263 def @tags end |
#tls ⇒ Object
TLS enables TLS/SSL when connecting to the Postgres server.
12265 12266 12267 |
# File 'lib/models/porcelain.rb', line 12265 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.
12267 12268 12269 |
# File 'lib/models/porcelain.rb', line 12267 def ttl @ttl end |
#username ⇒ Object
Username is the username to connect to the Postgres server.
12269 12270 12271 |
# File 'lib/models/porcelain.rb', line 12269 def username @username end |
Instance Method Details
#to_json(options = {}) ⇒ Object
12307 12308 12309 12310 12311 12312 12313 |
# File 'lib/models/porcelain.rb', line 12307 def to_json( = {}) hash = {} self.instance_variables.each do |var| hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var end hash.to_json end |