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, proxy_cluster_id: nil, public_key: nil, secret_store_id: nil, subdomain: nil, tags: nil, username: nil) ⇒ SSH

Returns a new instance of SSH.



13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
# File 'lib/models/porcelain.rb', line 13504

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,
  proxy_cluster_id: 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
  @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
  @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.



13470
13471
13472
# File 'lib/models/porcelain.rb', line 13470

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.



13472
13473
13474
# File 'lib/models/porcelain.rb', line 13472

def bind_interface
  @bind_interface
end

#egress_filterObject

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



13474
13475
13476
# File 'lib/models/porcelain.rb', line 13474

def egress_filter
  @egress_filter
end

#healthyObject

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



13476
13477
13478
# File 'lib/models/porcelain.rb', line 13476

def healthy
  @healthy
end

#hostnameObject

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



13478
13479
13480
# File 'lib/models/porcelain.rb', line 13478

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



13480
13481
13482
# File 'lib/models/porcelain.rb', line 13480

def id
  @id
end

#key_typeObject

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



13482
13483
13484
# File 'lib/models/porcelain.rb', line 13482

def key_type
  @key_type
end

#nameObject

Unique human-readable name of the Resource.



13484
13485
13486
# File 'lib/models/porcelain.rb', line 13484

def name
  @name
end

#portObject

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



13486
13487
13488
# File 'lib/models/porcelain.rb', line 13486

def port
  @port
end

#port_forwardingObject

Whether port forwarding is allowed through this server.



13488
13489
13490
# File 'lib/models/porcelain.rb', line 13488

def port_forwarding
  @port_forwarding
end

#port_overrideObject

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



13490
13491
13492
# File 'lib/models/porcelain.rb', line 13490

def port_override
  @port_override
end

#proxy_cluster_idObject

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



13492
13493
13494
# File 'lib/models/porcelain.rb', line 13492

def proxy_cluster_id
  @proxy_cluster_id
end

#public_keyObject

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



13494
13495
13496
# File 'lib/models/porcelain.rb', line 13494

def public_key
  @public_key
end

#secret_store_idObject

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



13496
13497
13498
# File 'lib/models/porcelain.rb', line 13496

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)



13498
13499
13500
# File 'lib/models/porcelain.rb', line 13498

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



13500
13501
13502
# File 'lib/models/porcelain.rb', line 13500

def tags
  @tags
end

#usernameObject

The username to authenticate with.



13502
13503
13504
# File 'lib/models/porcelain.rb', line 13502

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



13542
13543
13544
13545
13546
13547
13548
# File 'lib/models/porcelain.rb', line 13542

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