.. -*- mode: rst -*- .. _server-plugins-properties: ========== Properties ========== The Properties plugin is a connector plugin that adds information from properties files into client metadata instances. Enabling Properties =================== First, ``mkdir /var/lib/bcfg2/Properties``. Each property XML file goes in this directory. Each will automatically be cached by the server, and reread/reparsed upon changes. Add **Properties** to your ``plugins`` line in ``/etc/bcfg2.conf``. Data Structures =============== Properties adds a new dictionary to client metadata instances that maps property file names to PropertyFile instances. PropertyFile instances contain parsed XML data as the "data" attribute. Usage ===== Specific property files can be referred to in templates as metadata.Properties[]. The data attribute is an LXML element object. (Documented `here `_) Currently, no access methods are defined for this data, but as we formulate common use cases, we will add them to the !PropertyFile class as methods. This will simplify templates. Accessing Properties contest from TGenshi ========================================= Access contents of ``Properties/auth.xml`` :: ${metadata.Properties['auth.xml'].data.find('file').find('bcfg2.key').text}