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.



12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
# File 'lib/models/porcelain.rb', line 12494

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_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.



12458
12459
12460
# File 'lib/models/porcelain.rb', line 12458

def after_read_ttl
  @after_read_ttl
end

#database ⇒ Object

Database is the database to verify credential against.



12460
12461
12462
# File 'lib/models/porcelain.rb', line 12460

def database
  @database
end

#hostname ⇒ Object

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



12462
12463
12464
# File 'lib/models/porcelain.rb', line 12462

def hostname
  @hostname
end

#id ⇒ Object

Unique identifier of the Secret Engine.



12464
12465
12466
# File 'lib/models/porcelain.rb', line 12464

def id
  @id
end

#key_rotation_interval_days ⇒ Object

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



12466
12467
12468
# File 'lib/models/porcelain.rb', line 12466

def key_rotation_interval_days
  @key_rotation_interval_days
end

#name ⇒ Object

Unique human-readable name of the Secret Engine.



12468
12469
12470
# File 'lib/models/porcelain.rb', line 12468

def name
  @name
end

#node_selector ⇒ Object

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



12470
12471
12472
# File 'lib/models/porcelain.rb', line 12470

def node_selector
  @node_selector
end

#password ⇒ Object

Password is the password to connect to the MySQL server.



12472
12473
12474
# File 'lib/models/porcelain.rb', line 12472

def password
  @password
end

#policy ⇒ Object

Policy for password creation



12474
12475
12476
# File 'lib/models/porcelain.rb', line 12474

def policy
  @policy
end

#port ⇒ Object

Port is the port number of the MySQL server.



12476
12477
12478
# File 'lib/models/porcelain.rb', line 12476

def port
  @port
end

#public_key ⇒ Object

Public key linked with a secret engine



12478
12479
12480
# File 'lib/models/porcelain.rb', line 12478

def public_key
  @public_key
end

#secret_store_id ⇒ Object

Backing secret store identifier



12480
12481
12482
# File 'lib/models/porcelain.rb', line 12480

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



12482
12483
12484
# File 'lib/models/porcelain.rb', line 12482

def secret_store_root_path
  @secret_store_root_path
end

#tags ⇒ Object

Tags is a map of key, value pairs.



12484
12485
12486
# File 'lib/models/porcelain.rb', line 12484

def tags
  @tags
end

#tls ⇒ Object

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



12486
12487
12488
# File 'lib/models/porcelain.rb', line 12486

def tls
  @tls
end

#tls_skip_verify ⇒ Object

TLS disable certificate verification



12488
12489
12490
# File 'lib/models/porcelain.rb', line 12488

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



12490
12491
12492
# File 'lib/models/porcelain.rb', line 12490

def ttl
  @ttl
end

#username ⇒ Object

Username is the username to connect to the MySQL server.



12492
12493
12494
# File 'lib/models/porcelain.rb', line 12492

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12534
12535
12536
12537
12538
12539
12540
# File 'lib/models/porcelain.rb', line 12534

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