Module: Chef::Knife::WinrmBase

Included in:
BootstrapWindowsWinrm, Winrm
Defined in:
lib/chef/knife/winrm_base.rb

Class Method Summary collapse

Class Method Details

.included(includer) ⇒ Object

:nodoc: Would prefer to do this in a rational way, but can’t be done b/c of Mixlib::CLI’s design :(



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# File 'lib/chef/knife/winrm_base.rb', line 29

def self.included(includer)
  includer.class_eval do

    deps do
      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 }

    option :winrm_password,
      :short => "-P PASSWORD",
      :long => "--winrm-password PASSWORD",
      :description => "The WinRM password",
      :proc => Proc.new { |key| Chef::Config[:knife][:winrm_password] = key }

    option :winrm_port,
      :short => "-p PORT",
      :long => "--winrm-port PORT",
      :description => "The WinRM port, by default this is 5985",
      :default => "5985",
      :proc => Proc.new { |key| Chef::Config[:knife][:winrm_port] = key }

    option :identity_file,
      :short => "-i IDENTITY_FILE",
      :long => "--identity-file IDENTITY_FILE",
      :description => "The SSH identity file used for authentication"

    option :winrm_transport,
      :short => "-t 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_transport] = transport }

    option :kerberos_keytab_file,
      :short => "-i 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 }

    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 }

    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 }

  end
end