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.



16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824
16825
16826
16827
16828
16829
16830
16831
16832
16833
16834
16835
16836
16837
16838
16839
16840
16841
16842
16843
16844
16845
16846
16847
16848
# File 'lib/models/porcelain.rb', line 16810

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_exchanges ⇒ Object

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



16774
16775
16776
# File 'lib/models/porcelain.rb', line 16774

def allow_deprecated_key_exchanges
  @allow_deprecated_key_exchanges
end

#bind_interface ⇒ Object

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.



16776
16777
16778
# File 'lib/models/porcelain.rb', line 16776

def bind_interface
  @bind_interface
end

#egress_filter ⇒ Object

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



16778
16779
16780
# File 'lib/models/porcelain.rb', line 16778

def egress_filter
  @egress_filter
end

#healthy ⇒ Object

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



16780
16781
16782
# File 'lib/models/porcelain.rb', line 16780

def healthy
  @healthy
end

#hostname ⇒ Object

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



16782
16783
16784
# File 'lib/models/porcelain.rb', line 16782

def hostname
  @hostname
end

#id ⇒ Object

Unique identifier of the Resource.



16784
16785
16786
# File 'lib/models/porcelain.rb', line 16784

def id
  @id
end

#key_type ⇒ Object

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



16786
16787
16788
# File 'lib/models/porcelain.rb', line 16786

def key_type
  @key_type
end

#lock_required ⇒ Object

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



16788
16789
16790
# File 'lib/models/porcelain.rb', line 16788

def lock_required
  @lock_required
end

#name ⇒ Object

Unique human-readable name of the Resource.



16790
16791
16792
# File 'lib/models/porcelain.rb', line 16790

def name
  @name
end

#port ⇒ Object

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



16792
16793
16794
# File 'lib/models/porcelain.rb', line 16792

def port
  @port
end

#port_forwarding ⇒ Object

Whether port forwarding is allowed through this server.



16794
16795
16796
# File 'lib/models/porcelain.rb', line 16794

def port_forwarding
  @port_forwarding
end

#port_override ⇒ Object

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.



16796
16797
16798
# File 'lib/models/porcelain.rb', line 16796

def port_override
  @port_override
end

#proxy_cluster_id ⇒ Object

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



16798
16799
16800
# File 'lib/models/porcelain.rb', line 16798

def proxy_cluster_id
  @proxy_cluster_id
end

#public_key ⇒ Object

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



16800
16801
16802
# File 'lib/models/porcelain.rb', line 16800

def public_key
  @public_key
end

#secret_store_id ⇒ Object

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



16802
16803
16804
# File 'lib/models/porcelain.rb', line 16802

def secret_store_id
  @secret_store_id
end

#subdomain ⇒ Object

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.



16804
16805
16806
# File 'lib/models/porcelain.rb', line 16804

def subdomain
  @subdomain
end

#tags ⇒ Object

Tags is a map of key, value pairs.



16806
16807
16808
# File 'lib/models/porcelain.rb', line 16806

def tags
  @tags
end

#username ⇒ Object

The username to authenticate with.



16808
16809
16810
# File 'lib/models/porcelain.rb', line 16808

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16850
16851
16852
16853
16854
16855
16856
# File 'lib/models/porcelain.rb', line 16850

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