summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/provider/user/hpux.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/puppet/provider/user/hpux.rb b/lib/puppet/provider/user/hpux.rb
new file mode 100644
index 000000000..d50924c72
--- /dev/null
+++ b/lib/puppet/provider/user/hpux.rb
@@ -0,0 +1,29 @@
+Puppet::Type.type(:user).provide :hpuxuseradd, :parent => :useradd do
+ desc "User management for hp-ux! Undocumented switch to special usermod because HP-UX regular usermod is TOO STUPID to change stuff while the user is logged in."
+
+ defaultfor :operatingsystem => :"hp-ux"
+
+ commands :modify => "/usr/sbin/usermod", :delete => "/usr/sbin/userdel", :add => "/usr/sbin/useradd"
+ options :comment, :method => :gecos
+ options :groups, :flag => "-G"
+ options :home, :flag => "-d", :method => :dir
+
+ verify :gid, "GID must be an integer" do |value|
+ value.is_a? Integer
+ end
+
+ verify :groups, "Groups must be comma-separated" do |value|
+ value !~ /\s/
+ end
+
+ has_features :manages_homedir, :allows_duplicates
+
+ def deletecmd
+ super.insert(1,"-F")
+ end
+
+ def modifycmd(param,value)
+ super.insert(1,"-F")
+ end
+
+end