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.



12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
# File 'lib/models/porcelain.rb', line 12434

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.



12398
12399
12400
# File 'lib/models/porcelain.rb', line 12398

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



12400
12401
12402
# File 'lib/models/porcelain.rb', line 12400

def database
  @database
end

#hostnameObject

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



12402
12403
12404
# File 'lib/models/porcelain.rb', line 12402

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



12404
12405
12406
# File 'lib/models/porcelain.rb', line 12404

def id
  @id
end

#key_rotation_interval_daysObject

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



12406
12407
12408
# File 'lib/models/porcelain.rb', line 12406

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



12408
12409
12410
# File 'lib/models/porcelain.rb', line 12408

def name
  @name
end

#node_selectorObject

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



12410
12411
12412
# File 'lib/models/porcelain.rb', line 12410

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



12412
12413
12414
# File 'lib/models/porcelain.rb', line 12412

def password
  @password
end

#policyObject

Policy for password creation



12414
12415
12416
# File 'lib/models/porcelain.rb', line 12414

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



12416
12417
12418
# File 'lib/models/porcelain.rb', line 12416

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



12418
12419
12420
# File 'lib/models/porcelain.rb', line 12418

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



12420
12421
12422
# File 'lib/models/porcelain.rb', line 12420

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



12422
12423
12424
# File 'lib/models/porcelain.rb', line 12422

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



12424
12425
12426
# File 'lib/models/porcelain.rb', line 12424

def tags
  @tags
end

#tlsObject

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



12426
12427
12428
# File 'lib/models/porcelain.rb', line 12426

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



12428
12429
12430
# File 'lib/models/porcelain.rb', line 12428

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.



12430
12431
12432
# File 'lib/models/porcelain.rb', line 12430

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



12432
12433
12434
# File 'lib/models/porcelain.rb', line 12432

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12474
12475
12476
12477
12478
12479
12480
# File 'lib/models/porcelain.rb', line 12474

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