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, lock_required: 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.



16751
16752
16753
16754
16755
16756
16757
16758
16759
16760
16761
16762
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
# File 'lib/models/porcelain.rb', line 16751

def initialize(
  allow_deprecated_key_exchanges: nil,
  bind_interface: nil,
  egress_filter: nil,
  healthy: nil,
  hostname: nil,
  id: nil,
  key_type: nil,
  lock_required: 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
  @lock_required = lock_required == nil ? false : lock_required
  @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.



16715
16716
16717
# File 'lib/models/porcelain.rb', line 16715

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 and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.



16717
16718
16719
# File 'lib/models/porcelain.rb', line 16717

def bind_interface
  @bind_interface
end

#egress_filterObject

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



16719
16720
16721
# File 'lib/models/porcelain.rb', line 16719

def egress_filter
  @egress_filter
end

#healthyObject

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



16721
16722
16723
# File 'lib/models/porcelain.rb', line 16721

def healthy
  @healthy
end

#hostnameObject

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



16723
16724
16725
# File 'lib/models/porcelain.rb', line 16723

def hostname
  @hostname
end

#idObject

Unique identifier of the Resource.



16725
16726
16727
# File 'lib/models/porcelain.rb', line 16725

def id
  @id
end

#key_typeObject

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



16727
16728
16729
# File 'lib/models/porcelain.rb', line 16727

def key_type
  @key_type
end

#lock_requiredObject

When set, require a resource lock to access the resource to ensure it can only be used by one user at a time.



16729
16730
16731
# File 'lib/models/porcelain.rb', line 16729

def lock_required
  @lock_required
end

#nameObject

Unique human-readable name of the Resource.



16731
16732
16733
# File 'lib/models/porcelain.rb', line 16731

def name
  @name
end

#portObject

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



16733
16734
16735
# File 'lib/models/porcelain.rb', line 16733

def port
  @port
end

#port_forwardingObject

Whether port forwarding is allowed through this server.



16735
16736
16737
# File 'lib/models/porcelain.rb', line 16735

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



16737
16738
16739
# File 'lib/models/porcelain.rb', line 16737

def port_override
  @port_override
end

#proxy_cluster_idObject

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



16739
16740
16741
# File 'lib/models/porcelain.rb', line 16739

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.



16741
16742
16743
# File 'lib/models/porcelain.rb', line 16741

def public_key
  @public_key
end

#secret_store_idObject

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



16743
16744
16745
# File 'lib/models/porcelain.rb', line 16743

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.



16745
16746
16747
# File 'lib/models/porcelain.rb', line 16745

def subdomain
  @subdomain
end

#tagsObject

Tags is a map of key, value pairs.



16747
16748
16749
# File 'lib/models/porcelain.rb', line 16747

def tags
  @tags
end

#usernameObject

The username to authenticate with.



16749
16750
16751
# File 'lib/models/porcelain.rb', line 16749

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16791
16792
16793
16794
16795
16796
16797
# File 'lib/models/porcelain.rb', line 16791

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