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.



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
16849
# File 'lib/models/porcelain.rb', line 16811

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.



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

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.



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

def bind_interface
  @bind_interface
end

#egress_filter ⇒ Object

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



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

def egress_filter
  @egress_filter
end

#healthy ⇒ Object

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



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

def healthy
  @healthy
end

#hostname ⇒ Object

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



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

def hostname
  @hostname
end

#id ⇒ Object

Unique identifier of the Resource.



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

def id
  @id
end

#key_type ⇒ Object

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



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

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.



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

def lock_required
  @lock_required
end

#name ⇒ Object

Unique human-readable name of the Resource.



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

def name
  @name
end

#port ⇒ Object

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



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

def port
  @port
end

#port_forwarding ⇒ Object

Whether port forwarding is allowed through this server.



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

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.



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

def port_override
  @port_override
end

#proxy_cluster_id ⇒ Object

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



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

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.



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

def public_key
  @public_key
end

#secret_store_id ⇒ Object

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



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

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.



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

def subdomain
  @subdomain
end

#tags ⇒ Object

Tags is a map of key, value pairs.



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

def tags
  @tags
end

#username ⇒ Object

The username to authenticate with.



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

def username
  @username
end

Instance Method Details

#to_json(options = {}) ⇒ Object



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

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