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.
- 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 .
sampolicy -a -t top.xmltop.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>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.
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>