code: def init(self, conf):
          
  
          # For searching class and elements for on-demand
          # we need link to types
          self.my_conf = conf
          self.lists_on_demand = []
          self.hosts = self.my_conf.hosts
          # For special void host_name handling...
          self.host_class = self.hosts.inner_class
          self.lists_on_demand.append(self.hosts)
          self.services = self.my_conf.services
          self.contacts = self.my_conf.contacts
          self.lists_on_demand.append(self.contacts)
          self.hostgroups = self.my_conf.hostgroups
          self.lists_on_demand.append(self.hostgroups)
          self.commands = self.my_conf.commands
          self.servicegroups = self.my_conf.servicegroups
          self.lists_on_demand.append(self.servicegroups)
          self.contactgroups = self.my_conf.contactgroups
          self.lists_on_demand.append(self.contactgroups)
          self.illegal_macro_output_chars = self.my_conf.illegal_macro_output_chars
          self.env_prefix = self.my_conf.env_variables_prefix
docs: Initialize MacroResolver instance with conf.
          Must be called at least once.
  
          :param conf: configuration to load
          :type conf: alignak.objects.Config
          :return: None