Class: SDM::Memsql

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, proxy_cluster_id: nil, require_native_auth: nil, secret_store_id: nil, subdomain: nil, tags: nil, use_azure_single_server_usernames: nil, username: nil) ⇒ Memsql

Returns a new instance of Memsql.



7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
# File 'lib/models/porcelain.rb', line 7232

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,
  proxy_cluster_id: 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
  @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
  @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.



7198
7199
7200
# File 'lib/models/porcelain.rb', line 7198

def bind_interface
  @bind_interface
end

#databaseObject

The database for healthchecks. Does not affect client requests.



7200
7201
7202
# File 'lib/models/porcelain.rb', line 7200

def database
  @database
end

#egress_filterObject

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



7202
7203
7204
# File 'lib/models/porcelain.rb', line 7202

def egress_filter
  @egress_filter
end

#healthyObject

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



7204
7205
7206
# File 'lib/models/porcelain.rb', line 7204

def healthy
  @healthy
end

#hostnameObject

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



7206
7207
7208
# File 'lib/models/porcelain.rb', line 7206

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



7208
7209
7210
# File 'lib/models/porcelain.rb', line 7208

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



7210
7211
7212
# File 'lib/models/porcelain.rb', line 7210

def name
  @name
end

#passwordObject

The password to authenticate with.



7212
7213
7214
# File 'lib/models/porcelain.rb', line 7212

def password
  @password
end

#portObject

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



7214
7215
7216
# File 'lib/models/porcelain.rb', line 7214

def port
  @port
end

#port_overrideObject

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



7216
7217
7218
# File 'lib/models/porcelain.rb', line 7216

def port_override
  @port_override
end

#proxy_cluster_idObject

ID of the proxy cluster for this resource, if any.



7218
7219
7220
# File 'lib/models/porcelain.rb', line 7218

def proxy_cluster_id
  @proxy_cluster_id
end

#require_native_authObject

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



7220
7221
7222
# File 'lib/models/porcelain.rb', line 7220

def require_native_auth
  @require_native_auth
end

#secret_store_idObject

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



7222
7223
7224
# File 'lib/models/porcelain.rb', line 7222

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)



7224
7225
7226
# File 'lib/models/porcelain.rb', line 7224

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



7226
7227
7228
# File 'lib/models/porcelain.rb', line 7226

def tags
  @tags
end

#use_azure_single_server_usernamesObject

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



7228
7229
7230
# File 'lib/models/porcelain.rb', line 7228

def use_azure_single_server_usernames
  @use_azure_single_server_usernames
end

#usernameObject

The username to authenticate with.



7230
7231
7232
# File 'lib/models/porcelain.rb', line 7230

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



7270
7271
7272
7273
7274
7275
7276
# File 'lib/models/porcelain.rb', line 7270

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