Author image Olli Hollmen
and 1 contributors


Citrix::Farm - Citrix Farm Context Configuration.


Farm Context (used all over the Citrix::* modules) is a configuration (hash) for single Citrix Farm with following members:

farmid - Short ID (typically 2-8 chars) for Farm (to appear as farm ID in an App).
name - Descriptive / displayable Name for the farm
masterhost - Master host of the farm, queries will be directed onto this host
domainsuffix - DNS Domain suffix to add to hostname to make a fully qualified host name
apps - List of applications available on the farm (a ref to an array with app name strings)
hosts - List of hosts (Including master host) available on farm

Citrix Farm Information is expected to be stored and maintained in static configuration file so that there is no need to alter the config at runtime (This may change later). For now the accessor methods or class work only as getters.


The simple Farm model class contains mostly simple getter methods.

$fc->farmid() - Farm ID
$fc->name() - Farm Name
$fc->masterhost() - Hostname of masterhost on the farm
$fc->domainsuffix() - DNS Domain suffix (part after hostname) for farm
$fc->apps() - Names (IDs) of apps available on Citrix Farm
$fc->hosts() - Hosts for the farm (serving apps listed above)

Note once more that these accessor methods only work as getters (see above).

$farminfo = $fc->getfarminfo();

Retrieve Farm info about Farm apps/hosts (by Farm Context). This query is possibly slow and unreliable (if some hosts are down on the farm). Return Farm Info as array(ref).


This simple "model" of Farm context / configuration makes an assumption that all listed applications are available on all listed hosts of the farm. However application using these modules may have additional configuration (hash members) to refine this simplified model.