Class: SDM::SSH

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allow_deprecated_key_exchanges: nil, bind_interface: nil, egress_filter: nil, healthy: nil, hostname: nil, id: nil, key_type: nil, name: nil, port: nil, port_forwarding: nil, port_override: nil, public_key: nil, secret_store_id: nil, subdomain: nil, tags: nil, username: nil) ⇒ SSH

Returns a new instance of SSH.



8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
# File 'lib/models/porcelain.rb', line 8265

def initialize(
  allow_deprecated_key_exchanges: nil,
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  key_type: nil,
  name: nil,
  port: nil,
  port_forwarding: nil,
  port_override: nil,
  public_key: nil,
  secret_store_id: nil,
  subdomain: nil,
  tags: nil,
  username: nil
)
  @allow_deprecated_key_exchanges = allow_deprecated_key_exchanges == nil ? false : allow_deprecated_key_exchanges
  @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
  @key_type = key_type == nil ? "" : key_type
  @name = name == nil ? "" : name
  @port = port == nil ? 0 : port
  @port_forwarding = port_forwarding == nil ? false : port_forwarding
  @port_override = port_override == nil ? 0 : port_override
  @public_key = public_key == nil ? "" : public_key
  @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

#allow_deprecated_key_exchangesObject

Whether deprecated, insecure key exchanges are allowed for use to connect to the target ssh server.



8233
8234
8235
# File 'lib/models/porcelain.rb', line 8233

def allow_deprecated_key_exchanges
  @allow_deprecated_key_exchanges
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.



8235
8236
8237
# File 'lib/models/porcelain.rb', line 8235

def bind_interface
  @bind_interface
end

#egress_filterObject

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



8237
8238
8239
# File 'lib/models/porcelain.rb', line 8237

def egress_filter
  @egress_filter
end

#healthyObject

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



8239
8240
8241
# File 'lib/models/porcelain.rb', line 8239

def healthy
  @healthy
end

#hostnameObject

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



8241
8242
8243
# File 'lib/models/porcelain.rb', line 8241

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



8243
8244
8245
# File 'lib/models/porcelain.rb', line 8243

def id
  @id
end

#key_typeObject

The key type to use e.g. rsa-2048 or ed25519



8245
8246
8247
# File 'lib/models/porcelain.rb', line 8245

def key_type
  @key_type
end

#nameObject

Unique human-readable name of the Resource.



8247
8248
8249
# File 'lib/models/porcelain.rb', line 8247

def name
  @name
end

#portObject

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



8249
8250
8251
# File 'lib/models/porcelain.rb', line 8249

def port
  @port
end

#port_forwardingObject

Whether port forwarding is allowed through this server.



8251
8252
8253
# File 'lib/models/porcelain.rb', line 8251

def port_forwarding
  @port_forwarding
end

#port_overrideObject

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



8253
8254
8255
# File 'lib/models/porcelain.rb', line 8253

def port_override
  @port_override
end

#public_keyObject

The public key to append to a server's authorized keys. This will be generated after resource creation.



8255
8256
8257
# File 'lib/models/porcelain.rb', line 8255

def public_key
  @public_key
end

#secret_store_idObject

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



8257
8258
8259
# File 'lib/models/porcelain.rb', line 8257

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)



8259
8260
8261
# File 'lib/models/porcelain.rb', line 8259

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



8261
8262
8263
# File 'lib/models/porcelain.rb', line 8261

def tags
  @tags
end

#usernameObject

The username to authenticate with.



8263
8264
8265
# File 'lib/models/porcelain.rb', line 8263

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



8301
8302
8303
8304
8305
8306
8307
# File 'lib/models/porcelain.rb', line 8301

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