Utilizzo dei modelli di politica

Se si utilizzano politiche di grandi dimensioni che contengono più valori ripetibili o si desidera spostare una politica da un ambiente all'altro più rapidamente, è possibile utilizzare la funzione di elaborazione del template fornita dal comando sampolicy .

Invece dei valori effettivi, si utilizzano parametri nel file XML simili a %%parname%%, dove parname è il nome del parametro. Il parametro deve essere definito nell'elemento var del file modello della politica XML.

L'elemento ha i seguenti attributi:
nome
Nome del parametro.
value
Valore del parametro.

È possibile utilizzare un parametro in molte posizioni e in più file, ma è necessario modificarlo solo in una posizione. Consente di migrare la politica da un ambiente all'altro.

Inoltre, è possibile includere altri file XML nel file di modello della politica XML, il che rende molto confortevoli le operazioni con un modello di politica XML.

È possibile collegare nuovi file XML utilizzando l'elemento include . Il valore del nodo deve contenere il percorso del file allegato; il percorso può essere relativo.

Il file XML del modello ha un diverso elemento root: AutomationPolicyTemplate. Se si desidera attivare o aggiornare una politica utilizzando i modelli, è necessario utilizzare il parametro -t con il comando sampolicy .

Esempio:
sampolicy -a -t top.xml
Contenuto di un file top.xml :
<?xml version="1.1" encoding="UTF-8"?>
<AutomationPolicyTemplate productID="SAM" version="4.1.1"
          xmlns="http://www.ibm.com/TSA/Policy.xsd" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://www.ibm.com/TSA/Policy.xsd 
          SAMPolicyTemplate.xsd ">
    <PolicyInformation>
        <PolicyName>template</PolicyName>
        <AutomationDomainName>%%domain%%</AutomationDomainName>
        <PolicyToken>1.0</PolicyToken>
        <PolicyDescription>MyDescription</PolicyDescription>
         <PolicyAuthor>admin</PolicyAuthor>
    </PolicyInformation>
    <var name="domain" value="lnx"/> 
    <var name="node1" value="lnxcm11x"/> 
    <include>internal.xml</include> 
</AutomationPolicyTemplate>
Contenuto di internal.xml:
<?xml version="1.1" encoding="UTF-8"?>
<AutomationPolicy productID="SAM" version="4.1.1" 
          xmlns="http://www.ibm.com/TSA/Policy.xsd" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://www.ibm.com/TSA/Policy.xsd 
          SAMPolicy.xsd"> 

    <ControlInformation> 
        <Timeout>60</Timeout> 
        <RetryCount>3</RetryCount> 
        <ResourceRestartTimeout>5</ResourceRestartTimeout>
    </ControlInformation>
    <Resource name="T1" class="IBM.Test" node="%%node1%%"> 
        <ClassAttributesReference>
            <IBM.TestAttributes name="IBM.Test.T1"/> 
        </ClassAttributesReference>
    </Resource>
    <IBM.TestAttributes name="IBM.Test.T1" > 
         <TimeToStart>0</TimeToStart> 
         <TimeToStop>0</TimeToStop> 
         <WriteToSyslog>0</WriteToSyslog>
    </IBM.TestAttributes>
</AutomationPolicy> 

La politica mostrata sopra creerà una semplice risorsa IBM.Test utilizzando i modelli. La politica XML risultante conterrà tutti i file XML inclusi e i parametri sostituiti. Verrà salvato nella cartella corrente con il nome del file di livello superiore e il suffisso aggiunto .complete.tmp.

Il file top.xml.complete.tmp generato dai due file di esempio precedenti (top.xml e internal.xml), utilizzando il comando sampolicy -a -t top.xml è simile al seguente:
<?xml version="1.1" encoding="UTF-8"?>
<AutomationPolicy productID="SAM" version="4.1.1"
          xmlns="http://www.ibm.com/TSA/Policy.xsd"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.ibm.com/TSA/Policy.xsd SAMPolicy.xsd">

    <PolicyInformation>
        <PolicyName>template</PolicyName>
        <AutomationDomainName>lnx</AutomationDomainName>
        <PolicyToken>1.0</PolicyToken>
        <PolicyDescription>MyDescription</PolicyDescription>
        <PolicyAuthor>admin</PolicyAuthor>
    </PolicyInformation>

    <ControlInformation>
        <Timeout>60</Timeout>
        <RetryCount>3</RetryCount>
        <ResourceRestartTimeout>5</ResourceRestartTimeout>
    </ControlInformation>

    <Resource name="T1" class="IBM.Test" node="lnxcm11x">
        <ClassAttributesReference>
        <IBM.TestAttributes name="IBM.Test.T1"/>
        </ClassAttributesReference>
    </Resource>

    <IBM.TestAttributes name="IBM.Test.T1" >
        <TimeToStart>0</TimeToStart>
        <TimeToStop>0</TimeToStop>
        <WriteToSyslog>0</WriteToSyslog>
    </IBM.TestAttributes>

</AutomationPolicy>