Advertisement
Guest User

Untitled

a guest
Jul 2nd, 2015
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. require 'rubygems'
  3. require 'chef/knife'
  4.  
  5. Chef::Config.from_file(File.join(Chef::Knife.chef_config_dir, 'knife.rb'))
  6.  
  7. rest = Chef::REST.new(Chef::Config[:chef_server_url])
  8.  
  9. Chef::Node.list.each do |node|
  10. %w{read update delete grant}.each do |perm|
  11. ace = rest.get("nodes/#{node[0]}/_acl")[perm]
  12. ace['actors'] << node[0] unless ace['actors'].include?(node[0])
  13. rest.put("nodes/#{node[0]}/_acl/#{perm}", perm => ace)
  14. puts "Client \"#{node[0]}\" granted \"#{perm}\" access on node \"#{node[0]}\""
  15. end
  16. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement