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.



11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
# File 'lib/models/porcelain.rb', line 11816

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.



11780
11781
11782
# File 'lib/models/porcelain.rb', line 11780

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



11782
11783
11784
# File 'lib/models/porcelain.rb', line 11782

def database
  @database
end

#hostnameObject

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



11784
11785
11786
# File 'lib/models/porcelain.rb', line 11784

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



11786
11787
11788
# File 'lib/models/porcelain.rb', line 11786

def id
  @id
end

#key_rotation_interval_daysObject

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



11788
11789
11790
# File 'lib/models/porcelain.rb', line 11788

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



11790
11791
11792
# File 'lib/models/porcelain.rb', line 11790

def name
  @name
end

#node_selectorObject

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



11792
11793
11794
# File 'lib/models/porcelain.rb', line 11792

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



11794
11795
11796
# File 'lib/models/porcelain.rb', line 11794

def password
  @password
end

#policyObject

Policy for password creation



11796
11797
11798
# File 'lib/models/porcelain.rb', line 11796

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



11798
11799
11800
# File 'lib/models/porcelain.rb', line 11798

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



11800
11801
11802
# File 'lib/models/porcelain.rb', line 11800

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



11802
11803
11804
# File 'lib/models/porcelain.rb', line 11802

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



11804
11805
11806
# File 'lib/models/porcelain.rb', line 11804

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



11806
11807
11808
# File 'lib/models/porcelain.rb', line 11806

def tags
  @tags
end

#tlsObject

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



11808
11809
11810
# File 'lib/models/porcelain.rb', line 11808

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



11810
11811
11812
# File 'lib/models/porcelain.rb', line 11810

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.



11812
11813
11814
# File 'lib/models/porcelain.rb', line 11812

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



11814
11815
11816
# File 'lib/models/porcelain.rb', line 11814

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11856
11857
11858
11859
11860
11861
11862
# File 'lib/models/porcelain.rb', line 11856

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