Profiles can contain variables that are replaced with values from the client's installation environment during the installation process. In this way, a single profile file can set different configuration parameters on different clients. See Table 11–10 for a list of variables you can use.
In the following example profile named hostIPnet.xml, AI_HOSTNAME is a placeholder for the client system's host name, and AI_IPV4 is a placeholder for the client system's IP address.
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="sysconfig">
<service name="system/identity" version="1" type="service">
<instance name="node" enabled="true">
<property_group name="config" type="application">
<propval name="nodename" value="{{AI_HOSTNAME}}"/>
</property_group>
<property_group name="install_ipv4_interface" type="application">
<propval name="name" value="net0/v4"/>
<propval name="address_type" value="static"/>
<propval name="static_address" type="net_address_v4" value="{{AI_IPV4}}/8"/>
<propval name="default_route" type="net_address_v4" value="10.0.0.1"/>
</property_group>
</instance>
</service>
</service_bundle>
The following command creates a system configuration profile in the install service that will be customized for each installation client without changing the input hostandIP.xml file.
# installadm create-profile -n solaris11_2-i386 -f /export/hostIPnet.xml
While the hostandIP.xml file remains unchanged, the profiles that are applied to a client are customized. For example, the hostandIP.xml profile might have the following content when a client with host name server1 is installed:
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="profile" name="sysconfig">
<service name="system/identity" version="1" type="service">
<instance name="node" enabled="true">
<property_group name="config" type="application">
<propval name="nodename" value="server1"/>
</property_group>
<property_group name="install_ipv4_interface" type="application">
<propval name="name" value="net0/v4"/>
<propval name="address_type" value="static"/>
<propval name="static_address" type="net_address_v4" value="10.0.0.2/8"/>
<propval name="default_route" type="net_address_v4" value="10.0.0.1"/>
</property_group>
</instance>
</service>
</service_bundle>
The following table shows the variables that can be used as placeholders in template profiles.