Class: SDM::RawTCP

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, port: nil, port_override: nil, proxy_cluster_id: nil, secret_store_id: nil, subdomain: nil, tags: nil) ⇒ RawTCP

Returns a new instance of RawTCP.



13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
# File 'lib/models/porcelain.rb', line 13177

def initialize(
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  name: nil,
  port: nil,
  port_override: nil,
  proxy_cluster_id: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: 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
  @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
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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.



13153
13154
13155
# File 'lib/models/porcelain.rb', line 13153

def bind_interface
  @bind_interface
end

#egress_filterObject

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



13155
13156
13157
# File 'lib/models/porcelain.rb', line 13155

def egress_filter
  @egress_filter
end

#healthyObject

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



13157
13158
13159
# File 'lib/models/porcelain.rb', line 13157

def healthy
  @healthy
end

#hostnameObject

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



13159
13160
13161
# File 'lib/models/porcelain.rb', line 13159

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



13161
13162
13163
# File 'lib/models/porcelain.rb', line 13161

def id
  @id
end

#nameObject

Unique human-readable name of the Resource.



13163
13164
13165
# File 'lib/models/porcelain.rb', line 13163

def name
  @name
end

#portObject

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



13165
13166
13167
# File 'lib/models/porcelain.rb', line 13165

def port
  @port
end

#port_overrideObject

The local port used by clients to connect to this resource. It is automatically generated if not provided on create and may be re-generated on update by specifying a value of -1.



13167
13168
13169
# File 'lib/models/porcelain.rb', line 13167

def port_override
  @port_override
end

#proxy_cluster_idObject

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



13169
13170
13171
# File 'lib/models/porcelain.rb', line 13169

def proxy_cluster_id
  @proxy_cluster_id
end

#secret_store_idObject

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



13171
13172
13173
# File 'lib/models/porcelain.rb', line 13171

def secret_store_id
  @secret_store_id
end

#subdomainObject

DNS subdomain through which this resource may be accessed on clients. (e.g. "app-prod1" allows the resource to be accessed at "app-prod1.your-org-name.sdm-proxy-domain"). Only applicable to HTTP-based resources or resources using virtual networking mode.



13173
13174
13175
# File 'lib/models/porcelain.rb', line 13173

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



13175
13176
13177
# File 'lib/models/porcelain.rb', line 13175

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13205
13206
13207
13208
13209
13210
13211
# File 'lib/models/porcelain.rb', line 13205

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