Class: SDM::MongoHost

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(auth_database: nil, bind_interface: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, name: nil, password: nil, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, subdomain: nil, tags: nil, tls_required: nil, username: nil) ⇒ MongoHost

Returns a new instance of MongoHost.



7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
# File 'lib/models/porcelain.rb', line 7914

def initialize(
  auth_database: nil,
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  password: nil,
  port: nil,
  port_override: nil,
  proxy_cluster_id: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: nil,
  tls_required: nil,
  username: nil
)
  @auth_database = auth_database == nil ? "" : auth_database
  @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
  @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
  @secret_store_id = secret_store_id == nil ? "" : secret_store_id
  @subdomain = subdomain == nil ? "" : subdomain
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
  @tls_required = tls_required == nil ? false : tls_required
  @username = username == nil ? "" : username
end

Instance Attribute Details

#auth_databaseObject

The authentication database to use.



7882
7883
7884
# File 'lib/models/porcelain.rb', line 7882

def auth_database
  @auth_database
end

#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.



7884
7885
7886
# File 'lib/models/porcelain.rb', line 7884

def bind_interface
  @bind_interface
end

#egress_filterObject

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



7886
7887
7888
# File 'lib/models/porcelain.rb', line 7886

def egress_filter
  @egress_filter
end

#healthyObject

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



7888
7889
7890
# File 'lib/models/porcelain.rb', line 7888

def healthy
  @healthy
end

#hostnameObject

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



7890
7891
7892
# File 'lib/models/porcelain.rb', line 7890

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



7892
7893
7894
# File 'lib/models/porcelain.rb', line 7892

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



7894
7895
7896
# File 'lib/models/porcelain.rb', line 7894

def name
  @name
end

#passwordObject

The password to authenticate with.



7896
7897
7898
# File 'lib/models/porcelain.rb', line 7896

def password
  @password
end

#portObject

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



7898
7899
7900
# File 'lib/models/porcelain.rb', line 7898

def port
  @port
end

#port_overrideObject

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



7900
7901
7902
# File 'lib/models/porcelain.rb', line 7900

def port_override
  @port_override
end

#proxy_cluster_idObject

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



7902
7903
7904
# File 'lib/models/porcelain.rb', line 7902

def proxy_cluster_id
  @proxy_cluster_id
end

#secret_store_idObject

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



7904
7905
7906
# File 'lib/models/porcelain.rb', line 7904

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)



7906
7907
7908
# File 'lib/models/porcelain.rb', line 7906

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



7908
7909
7910
# File 'lib/models/porcelain.rb', line 7908

def tags
  @tags
end

#tls_requiredObject

If set, TLS must be used to connect to this resource.



7910
7911
7912
# File 'lib/models/porcelain.rb', line 7910

def tls_required
  @tls_required
end

#usernameObject

The username to authenticate with.



7912
7913
7914
# File 'lib/models/porcelain.rb', line 7912

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



7950
7951
7952
7953
7954
7955
7956
# File 'lib/models/porcelain.rb', line 7950

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