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.



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

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.



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

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



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

def database
  @database
end

#hostnameObject

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



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

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



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

def id
  @id
end

#key_rotation_interval_daysObject

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



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

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



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

def name
  @name
end

#node_selectorObject

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



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

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



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

def password
  @password
end

#policyObject

Policy for password creation



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

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



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

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



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

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



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

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



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

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#tlsObject

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



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

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



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

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.



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

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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