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.



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

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.



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

def after_read_ttl
  @after_read_ttl
end

#databaseObject

Database is the database to verify credential against.



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

def database
  @database
end

#hostnameObject

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



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

def hostname
  @hostname
end

#idObject

Unique identifier of the Secret Engine.



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

def id
  @id
end

#key_rotation_interval_daysObject

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



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

def key_rotation_interval_days
  @key_rotation_interval_days
end

#nameObject

Unique human-readable name of the Secret Engine.



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

def name
  @name
end

#node_selectorObject

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



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

def node_selector
  @node_selector
end

#passwordObject

Password is the password to connect to the MySQL server.



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

def password
  @password
end

#policyObject

Policy for password creation



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

def policy
  @policy
end

#portObject

Port is the port number of the MySQL server.



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

def port
  @port
end

#public_keyObject

Public key linked with a secret engine



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

def public_key
  @public_key
end

#secret_store_idObject

Backing secret store identifier



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

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



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

def secret_store_root_path
  @secret_store_root_path
end

#tagsObject

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#tlsObject

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



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

def tls
  @tls
end

#tls_skip_verifyObject

TLS disable certificate verification



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

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.



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

def ttl
  @ttl
end

#usernameObject

Username is the username to connect to the MySQL server.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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