# File lib/ironfan/provider/chef/role.rb, line 21 def self.expected_ids(computer) [ computer.server.cluster_role.name.to_s, computer.server.facet_role.name.to_s ] end
Discovery
# File lib/ironfan/provider/chef/role.rb, line 49 def self.load!(cluster=nil) query = cluster && "name:#{cluster.name}-*" ChefServer.search(:role,query) do |raw| next unless raw.present? role = register(raw) Chef::Log.debug("Loaded #{role}") end end
# File lib/ironfan/provider/chef/role.rb, line 18 def self.multiple?() true; end
# File lib/ironfan/provider/chef/role.rb, line 26 def initialize(config={}) super if self.adaptee.nil? and not config[:expected].nil? expected = config[:expected] desc = "Ironfan generated role for #{expected.name}" self.adaptee = Chef::Role.new self.name expected.name self.override_attributes expected.override_attributes self.default_attributes expected.default_attributes self.description desc end raise "Missing adaptee" if self.adaptee.nil? self end
def self.resource_type() self; end
# File lib/ironfan/provider/chef/role.rb, line 20 def self.resource_type() :role; end
Manipulation
# File lib/ironfan/provider/chef/role.rb, line 61 def self.save!(computer) dsl_roles = [] dsl_roles << computer.server.cluster_role dsl_roles << computer.server.facet_role dsl_roles.each do |dsl_role| next if recall? dsl_role.name # Handle each role only once role = remember new(:expected => dsl_role) role.save end end
Generated with the Darkfish Rdoc Generator 2.