lib/chef/knife/winrm_base.rb in knife-windows-3.0.6 vs lib/chef/knife/winrm_base.rb in knife-windows-3.0.10

- old
+ new

@@ -14,114 +14,116 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # -require 'chef/knife' -require 'chef/encrypted_data_bag_item' -require 'kconv' +require "chef/knife" +require "chef/encrypted_data_bag_item" +require "kconv" class Chef class Knife module WinrmBase # It includes supported WinRM authentication protocol. - WINRM_AUTH_PROTOCOL_LIST ||= %w{basic negotiate kerberos} + WINRM_AUTH_PROTOCOL_LIST ||= %w{basic negotiate kerberos}.freeze # :nodoc: # Would prefer to do this in a rational way, but can't be done b/c of # Mixlib::CLI's design :( def self.included(includer) includer.class_eval do deps do - require 'readline' - require 'chef/json_compat' + require "readline" + require "chef/json_compat" end option :winrm_user, - :short => "-x USERNAME", - :long => "--winrm-user USERNAME", - :description => "The WinRM username", - :default => "Administrator", - :proc => Proc.new { |key| Chef::Config[:knife][:winrm_user] = key } + short: "-x USERNAME", + long: "--winrm-user USERNAME", + description: "The WinRM username", + default: "Administrator", + proc: Proc.new { |key| Chef::Config[:knife][:winrm_user] = key } option :winrm_password, - :short => "-P PASSWORD", - :long => "--winrm-password PASSWORD", - :description => "The WinRM password", - :proc => Proc.new { |key| Chef::Config[:knife][:winrm_password] = key } + short: "-P PASSWORD", + long: "--winrm-password PASSWORD", + description: "The WinRM password", + proc: Proc.new { |key| Chef::Config[:knife][:winrm_password] = key } option :winrm_shell, - :long => "--winrm-shell SHELL", - :description => "The WinRM shell type. Valid choices are [cmd, powershell, elevated]. 'elevated' runs powershell in a scheduled task", - :default => :cmd, - :proc => Proc.new { |shell| shell.to_sym } + long: "--winrm-shell SHELL", + description: "The WinRM shell type. Valid choices are [cmd, powershell, elevated]. 'elevated' runs powershell in a scheduled task", + default: :cmd, + proc: Proc.new { |shell| shell.to_sym } option :winrm_transport, - :short => "-w TRANSPORT", - :long => "--winrm-transport TRANSPORT", - :description => "The WinRM transport type. Valid choices are [ssl, plaintext]", - :default => 'plaintext', - :proc => Proc.new { |transport| Chef::Config[:knife][:winrm_port] = '5986' if transport == 'ssl' - Chef::Config[:knife][:winrm_transport] = transport } + short: "-w TRANSPORT", + long: "--winrm-transport TRANSPORT", + description: "The WinRM transport type. Valid choices are [ssl, plaintext]", + default: "plaintext", + proc: Proc.new { |transport| + Chef::Config[:knife][:winrm_port] = "5986" if transport == "ssl" + Chef::Config[:knife][:winrm_transport] = transport + } option :winrm_port, - :short => "-p PORT", - :long => "--winrm-port PORT", - :description => "The WinRM port, by default this is '5985' for 'plaintext' and '5986' for 'ssl' winrm transport", - :default => '5985', - :proc => Proc.new { |key| Chef::Config[:knife][:winrm_port] = key } + short: "-p PORT", + long: "--winrm-port PORT", + description: "The WinRM port, by default this is '5985' for 'plaintext' and '5986' for 'ssl' winrm transport", + default: "5985", + proc: Proc.new { |key| Chef::Config[:knife][:winrm_port] = key } option :kerberos_keytab_file, - :short => "-T KEYTAB_FILE", - :long => "--keytab-file KEYTAB_FILE", - :description => "The Kerberos keytab file used for authentication", - :proc => Proc.new { |keytab| Chef::Config[:knife][:kerberos_keytab_file] = keytab } + short: "-T KEYTAB_FILE", + long: "--keytab-file KEYTAB_FILE", + description: "The Kerberos keytab file used for authentication", + proc: Proc.new { |keytab| Chef::Config[:knife][:kerberos_keytab_file] = keytab } option :kerberos_realm, - :short => "-R KERBEROS_REALM", - :long => "--kerberos-realm KERBEROS_REALM", - :description => "The Kerberos realm used for authentication", - :proc => Proc.new { |realm| Chef::Config[:knife][:kerberos_realm] = realm } + short: "-R KERBEROS_REALM", + long: "--kerberos-realm KERBEROS_REALM", + description: "The Kerberos realm used for authentication", + proc: Proc.new { |realm| Chef::Config[:knife][:kerberos_realm] = realm } option :kerberos_service, - :short => "-S KERBEROS_SERVICE", - :long => "--kerberos-service KERBEROS_SERVICE", - :description => "The Kerberos service used for authentication", - :proc => Proc.new { |service| Chef::Config[:knife][:kerberos_service] = service } + short: "-S KERBEROS_SERVICE", + long: "--kerberos-service KERBEROS_SERVICE", + description: "The Kerberos service used for authentication", + proc: Proc.new { |service| Chef::Config[:knife][:kerberos_service] = service } option :ca_trust_file, - :short => "-f CA_TRUST_FILE", - :long => "--ca-trust-file CA_TRUST_FILE", - :description => "The Certificate Authority (CA) trust file used for SSL transport", - :proc => Proc.new { |trust| Chef::Config[:knife][:ca_trust_file] = trust } + short: "-f CA_TRUST_FILE", + long: "--ca-trust-file CA_TRUST_FILE", + description: "The Certificate Authority (CA) trust file used for SSL transport", + proc: Proc.new { |trust| Chef::Config[:knife][:ca_trust_file] = trust } option :winrm_ssl_verify_mode, - :long => "--winrm-ssl-verify-mode SSL_VERIFY_MODE", - :description => "The WinRM peer verification mode. Valid choices are [verify_peer, verify_none]", - :default => :verify_peer, - :proc => Proc.new { |verify_mode| verify_mode.to_sym } + long: "--winrm-ssl-verify-mode SSL_VERIFY_MODE", + description: "The WinRM peer verification mode. Valid choices are [verify_peer, verify_none]", + default: :verify_peer, + proc: Proc.new { |verify_mode| verify_mode.to_sym } option :ssl_peer_fingerprint, - :long => "--ssl-peer-fingerprint FINGERPRINT", - :description => "ssl Cert Fingerprint to bypass normal cert chain checks" + long: "--ssl-peer-fingerprint FINGERPRINT", + description: "ssl Cert Fingerprint to bypass normal cert chain checks" option :winrm_authentication_protocol, - :long => "--winrm-authentication-protocol AUTHENTICATION_PROTOCOL", - :description => "The authentication protocol used during WinRM communication. The supported protocols are #{WINRM_AUTH_PROTOCOL_LIST.join(',')}. Default is 'negotiate'.", - :default => "negotiate", - :proc => Proc.new { |protocol| Chef::Config[:knife][:winrm_authentication_protocol] = protocol } + long: "--winrm-authentication-protocol AUTHENTICATION_PROTOCOL", + description: "The authentication protocol used during WinRM communication. The supported protocols are #{WINRM_AUTH_PROTOCOL_LIST.join(",")}. Default is 'negotiate'.", + default: "negotiate", + proc: Proc.new { |protocol| Chef::Config[:knife][:winrm_authentication_protocol] = protocol } option :session_timeout, - :long => "--session-timeout Minutes", - :description => "The timeout for the client for the maximum length of the WinRM session", - :default => 30 + long: "--session-timeout Minutes", + description: "The timeout for the client for the maximum length of the WinRM session", + default: 30 option :winrm_codepage, - :long => "--winrm-codepage Codepage", - :description => "The codepage to use for the winrm cmd shell", - :default => 65001 + long: "--winrm-codepage Codepage", + description: "The codepage to use for the winrm cmd shell", + default: 65001 end end end end end