def get_org_default(path)
if path[2] == 'acls'
get_org_acl_default(path)
elsif path.size >= 4
if path[2] == 'containers' && path.size == 4
if exists?(path)
return {}
else
return nil
end
end
case path[2..-1].join('/')
when "clients/#{path[1]}-validator"
{ 'validator' => 'true' }
when "clients/#{path[1]}-webui", "users/admin"
if osc_compat
{ 'admin' => 'true' }
end
when "environments/_default"
{ "description" => "The default Chef environment" }
when "groups/admins"
admins = data.list(path[0..1] + [ 'users' ]).select do |name|
user = FFI_Yajl::Parser.parse(data.get(path[0..1] + [ 'users', name ]), :create_additions => false)
user['admin']
end
admins += data.list(path[0..1] + [ 'clients' ]).select do |name|
client = FFI_Yajl::Parser.parse(data.get(path[0..1] + [ 'clients', name ]), :create_additions => false)
client['admin']
end
admins += @creators[path[0..1]] if @creators[path[0..1]]
{ 'actors' => admins.uniq }
when "groups/billing-admins"
{}
when "groups/clients"
{ 'clients' => data.list(path[0..1] + [ 'clients' ]) }
when "groups/users"
users = data.list(path[0..1] + [ 'users' ])
users |= @creators[path[0..1]] if @creators[path[0..1]]
{ 'users' => users }
when "org"
{}
end
end
end