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.



9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
# File 'lib/models/porcelain.rb', line 9640

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.



9612
9613
9614
# File 'lib/models/porcelain.rb', line 9612

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.



9614
9615
9616
# File 'lib/models/porcelain.rb', line 9614

def database
  @database
end

#egress_filterObject

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



9616
9617
9618
# File 'lib/models/porcelain.rb', line 9616

def egress_filter
  @egress_filter
end

#healthyObject

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



9618
9619
9620
# File 'lib/models/porcelain.rb', line 9618

def healthy
  @healthy
end

#hostnameObject

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



9620
9621
9622
# File 'lib/models/porcelain.rb', line 9620

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



9622
9623
9624
# File 'lib/models/porcelain.rb', line 9622

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



9624
9625
9626
# File 'lib/models/porcelain.rb', line 9624

def name
  @name
end

#passwordObject

The password to authenticate with.



9626
9627
9628
# File 'lib/models/porcelain.rb', line 9626

def password
  @password
end

#portObject

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



9628
9629
9630
# File 'lib/models/porcelain.rb', line 9628

def port
  @port
end

#port_overrideObject

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



9630
9631
9632
# File 'lib/models/porcelain.rb', line 9630

def port_override
  @port_override
end

#secret_store_idObject

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



9632
9633
9634
# File 'lib/models/porcelain.rb', line 9632

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)



9634
9635
9636
# File 'lib/models/porcelain.rb', line 9634

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



9636
9637
9638
# File 'lib/models/porcelain.rb', line 9636

def tags
  @tags
end

#usernameObject

The username to authenticate with.



9638
9639
9640
# File 'lib/models/porcelain.rb', line 9638

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



9672
9673
9674
9675
9676
9677
9678
# File 'lib/models/porcelain.rb', line 9672

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