summaryrefslogtreecommitdiff
path: root/chef/examples/user_index.rb
diff options
context:
space:
mode:
Diffstat (limited to 'chef/examples/user_index.rb')
-rwxr-xr-xchef/examples/user_index.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/chef/examples/user_index.rb b/chef/examples/user_index.rb
new file mode 100755
index 0000000000..485cff81b8
--- /dev/null
+++ b/chef/examples/user_index.rb
@@ -0,0 +1,27 @@
+#!/usr/bin/env ruby
+#
+# Create a users index, based on /etc/passwd
+
+require 'etc'
+require File.join(File.dirname(__FILE__), "..", "lib", "chef")
+
+Chef::Config[:log_level] = :info
+r = Chef::REST.new("http://localhost:4000")
+
+users = Array.new
+Etc.passwd do |passwd|
+ Chef::Log.info("Ensuring we have #{passwd.name}")
+ r.post_rest("search/user/entries",
+ {
+ :id => passwd.name,
+ :name => passwd.name,
+ :uid => passwd.uid,
+ :gid => passwd.gid,
+ :gecos => passwd.gecos,
+ :dir => passwd.dir,
+ :shell => passwd.shell,
+ :change => passwd.change,
+ :expire => passwd.expire
+ }
+ )
+end