diff options
author | kaustubh-d <kaustubh@clogeny.com> | 2013-12-12 04:57:11 -0600 |
---|---|---|
committer | kaustubh-d <kaustubh@clogeny.com> | 2014-07-31 11:13:48 +0530 |
commit | ddc266c2ebe3c4b5028865262cc18189e108eb49 (patch) | |
tree | fdfb1fd9e2ec8477b56c2e16c8ee5b39200a9135 /lib/chef/provider | |
parent | 55a7c9b97b94a49caf8d286f294648827fd42d90 (diff) | |
download | chef-ddc266c2ebe3c4b5028865262cc18189e108eb49.tar.gz |
aix: fix aix group provider to add/remove group members.
Diffstat (limited to 'lib/chef/provider')
-rw-r--r-- | lib/chef/provider/group/aix.rb | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/chef/provider/group/aix.rb b/lib/chef/provider/group/aix.rb index 9dedef351a..6ac9d03357 100644 --- a/lib/chef/provider/group/aix.rb +++ b/lib/chef/provider/group/aix.rb @@ -16,16 +16,18 @@ # limitations under the License. # -require 'chef/provider/group/usermod' +require 'chef/provider/group/groupadd' +require 'chef/mixin/shell_out' class Chef class Provider class Group - class Aix < Chef::Provider::Group::Usermod + class Aix < Chef::Provider::Group::Groupadd def required_binaries [ "/usr/bin/mkgroup", "/usr/bin/chgroup", + "/usr/bin/chgrpmem", "/usr/sbin/rmgroup" ] end @@ -51,6 +53,19 @@ class Chef run_command(:command => "rmgroup #{@new_resource.group_name}") end + def add_member(member) + shell_out!("chgrpmem -m + #{member} #{@new_resource.group_name}") + end + + def set_members(members) + return if members.empty? + shell_out!("chgrpmem -m = #{members.join(',')} #{@new_resource.group_name}") + end + + def remove_member(member) + shell_out!("chgrpmem -m - #{member} #{@new_resource.group_name}") + end + def set_options opts = "" { :gid => "id" }.sort { |a,b| a[0] <=> b[0] }.each do |field, option| |