Class: Bolt::Config::Transport::SSH
- Defined in:
- lib/bolt/config/transport/ssh.rb
Constant Summary collapse
- OPTIONS =
Options available when using the net-ssh-based transport
%w[ cleanup connect-timeout disconnect-timeout encryption-algorithms extensions host host-key-algorithms host-key-check interpreters kex-algorithms load-config login-shell mac-algorithms password port private-key proxyjump script-dir tmpdir tty user ].concat(RUN_AS_OPTIONS).sort.freeze
- NATIVE_OPTIONS =
Options available when using the native ssh transport
%w[ batch-mode cleanup copy-command host host-key-check interpreters native-ssh port private-key script-dir ssh-command tmpdir user ].concat(RUN_AS_OPTIONS).sort.freeze
- DEFAULTS =
{ "batch-mode" => true, "cleanup" => true, "connect-timeout" => 10, "disconnect-timeout" => 5, "load-config" => true, "login-shell" => 'bash', "tty" => false }.freeze
Constants included from Options
Options::LOGIN_SHELLS, Options::RUN_AS_OPTIONS, Options::TRANSPORT_OPTIONS
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
-
.options ⇒ Object
This method is used to filter CLI options in the Config class.
- .schema ⇒ Object
Instance Method Summary collapse
-
#initialize(data = {}, project = nil) ⇒ SSH
constructor
The set of options available for the ssh and native ssh transports overlap, so we need to check which transport is used before fully initializing, otherwise options may not be filtered correctly.
Methods inherited from Base
#[], #dig, #fetch, #include?, #merge, #resolve, #resolved?, #to_h
Constructor Details
#initialize(data = {}, project = nil) ⇒ SSH
The set of options available for the ssh and native ssh transports overlap, so we need to check which transport is used before fully initializing, otherwise options may not be filtered correctly.
65 66 67 68 69 |
# File 'lib/bolt/config/transport/ssh.rb', line 65 def initialize(data = {}, project = nil) assert_hash_or_config(data) @native = true if data['native-ssh'] super(data, project) end |
Class Method Details
.options ⇒ Object
This method is used to filter CLI options in the Config class. This should include ‘ssh-command` so that we can later warn if the option is present without `native-ssh`
74 75 76 |
# File 'lib/bolt/config/transport/ssh.rb', line 74 def self. %w[ssh-command native-ssh].concat(OPTIONS) end |
.schema ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/bolt/config/transport/ssh.rb', line 78 def self.schema { type: Hash, properties: self::TRANSPORT_OPTIONS.slice(*(self::OPTIONS + self::NATIVE_OPTIONS)), _plugin: true } end |