Class: SDM::Trino

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

Overview

Trino is currently unstable, and its API may change, or it may be removed, without a major version bump.

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, secret_store_id: nil, subdomain: nil, tags: nil, username: nil) ⇒ Trino

Returns a new instance of Trino.



10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
# File 'lib/models/porcelain.rb', line 10980

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,
  secret_store_id: nil,
  subdomain: nil,
  tags: 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
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @subdomain = subdomain == nil ? "" : subdomain
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @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.



10952
10953
10954
# File 'lib/models/porcelain.rb', line 10952

def bind_interface
  @bind_interface
end

#databaseObject

The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.



10954
10955
10956
# File 'lib/models/porcelain.rb', line 10954

def database
  @database
end

#egress_filterObject

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



10956
10957
10958
# File 'lib/models/porcelain.rb', line 10956

def egress_filter
  @egress_filter
end

#healthyObject

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



10958
10959
10960
# File 'lib/models/porcelain.rb', line 10958

def healthy
  @healthy
end

#hostnameObject

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



10960
10961
10962
# File 'lib/models/porcelain.rb', line 10960

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



10962
10963
10964
# File 'lib/models/porcelain.rb', line 10962

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



10964
10965
10966
# File 'lib/models/porcelain.rb', line 10964

def name
  @name
end

#passwordObject

The password to authenticate with.



10966
10967
10968
# File 'lib/models/porcelain.rb', line 10966

def password
  @password
end

#portObject

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



10968
10969
10970
# File 'lib/models/porcelain.rb', line 10968

def port
  @port
end

#port_overrideObject

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



10970
10971
10972
# File 'lib/models/porcelain.rb', line 10970

def port_override
  @port_override
end

#secret_store_idObject

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



10972
10973
10974
# File 'lib/models/porcelain.rb', line 10972

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)



10974
10975
10976
# File 'lib/models/porcelain.rb', line 10974

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



10976
10977
10978
# File 'lib/models/porcelain.rb', line 10976

def tags
  @tags
end

#usernameObject

The username to authenticate with.



10978
10979
10980
# File 'lib/models/porcelain.rb', line 10978

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



11012
11013
11014
11015
11016
11017
11018
# File 'lib/models/porcelain.rb', line 11012

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