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.



14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
# File 'lib/models/porcelain.rb', line 14108

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.



14074
14075
14076
# File 'lib/models/porcelain.rb', line 14074

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



14076
14077
14078
# File 'lib/models/porcelain.rb', line 14076

def database
  @database
end

#hostnameObject

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



14078
14079
14080
# File 'lib/models/porcelain.rb', line 14078

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



14080
14081
14082
# File 'lib/models/porcelain.rb', line 14080

def id
  @id
end

#key_rotation_interval_daysObject

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



14082
14083
14084
# File 'lib/models/porcelain.rb', line 14082

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



14084
14085
14086
# File 'lib/models/porcelain.rb', line 14084

def name
  @name
end

#node_selectorObject

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



14086
14087
14088
# File 'lib/models/porcelain.rb', line 14086

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the Postgres server.



14088
14089
14090
# File 'lib/models/porcelain.rb', line 14088

def password
  @password
end

#policyObject

Policy for password creation



14090
14091
14092
# File 'lib/models/porcelain.rb', line 14090

def policy
  @policy
end

#portObject

Port is the port number of the Postgres server.



14092
14093
14094
# File 'lib/models/porcelain.rb', line 14092

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



14094
14095
14096
# File 'lib/models/porcelain.rb', line 14094

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



14096
14097
14098
# File 'lib/models/porcelain.rb', line 14096

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



14098
14099
14100
# File 'lib/models/porcelain.rb', line 14098

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



14100
14101
14102
# File 'lib/models/porcelain.rb', line 14100

def tags
  @tags
end

#tlsObject

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



14102
14103
14104
# File 'lib/models/porcelain.rb', line 14102

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.



14104
14105
14106
# File 'lib/models/porcelain.rb', line 14104

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the Postgres server.



14106
14107
14108
# File 'lib/models/porcelain.rb', line 14106

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14146
14147
14148
14149
14150
14151
14152
# File 'lib/models/porcelain.rb', line 14146

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