diff options
-rw-r--r-- | lib/chef/resource/user.rb | 138 | ||||
-rw-r--r-- | lib/chef/resource/user/linux_user.rb | 1 | ||||
-rw-r--r-- | spec/unit/provider/user_spec.rb | 2 |
3 files changed, 14 insertions, 127 deletions
diff --git a/lib/chef/resource/user.rb b/lib/chef/resource/user.rb index df52ebb083..ea8c7af5e7 100644 --- a/lib/chef/resource/user.rb +++ b/lib/chef/resource/user.rb @@ -23,137 +23,25 @@ class Chef # Use the user resource to add users, update existing users, remove users, and to lock/unlock user passwords. class User < Chef::Resource resource_name :user_resource_abstract_base_class # this prevents magickal class name DSL wiring - identity_attr :username - - state_attrs :uid, :gid, :home default_action :create allowed_actions :create, :remove, :modify, :manage, :lock, :unlock - def initialize(name, run_context = nil) - super - @username = name - @comment = nil - @uid = nil - @gid = nil - @home = nil - @shell = nil - @password = nil - @system = false - @manage_home = false - @force = false - @non_unique = false - @iterations = 27855 - @salt = nil - end - - def username(arg = nil) - set_or_return( - :username, - arg, - kind_of: [ String ] - ) - end - - def comment(arg = nil) - set_or_return( - :comment, - arg, - kind_of: [ String ] - ) - end - - def uid(arg = Chef::NOT_PASSED) - set_or_return( - :uid, - arg, - kind_of: [ String, Integer, NilClass ], - coerce: proc { |x| x || nil } - ) - end - - def gid(arg = Chef::NOT_PASSED) - set_or_return( - :gid, - arg, - kind_of: [ String, Integer, NilClass ], - coerce: proc { |x| x || nil } - ) - end + property :username, String, name_property: true, identity: true + property :comment, String + property :uid, [ String, Integer, NilClass ] + property :gid, [ String, Integer, NilClass ] + property :home, String + property :shell, String + property :password, String + property :salt, String + property :system, [ TrueClass, FalseClass ], default: false + property :iterations, Integer, default: 27855 + property :manage_home, [ TrueClass, FalseClass ], default: false, desired_state: false + property :force, [ TrueClass, FalseClass ], default: false, desired_state: false + property :non_unique, [ TrueClass, FalseClass ], default: false, desired_state: false alias_method :group, :gid - - def home(arg = nil) - set_or_return( - :home, - arg, - kind_of: [ String ] - ) - end - - def shell(arg = nil) - set_or_return( - :shell, - arg, - kind_of: [ String ] - ) - end - - def password(arg = nil) - set_or_return( - :password, - arg, - kind_of: [ String ] - ) - end - - def salt(arg = nil) - set_or_return( - :salt, - arg, - kind_of: [ String ] - ) - end - - def iterations(arg = nil) - set_or_return( - :iterations, - arg, - kind_of: [ Integer ] - ) - end - - def system(arg = nil) - set_or_return( - :system, - arg, - kind_of: [ TrueClass, FalseClass ] - ) - end - - def manage_home(arg = nil) - set_or_return( - :manage_home, - arg, - kind_of: [ TrueClass, FalseClass ] - ) - end - - def force(arg = nil) - set_or_return( - :force, - arg, - kind_of: [ TrueClass, FalseClass ] - ) - end - - def non_unique(arg = nil) - set_or_return( - :non_unique, - arg, - kind_of: [ TrueClass, FalseClass ] - ) - end end end end diff --git a/lib/chef/resource/user/linux_user.rb b/lib/chef/resource/user/linux_user.rb index 056a421197..2c57e607cc 100644 --- a/lib/chef/resource/user/linux_user.rb +++ b/lib/chef/resource/user/linux_user.rb @@ -25,7 +25,6 @@ class Chef provides :linux_user provides :user, os: "linux" - end end end diff --git a/spec/unit/provider/user_spec.rb b/spec/unit/provider/user_spec.rb index 7a07527834..0d806b2eb2 100644 --- a/spec/unit/provider/user_spec.rb +++ b/spec/unit/provider/user_spec.rb @@ -129,7 +129,7 @@ describe Chef::Provider::User do end it "shouldn't try and convert the group gid if none has been supplied" do - @new_resource.gid(false) + @new_resource.gid(nil) expect(@provider).not_to receive(:convert_group_name) @provider.load_current_resource end |