chef 12.4.0 → 12.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chef/api_client.rb +31 -129
  3. data/lib/chef/api_client_v1.rb +325 -0
  4. data/lib/chef/chef_class.rb +15 -7
  5. data/lib/chef/chef_fs/file_system/chef_server_root_dir.rb +2 -2
  6. data/lib/chef/dsl/resources.rb +6 -4
  7. data/lib/chef/exceptions.rb +2 -2
  8. data/lib/chef/guard_interpreter/resource_guard_interpreter.rb +2 -1
  9. data/lib/chef/knife/bootstrap/templates/chef-full.erb +4 -4
  10. data/lib/chef/knife/client_bulk_delete.rb +2 -2
  11. data/lib/chef/knife/client_create.rb +4 -4
  12. data/lib/chef/knife/client_delete.rb +3 -3
  13. data/lib/chef/knife/client_edit.rb +10 -2
  14. data/lib/chef/knife/client_list.rb +2 -2
  15. data/lib/chef/knife/client_reregister.rb +2 -2
  16. data/lib/chef/knife/client_show.rb +2 -2
  17. data/lib/chef/knife/osc_user_create.rb +3 -3
  18. data/lib/chef/knife/osc_user_delete.rb +2 -2
  19. data/lib/chef/knife/osc_user_edit.rb +3 -3
  20. data/lib/chef/knife/osc_user_list.rb +2 -2
  21. data/lib/chef/knife/osc_user_reregister.rb +2 -2
  22. data/lib/chef/knife/osc_user_show.rb +2 -2
  23. data/lib/chef/knife/user_create.rb +3 -3
  24. data/lib/chef/knife/user_delete.rb +4 -4
  25. data/lib/chef/knife/user_edit.rb +3 -3
  26. data/lib/chef/knife/user_list.rb +2 -2
  27. data/lib/chef/knife/user_reregister.rb +2 -2
  28. data/lib/chef/knife/user_show.rb +2 -2
  29. data/lib/chef/node_map.rb +14 -18
  30. data/lib/chef/platform/handler_map.rb +45 -0
  31. data/lib/chef/platform/priority_map.rb +19 -32
  32. data/lib/chef/platform/provider_handler_map.rb +29 -0
  33. data/lib/chef/platform/provider_mapping.rb +3 -2
  34. data/lib/chef/platform/resource_handler_map.rb +29 -0
  35. data/lib/chef/platform/resource_priority_map.rb +0 -6
  36. data/lib/chef/provider.rb +1 -1
  37. data/lib/chef/provider/dsc_resource.rb +2 -2
  38. data/lib/chef/provider/dsc_script.rb +1 -1
  39. data/lib/chef/provider/mount/aix.rb +1 -1
  40. data/lib/chef/provider/package.rb +0 -31
  41. data/lib/chef/provider/package/aix.rb +1 -0
  42. data/lib/chef/provider/package/apt.rb +1 -0
  43. data/lib/chef/provider/package/homebrew.rb +1 -0
  44. data/lib/chef/provider/package/ips.rb +1 -0
  45. data/lib/chef/provider/package/macports.rb +1 -0
  46. data/lib/chef/provider/package/openbsd.rb +1 -0
  47. data/lib/chef/provider/package/pacman.rb +1 -0
  48. data/lib/chef/provider/package/paludis.rb +1 -0
  49. data/lib/chef/provider/package/portage.rb +2 -0
  50. data/lib/chef/provider/package/smartos.rb +1 -0
  51. data/lib/chef/provider/package/solaris.rb +2 -0
  52. data/lib/chef/provider/package/yum.rb +1 -0
  53. data/lib/chef/provider/package/zypper.rb +1 -0
  54. data/lib/chef/provider/service.rb +4 -22
  55. data/lib/chef/provider/service/debian.rb +2 -0
  56. data/lib/chef/provider/service/insserv.rb +2 -0
  57. data/lib/chef/provider/service/invokercd.rb +2 -0
  58. data/lib/chef/provider/service/openbsd.rb +1 -1
  59. data/lib/chef/provider/service/redhat.rb +2 -0
  60. data/lib/chef/provider/service/upstart.rb +3 -0
  61. data/lib/chef/provider_resolver.rb +59 -53
  62. data/lib/chef/resource.rb +22 -73
  63. data/lib/chef/resource/dsc_script.rb +1 -1
  64. data/lib/chef/resource/ips_package.rb +1 -0
  65. data/lib/chef/resource/mount.rb +8 -0
  66. data/lib/chef/resource/openbsd_package.rb +0 -11
  67. data/lib/chef/resource/solaris_package.rb +1 -4
  68. data/lib/chef/resource_resolver.rb +54 -26
  69. data/lib/chef/run_list/versioned_recipe_list.rb +6 -5
  70. data/lib/chef/user.rb +52 -188
  71. data/lib/chef/user_v1.rb +335 -0
  72. data/lib/chef/version.rb +1 -1
  73. data/spec/data/trusted_certs/opscode.pem +53 -56
  74. data/spec/functional/provider/whyrun_safe_ruby_block_spec.rb +1 -1
  75. data/spec/functional/resource/package_spec.rb +0 -2
  76. data/spec/integration/recipes/recipe_dsl_spec.rb +661 -126
  77. data/spec/spec_helper.rb +19 -13
  78. data/spec/support/shared/unit/api_versioning.rb +2 -2
  79. data/spec/unit/api_client_spec.rb +22 -201
  80. data/spec/unit/api_client_v1_spec.rb +457 -0
  81. data/spec/unit/knife/client_bulk_delete_spec.rb +4 -4
  82. data/spec/unit/knife/client_create_spec.rb +1 -1
  83. data/spec/unit/knife/client_delete_spec.rb +3 -3
  84. data/spec/unit/knife/client_edit_spec.rb +14 -1
  85. data/spec/unit/knife/client_list_spec.rb +1 -1
  86. data/spec/unit/knife/client_reregister_spec.rb +2 -2
  87. data/spec/unit/knife/client_show_spec.rb +2 -2
  88. data/spec/unit/knife/osc_user_create_spec.rb +5 -5
  89. data/spec/unit/knife/osc_user_delete_spec.rb +1 -1
  90. data/spec/unit/knife/osc_user_edit_spec.rb +1 -1
  91. data/spec/unit/knife/osc_user_list_spec.rb +1 -1
  92. data/spec/unit/knife/osc_user_reregister_spec.rb +1 -1
  93. data/spec/unit/knife/osc_user_show_spec.rb +1 -1
  94. data/spec/unit/knife/user_create_spec.rb +1 -1
  95. data/spec/unit/knife/user_delete_spec.rb +2 -2
  96. data/spec/unit/knife/user_edit_spec.rb +2 -2
  97. data/spec/unit/knife/user_list_spec.rb +1 -1
  98. data/spec/unit/knife/user_reregister_spec.rb +1 -1
  99. data/spec/unit/knife/user_show_spec.rb +2 -2
  100. data/spec/unit/lwrp_spec.rb +146 -134
  101. data/spec/unit/node_map_spec.rb +12 -0
  102. data/spec/unit/platform_spec.rb +1 -1
  103. data/spec/unit/provider/deploy_spec.rb +1 -1
  104. data/spec/unit/provider/dsc_resource_spec.rb +3 -3
  105. data/spec/unit/provider/dsc_script_spec.rb +2 -2
  106. data/spec/unit/provider_resolver_spec.rb +170 -135
  107. data/spec/unit/recipe_spec.rb +3 -3
  108. data/spec/unit/resource/breakpoint_spec.rb +1 -1
  109. data/spec/unit/resource/cron_spec.rb +1 -1
  110. data/spec/unit/resource/directory_spec.rb +1 -1
  111. data/spec/unit/resource/dsc_resource_spec.rb +1 -1
  112. data/spec/unit/resource/dsc_script_spec.rb +2 -2
  113. data/spec/unit/resource/env_spec.rb +1 -1
  114. data/spec/unit/resource/erl_call_spec.rb +1 -1
  115. data/spec/unit/resource/file_spec.rb +1 -1
  116. data/spec/unit/resource/group_spec.rb +1 -1
  117. data/spec/unit/resource/link_spec.rb +1 -1
  118. data/spec/unit/resource/mdadm_spec.rb +1 -1
  119. data/spec/unit/resource/mount_spec.rb +1 -1
  120. data/spec/unit/resource/ohai_spec.rb +1 -1
  121. data/spec/unit/resource/registry_key_spec.rb +1 -1
  122. data/spec/unit/resource/route_spec.rb +1 -1
  123. data/spec/unit/resource/ruby_block_spec.rb +3 -3
  124. data/spec/unit/resource/user_spec.rb +1 -1
  125. data/spec/unit/resource/windows_service_spec.rb +1 -1
  126. data/spec/unit/resource_resolver_spec.rb +8 -4
  127. data/spec/unit/resource_spec.rb +89 -3
  128. data/spec/unit/run_list/versioned_recipe_list_spec.rb +115 -48
  129. data/spec/unit/user_spec.rb +97 -405
  130. data/spec/unit/user_v1_spec.rb +584 -0
  131. metadata +11 -6
  132. data/lib/chef/osc_user.rb +0 -194
  133. data/spec/unit/osc_user_spec.rb +0 -276
