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.



11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
# File 'lib/models/porcelain.rb', line 11890

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.



11854
11855
11856
# File 'lib/models/porcelain.rb', line 11854

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



11856
11857
11858
# File 'lib/models/porcelain.rb', line 11856

def database
  @database
end

#hostnameObject

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



11858
11859
11860
# File 'lib/models/porcelain.rb', line 11858

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



11860
11861
11862
# File 'lib/models/porcelain.rb', line 11860

def id
  @id
end

#key_rotation_interval_daysObject

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



11862
11863
11864
# File 'lib/models/porcelain.rb', line 11862

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



11864
11865
11866
# File 'lib/models/porcelain.rb', line 11864

def name
  @name
end

#node_selectorObject

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



11866
11867
11868
# File 'lib/models/porcelain.rb', line 11866

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



11868
11869
11870
# File 'lib/models/porcelain.rb', line 11868

def password
  @password
end

#policyObject

Policy for password creation



11870
11871
11872
# File 'lib/models/porcelain.rb', line 11870

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



11872
11873
11874
# File 'lib/models/porcelain.rb', line 11872

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



11874
11875
11876
# File 'lib/models/porcelain.rb', line 11874

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



11876
11877
11878
# File 'lib/models/porcelain.rb', line 11876

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



11878
11879
11880
# File 'lib/models/porcelain.rb', line 11878

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



11880
11881
11882
# File 'lib/models/porcelain.rb', line 11880

def tags
  @tags
end

#tlsObject

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



11882
11883
11884
# File 'lib/models/porcelain.rb', line 11882

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



11884
11885
11886
# File 'lib/models/porcelain.rb', line 11884

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.



11886
11887
11888
# File 'lib/models/porcelain.rb', line 11886

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



11888
11889
11890
# File 'lib/models/porcelain.rb', line 11888

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11930
11931
11932
11933
11934
11935
11936
# File 'lib/models/porcelain.rb', line 11930

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