Class: SDM::MysqlEngine

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, tls_skip_verify: nil, ttl: nil, username: nil) ⇒ MysqlEngine

Returns a new instance of MysqlEngine.



12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
# File 'lib/models/porcelain.rb', line 12306

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,
  tls_skip_verify: 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
  @tls_skip_verify = tls_skip_verify == nil ? false : tls_skip_verify
  @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.



12270
12271
12272
# File 'lib/models/porcelain.rb', line 12270

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



12272
12273
12274
# File 'lib/models/porcelain.rb', line 12272

def database
  @database
end

#hostnameObject

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



12274
12275
12276
# File 'lib/models/porcelain.rb', line 12274

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



12276
12277
12278
# File 'lib/models/porcelain.rb', line 12276

def id
  @id
end

#key_rotation_interval_daysObject

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



12278
12279
12280
# File 'lib/models/porcelain.rb', line 12278

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



12280
12281
12282
# File 'lib/models/porcelain.rb', line 12280

def name
  @name
end

#node_selectorObject

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



12282
12283
12284
# File 'lib/models/porcelain.rb', line 12282

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



12284
12285
12286
# File 'lib/models/porcelain.rb', line 12284

def password
  @password
end

#policyObject

Policy for password creation



12286
12287
12288
# File 'lib/models/porcelain.rb', line 12286

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



12288
12289
12290
# File 'lib/models/porcelain.rb', line 12288

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



12290
12291
12292
# File 'lib/models/porcelain.rb', line 12290

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



12292
12293
12294
# File 'lib/models/porcelain.rb', line 12292

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



12294
12295
12296
# File 'lib/models/porcelain.rb', line 12294

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



12296
12297
12298
# File 'lib/models/porcelain.rb', line 12296

def tags
  @tags
end

#tlsObject

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



12298
12299
12300
# File 'lib/models/porcelain.rb', line 12298

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



12300
12301
12302
# File 'lib/models/porcelain.rb', line 12300

def tls_skip_verify
  @tls_skip_verify
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.



12302
12303
12304
# File 'lib/models/porcelain.rb', line 12302

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



12304
12305
12306
# File 'lib/models/porcelain.rb', line 12304

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12346
12347
12348
12349
12350
12351
12352
# File 'lib/models/porcelain.rb', line 12346

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