Class: SDM::Mysql

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bind_interface: nil, database: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, require_native_auth: nil, secret_store_id: nil, subdomain: nil, tags: nil, use_azure_single_server_usernames: nil, username: nil) ⇒ Mysql

Returns a new instance of Mysql.



7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
# File 'lib/models/porcelain.rb', line 7186

def initialize(
  bind_interface: nil,
  database: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  password: nil,
  port: nil,
  port_override: nil,
  require_native_auth: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: nil,
  use_azure_single_server_usernames: nil,
  username: nil
)
  @bind_interface = bind_interface == nil ? "" : bind_interface
  @database = database == nil ? "" : database
  @egress_filter = egress_filter == nil ? "" : egress_filter
  @healthy = healthy == nil ? false : healthy
  @hostname = hostname == nil ? "" : hostname
  @id = id == nil ? "" : id
  @name = name == nil ? "" : name
  @password = password == nil ? "" : password
  @port = port == nil ? 0 : port
  @port_override = port_override == nil ? 0 : port_override
  @require_native_auth = require_native_auth == nil ? false : require_native_auth
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @subdomain = subdomain == nil ? "" : subdomain
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @use_azure_single_server_usernames = use_azure_single_server_usernames == nil ? false : use_azure_single_server_usernames
  @username = username == nil ? "" : username
end

Instance Attribute Details

#bind_interfaceObject

The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.



7154
7155
7156
# File 'lib/models/porcelain.rb', line 7154

def bind_interface
  @bind_interface
end

#databaseObject

The database for healthchecks. Does not affect client requests.



7156
7157
7158
# File 'lib/models/porcelain.rb', line 7156

def database
  @database
end

#egress_filterObject

A filter applied to the routing logic to pin datasource to nodes.



7158
7159
7160
# File 'lib/models/porcelain.rb', line 7158

def egress_filter
  @egress_filter
end

#healthyObject

True if the datasource is reachable and the credentials are valid.



7160
7161
7162
# File 'lib/models/porcelain.rb', line 7160

def healthy
  @healthy
end

#hostnameObject

The host to dial to initiate a connection from the egress node to this resource.



7162
7163
7164
# File 'lib/models/porcelain.rb', line 7162

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



7164
7165
7166
# File 'lib/models/porcelain.rb', line 7164

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



7166
7167
7168
# File 'lib/models/porcelain.rb', line 7166

def name
  @name
end

#passwordObject

The password to authenticate with.



7168
7169
7170
# File 'lib/models/porcelain.rb', line 7168

def password
  @password
end

#portObject

The port to dial to initiate a connection from the egress node to this resource.



7170
7171
7172
# File 'lib/models/porcelain.rb', line 7170

def port
  @port
end

#port_overrideObject

The local port used by clients to connect to this resource.



7172
7173
7174
# File 'lib/models/porcelain.rb', line 7172

def port_override
  @port_override
end

#require_native_authObject

Whether native auth (mysql_native_password) is used for all connections (for backwards compatibility)



7174
7175
7176
# File 'lib/models/porcelain.rb', line 7174

def require_native_auth
  @require_native_auth
end

#secret_store_idObject

ID of the secret store containing credentials for this resource, if any.



7176
7177
7178
# File 'lib/models/porcelain.rb', line 7176

def secret_store_id
  @secret_store_id
end

#subdomainObject

Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)



7178
7179
7180
# File 'lib/models/porcelain.rb', line 7178

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



7180
7181
7182
# File 'lib/models/porcelain.rb', line 7180

def tags
  @tags
end

#use_azure_single_server_usernamesObject

If true, appends the hostname to the username when hitting a database.azure.com address



7182
7183
7184
# File 'lib/models/porcelain.rb', line 7182

def use_azure_single_server_usernames
  @use_azure_single_server_usernames
end

#usernameObject

The username to authenticate with.



7184
7185
7186
# File 'lib/models/porcelain.rb', line 7184

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



7222
7223
7224
7225
7226
7227
7228
# File 'lib/models/porcelain.rb', line 7222

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