Class: SDM::Druid

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, 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) ⇒ Druid



3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
# File 'lib/models/porcelain.rb', line 3789

def initialize(
  bind_interface: 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
  @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.



3763
3764
3765
# File 'lib/models/porcelain.rb', line 3763

def bind_interface
  @bind_interface
end

#egress_filterObject

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



3765
3766
3767
# File 'lib/models/porcelain.rb', line 3765

def egress_filter
  @egress_filter
end

#healthyObject

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



3767
3768
3769
# File 'lib/models/porcelain.rb', line 3767

def healthy
  @healthy
end

#hostnameObject

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



3769
3770
3771
# File 'lib/models/porcelain.rb', line 3769

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



3771
3772
3773
# File 'lib/models/porcelain.rb', line 3771

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



3773
3774
3775
# File 'lib/models/porcelain.rb', line 3773

def name
  @name
end

#passwordObject

The password to authenticate with.



3775
3776
3777
# File 'lib/models/porcelain.rb', line 3775

def password
  @password
end

#portObject

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



3777
3778
3779
# File 'lib/models/porcelain.rb', line 3777

def port
  @port
end

#port_overrideObject

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



3779
3780
3781
# File 'lib/models/porcelain.rb', line 3779

def port_override
  @port_override
end

#secret_store_idObject

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



3781
3782
3783
# File 'lib/models/porcelain.rb', line 3781

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)



3783
3784
3785
# File 'lib/models/porcelain.rb', line 3783

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



3785
3786
3787
# File 'lib/models/porcelain.rb', line 3785

def tags
  @tags
end

#usernameObject

The username to authenticate with.



3787
3788
3789
# File 'lib/models/porcelain.rb', line 3787

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



3819
3820
3821
3822
3823
3824
3825
# File 'lib/models/porcelain.rb', line 3819

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