@@ -28,6 +28,8 @@
28
28
 
29
29
  require 'chef/platform/provider_priority_map'
30
30
  require 'chef/platform/resource_priority_map'
31
+ require 'chef/platform/provider_handler_map'
32
+ require 'chef/platform/resource_handler_map'
31
33
 
32
34
  class Chef
33
35
  class << self
@@ -160,20 +162,26 @@ class Chef
160
162
  @node = nil
161
163
  @provider_priority_map = nil
162
164
  @resource_priority_map = nil
165
+ @provider_handler_map = nil
166
+ @resource_handler_map = nil
163
167
  end
164
168
 
165
169
  # @api private
166
170
  def provider_priority_map
167
- @provider_priority_map ||= begin
168
- # these slurp in the resource+provider world, so be exceedingly lazy about requiring them
169
- Chef::Platform::ProviderPriorityMap.instance
170
- end
171
+ # these slurp in the resource+provider world, so be exceedingly lazy about requiring them
172
+ @provider_priority_map ||= Chef::Platform::ProviderPriorityMap.instance
171
173
  end
172
174
  # @api private
173
175
  def resource_priority_map
174
- @resource_priority_map ||= begin
175
- Chef::Platform::ResourcePriorityMap.instance
176
- end
176
+ @resource_priority_map ||= Chef::Platform::ResourcePriorityMap.instance
177
+ end
178
+ # @api private
179
+ def provider_handler_map
180
+ @provider_handler_map ||= Chef::Platform::ProviderHandlerMap.instance
181
+ end
182
+ # @api private
183
+ def resource_handler_map
184
+ @resource_handler_map ||= Chef::Platform::ResourceHandlerMap.instance
177
185
  end
