Class: SDM::Snowflake

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

Returns a new instance of Snowflake.



10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
# File 'lib/models/porcelain.rb', line 10572

def initialize(
  bind_interface: nil,
  database: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  password: nil,
  port_override: nil,
  schema: 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_override = port_override == nil ? 0 : port_override
  @schema = schema == nil ? "" : schema
  @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.



10544
10545
10546
# File 'lib/models/porcelain.rb', line 10544

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.



10546
10547
10548
# File 'lib/models/porcelain.rb', line 10546

def database
  @database
end

#egress_filterObject

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



10548
10549
10550
# File 'lib/models/porcelain.rb', line 10548

def egress_filter
  @egress_filter
end

#healthyObject

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



10550
10551
10552
# File 'lib/models/porcelain.rb', line 10550

def healthy
  @healthy
end

#hostnameObject

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



10552
10553
10554
# File 'lib/models/porcelain.rb', line 10552

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



10554
10555
10556
# File 'lib/models/porcelain.rb', line 10554

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



10556
10557
10558
# File 'lib/models/porcelain.rb', line 10556

def name
  @name
end

#passwordObject

The password to authenticate with.



10558
10559
10560
# File 'lib/models/porcelain.rb', line 10558

def password
  @password
end

#port_overrideObject

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



10560
10561
10562
# File 'lib/models/porcelain.rb', line 10560

def port_override
  @port_override
end

#schemaObject

The schema to provide on authentication.



10562
10563
10564
# File 'lib/models/porcelain.rb', line 10562

def schema
  @schema
end

#secret_store_idObject

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



10564
10565
10566
# File 'lib/models/porcelain.rb', line 10564

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)



10566
10567
10568
# File 'lib/models/porcelain.rb', line 10566

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



10568
10569
10570
# File 'lib/models/porcelain.rb', line 10568

def tags
  @tags
end

#usernameObject

The username to authenticate with.



10570
10571
10572
# File 'lib/models/porcelain.rb', line 10570

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



10604
10605
10606
10607
10608
10609
10610
# File 'lib/models/porcelain.rb', line 10604

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