Sha256: 251e5899481decfe4854ff212d8672f8c0e9fbab6e57f27bba453f5352b28b55
Contents?: true
Size: 1.16 KB
Versions: 1
Compression:
Stored size: 1.16 KB
Contents
require 'yaml' module Kaname class Resource class << self def yaml(filename = 'keystone.yml') @_yaml = if File.exists?(filename) YAML.load_file(filename) else nil end end def users @_users ||= Fog::Identity[:openstack].users end def tenants @_tenants ||= Fog::Identity[:openstack].tenants end def roles @_roles ||= Fog::Identity[:openstack].roles end def users_hash return @h if @h @h = {} users.each do |u| next if ignored_users.include?(u.name) @h[u.name] = {} @h[u.name]["email"] = u.email @h[u.name]["tenants"] = {} tenants.each do |t| r = u.roles(t.id) if r.size > 0 @h[u.name]["tenants"][t.name] = r.first["name"] end end end @h end # default service users def ignored_users %w[ neutron glance cinder admin nova_ec2 nova heat ] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kaname-0.3.1 | lib/kaname/resource.rb |