178
186
  end
179
187
 
@@ -90,11 +90,11 @@ class Chef
90
90
  end
91
91
 
92
92
  def rest
93
- Chef::ServerAPI.new(chef_server_url, :client_name => chef_username, :signing_key_filename => chef_private_key, :raw_output => true)
93
+ Chef::ServerAPI.new(chef_server_url, :client_name => chef_username, :signing_key_filename => chef_private_key, :raw_output => true, :api_version => "0")
94
94
  end
95
95
 
96
96
  def get_json(path)
97
- Chef::ServerAPI.new(chef_server_url, :client_name => chef_username, :signing_key_filename => chef_private_key).get(path)
97
+ Chef::ServerAPI.new(chef_server_url, :client_name => chef_username, :signing_key_filename => chef_private_key, :api_version => "0").get(path)
98
98
  end
99
99
 
100
100
  def chef_rest
@@ -10,14 +10,16 @@ class Chef
10
10
  def self.add_resource_dsl(dsl_name)
11
11
  begin
12
12
  module_eval(<<-EOM, __FILE__, __LINE__+1)
13
- def #{dsl_name}(name=nil, created_at=nil, &block)
14
- declare_resource(#{dsl_name.inspect}, name, created_at || caller[0], &block)
13
+ def #{dsl_name}(*args, &block)
14
+ Chef::Log.deprecation("Cannot create resource #{dsl_name} with more than one argument. All arguments except the name (\#{args[0].inspect}) will be ignored. This will cause an error in Chef 13. Arguments: \#{args}") if args.size > 1
15
+ declare_resource(#{dsl_name.inspect}, args[0], caller[0], &block)
15
16
  end
16
17
  EOM
17
18
  rescue SyntaxError
18
19
  # Handle the case where dsl_name has spaces, etc.
19
- define_method(dsl_name.to_sym) do |name=nil, created_at=nil, &block|
20
- declare_resource(dsl_name, name, created_at || caller[0], &block)
20
+ define_method(dsl_name.to_sym) do |*args, &block|
21
+ Chef::Log.deprecation("Cannot create resource #{dsl_name} with more than one argument. All arguments except the name (#{args[0].inspect}) will be ignored. This will cause an error in Chef 13. Arguments: #{args}") if args.size > 1
22
+ declare_resource(dsl_name, args[0], caller[0], &block)
21
23
  end
22
24
  end
23
25
  end
@@ -97,6 +97,8 @@ class Chef
97
97
  class ConflictingMembersInGroup < ArgumentError; end
98
98
  class InvalidResourceReference < RuntimeError; end
99
99
  class ResourceNotFound < RuntimeError; end
100
+ class ProviderNotFound < RuntimeError; end
101
+ NoProviderAvailable = ProviderNotFound
100
102
  class VerificationNotFound < RuntimeError; end
101
103
 
102
104
  # Can't find a Resource of this type that is valid on this platform.
@@ -218,8 +220,6 @@ class Chef
218
220
 
219
221
  class ChildConvergeError < RuntimeError; end
220
222
 
221
- class NoProviderAvailable < RuntimeError; end
222
-
223
223
  class DeprecatedFeatureError < RuntimeError;
224
224
  def initalize(message)
225
225
  super("#{message} (raising error due to treat_deprecation_warnings_as_errors being set)")
@@ -68,7 +68,8 @@ class Chef
68
68
  run_action = action || @resource.action
69
69
 
70
70
  begin
71
- @resource.run_action(run_action)
71
+ # Coerce to an array to be safe.
72
+ Array(run_action).each {|action_to_run| @resource.run_action(action_to_run) }
72
73
  resource_updated = @resource.updated
73
74
  rescue Mixlib::ShellOut::ShellCommandFailed
74
75
  resource_updated = nil
@@ -12,7 +12,7 @@ tmp_dir="$tmp/install.sh.$$"
12
12
  (umask 077 && mkdir $tmp_dir) || exit 1
13
13
 
14
14
  exists() {
15
- if command -v $1 &>/dev/null
15
+ if command -v $1 >/dev/null 2>&1
16
16
  then
17
17
  return 0
18
18
  else
@@ -166,12 +166,12 @@ do_download() {
166
166
  <%= knife_config[:bootstrap_install_command] %>
167
167
  <% else %>
168
168
  install_sh="<%= knife_config[:bootstrap_url] ? knife_config[:bootstrap_url] : "https://www.opscode.com/chef/install.sh" %>"
169
- if ! exists /usr/bin/chef-client; then
169
+ if test -f /usr/bin/chef-client; then
170
+ echo "-----> Existing Chef installation detected"
171
+ else
170
172
  echo "-----> Installing Chef Omnibus (<%= latest_current_chef_version_string %>)"
171
173
  do_download ${install_sh} $tmp_dir/install.sh
172
174
  sh $tmp_dir/install.sh -P chef <%= latest_current_chef_version_string %>
173
- else
174
- echo "-----> Existing Chef installation detected"
175
175
  fi
176
176
  <% end %>
177
177
 
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientBulkDelete < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -39,7 +39,7 @@ class Chef
39
39
  ui.fatal("You must supply a regular expression to match the results against")
40
40
  exit 42
41
41
  end
42
- all_clients = Chef::ApiClient.list(true)
42
+ all_clients = Chef::ApiClientV1.list(true)
43
43
 
44
44
  matcher = /#{name_args[0]}/
45
45
  clients_to_delete = {}
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientCreate < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -57,12 +57,12 @@ class Chef
57
57
  banner "knife client create CLIENTNAME (options)"
58
58
 
59
59
  def client
60
- @client_field ||= Chef::ApiClient.new
60
+ @client_field ||= Chef::ApiClientV1.new
61
61
  end
62
62
 
63
63
  def create_client(client)
64
64
  # should not be using save :( bad behavior
65
- client.save
65
+ Chef::ApiClientV1.from_hash(client).save
66
66
  end
67
67
 
68
68
  def run
@@ -93,7 +93,7 @@ class Chef
93
93
 
94
94
  output = edit_data(client)
95
95
  final_client = create_client(output)
96
- ui.info("Created #{output}")
96
+ ui.info("Created #{final_client}")
97
97
 
98
98
  # output private_key if one
99
99
  if final_client.private_key
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientDelete < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -43,8 +43,8 @@ class Chef
43
43
  exit 1
44
44
  end
45
45
 
46
- delete_object(Chef::ApiClient, @client_name, 'client') {
47
- object = Chef::ApiClient.load(@client_name)
46
+ delete_object(Chef::ApiClientV1, @client_name, 'client') {
47
+ object = Chef::ApiClientV1.load(@client_name)
48
48
  if object.validator
49
49
  unless config[:delete_validators]
50
50
  ui.fatal("You must specify --delete-validators to delete the validator client #{@client_name}")
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientEdit < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -38,7 +38,15 @@ class Chef
38
38
  exit 1
39
39
  end
40
40
 
41
- edit_object(Chef::ApiClient, @client_name)
41
+ original_data = Chef::ApiClientV1.load(@client_name).to_hash
42
+ edited_client = edit_data(original_data)
43
+ if original_data != edited_client
44
+ client = Chef::ApiClientV1.from_hash(edited_client)
45
+ client.save
46
+ ui.msg("Saved #{client}.")
47
+ else
48
+ ui.msg("Client unchanged, not saving.")
49
+ end
42
50
  end
43
51
  end
44
52
  end
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientList < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -35,7 +35,7 @@ class Chef
35
35
  :description => "Show corresponding URIs"
36
36
 
37
37
  def run
38
- output(format_list_for_display(Chef::ApiClient.list))
38
+ output(format_list_for_display(Chef::ApiClientV1.list))
39
39
  end
40
40
  end
41
41
  end
@@ -23,7 +23,7 @@ class Chef
23
23
  class ClientReregister < Knife
24
24
 
25
25
  deps do
26
- require 'chef/api_client'
26
+ require 'chef/api_client_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -43,7 +43,7 @@ class Chef
43
43
  exit 1
44
44
  end
45
45
 
46
- client = Chef::ApiClient.reregister(@client_name)
46
+ client = Chef::ApiClientV1.reregister(@client_name)
47
47
  Chef::Log.debug("Updated client data: #{client.inspect}")
48
48
  key = client.private_key
49
49
  if config[:file]
@@ -25,7 +25,7 @@ class Chef
25
25
  include Knife::Core::MultiAttributeReturnOption
26
26
 
27
27
  deps do
28
- require 'chef/api_client'
28
+ require 'chef/api_client_v1'
29
29
  require 'chef/json_compat'
30
30
  end
31
31
 
@@ -40,7 +40,7 @@ class Chef
40
40
  exit 1
41
41
  end
42
42
 
43
- client = Chef::ApiClient.load(@client_name)
43
+ client = Chef::ApiClientV1.load(@client_name)
44
44
  output(format_for_display(client))
45
45
  end
46
46
 
@@ -27,7 +27,7 @@ class Chef
27
27
  class OscUserCreate < Knife
28
28
 
29
29
  deps do
30
- require 'chef/osc_user'
30
+ require 'chef/user'
31
31
  require 'chef/json_compat'
32
32
  end
33
33
 
@@ -69,7 +69,7 @@ class Chef
69
69
  exit 1
70
70
  end
71
71
 
72
- user = Chef::OscUser.new
72
+ user = Chef::User.new
73
73
  user.name(@user_name)
74
74
  user.admin(config[:admin])
75
75
  user.password config[:user_password]
@@ -79,7 +79,7 @@ class Chef
79
79
  end
80
80
 
81
81
  output = edit_data(user)
82
- user = Chef::OscUser.from_hash(output).create
82
+ user = Chef::User.from_hash(output).create
83
83
 
84
84
  ui.info("Created #{user}")
85
85
  if user.private_key
@@ -28,7 +28,7 @@ class Chef
28
28
  class OscUserDelete < Knife
29
29
 
30
30
  deps do
31
- require 'chef/osc_user'
31
+ require 'chef/user'
32
32
  require 'chef/json_compat'
33
33
  end
34
34
 
@@ -43,7 +43,7 @@ class Chef
43
43
  exit 1
44
44
  end
45
45
 
46
- delete_object(Chef::OscUser, @user_name)
46
+ delete_object(Chef::User, @user_name)
47
47
  end
48
48
 
49
49
  end
@@ -28,7 +28,7 @@ class Chef
28
28
  class OscUserEdit < Knife
29
29
 
30
30
  deps do
31
- require 'chef/osc_user'
31
+ require 'chef/user'
32
32
  require 'chef/json_compat'
33
33
  end
34
34
 
@@ -43,10 +43,10 @@ class Chef
43
43
  exit 1
44
44
  end
45
45
 
46
- original_user = Chef::OscUser.load(@user_name).to_hash
46
+ original_user = Chef::User.load(@user_name).to_hash
47
47
  edited_user = edit_data(original_user)
48
48
  if original_user != edited_user
49
- user = Chef::OscUser.from_hash(edited_user)
49
+ user = Chef::User.from_hash(edited_user)
50
50
  user.update
51
51
  ui.msg("Saved #{user}.")
52
52
  else
@@ -28,7 +28,7 @@ class Chef
28
28
  class OscUserList < Knife
29
29
 
30
30
  deps do
31
- require 'chef/osc_user'
31
+ require 'chef/user'
32
32
  require 'chef/json_compat'
33
33
  end
34
34
 
@@ -40,7 +40,7 @@ class Chef
40
40
  :description => "Show corresponding URIs"
41
41
 
42
42
  def run
43
- output(format_list_for_display(Chef::OscUser.list))
43
+ output(format_list_for_display(Chef::User.list))
44
44
  end
45
45
  end
46
46
  end
@@ -28,7 +28,7 @@ class Chef
28
28
  class OscUserReregister < Knife
29
29
 
30
30
  deps do
31
- require 'chef/osc_user'
31
+ require 'chef/user'
32
32
  require 'chef/json_compat'
33
33
  end
34
34
 
@@ -48,7 +48,7 @@ class Chef
48
48
  exit 1
49
49
  end
50
50
 
51
- user = Chef::OscUser.load(@user_name).reregister
51
+ user = Chef::User.load(@user_name).reregister
52
52
  Chef::Log.debug("Updated user data: #{user.inspect}")
53
53
  key = user.private_key
54
54
  if config[:file]
@@ -30,7 +30,7 @@ class Chef
30
30
  include Knife::Core::MultiAttributeReturnOption
31
31
 
32
32
  deps do
33
- require 'chef/osc_user'
33
+ require 'chef/user'
34
34
  require 'chef/json_compat'
35
35
  end
36
36
 
@@ -45,7 +45,7 @@ class Chef
45
45
  exit 1
46
46
  end
47
47
 
48
- user = Chef::OscUser.load(@user_name)
48
+ user = Chef::User.load(@user_name)
49
49
  output(format_for_display(user))
50
50
  end
51
51
 
@@ -27,7 +27,7 @@ class Chef
27
27
  attr_accessor :user_field
28
28
 
29
29
  deps do
30
- require 'chef/user'
30
+ require 'chef/user_v1'
31
31
  require 'chef/json_compat'
32
32
  end
33
33
 
@@ -61,11 +61,11 @@ class Chef
61
61
  banner "knife user create USERNAME DISPLAY_NAME FIRST_NAME LAST_NAME EMAIL PASSWORD (options)"
62
62
 
63
63
  def user
64
- @user_field ||= Chef::User.new
64
+ @user_field ||= Chef::UserV1.new
65
65
  end
66
66
 
67
67
  def create_user_from_hash(hash)
68
- Chef::User.from_hash(hash).create
68
+ Chef::UserV1.from_hash(hash).create
69
69
  end
70
70
 
71
71
  def osc_11_warning
@@ -23,7 +23,7 @@ class Chef
23
23
  class UserDelete < Knife
24
24
 
25
25
  deps do
26
- require 'chef/user'
26
+ require 'chef/user_v1'
27
27
  require 'chef/json_compat'
28
28
  end
29
29
 
@@ -55,7 +55,7 @@ EOF
55
55
  if Kernel.block_given?
56
56
  object = block.call
57
57
  else
58
- object = Chef::User.load(user_name)
58
+ object = Chef::UserV1.load(user_name)
59
59
  object.destroy
60
60
  end
61
61
 
@@ -77,10 +77,10 @@ EOF
77
77
  # Below is modification of Chef::Knife.delete_object to detect OSC 11 server.
78
78
  # When OSC 11 is deprecated, simply delete all this and go back to:
79
79
  #
80
- # delete_object(Chef::User, @user_name)
80
+ # delete_object(Chef::UserV1, @user_name)
81
81
  #
82
82
  # Also delete our override of delete_object above
83
- object = Chef::User.load(@user_name)
83
+ object = Chef::UserV1.load(@user_name)
84
84
 
85
85
  # OSC 11 case
86
86
  if object.username.nil?