Mapping_Control_XML parameter
This parameter's syntax defines the relationship and classifications rules used to identify the related actual CIs belonging to each customer. The rules are evaluated for each actual CI that is being assigned to the customer to identify which related actual CIs should also be assigned to the customer.
Each relationsToFollowRule entry in this parameter XML represents a classification used with actual CIs.
select classificationid from classstructure where classstructureid in
(select classstructureid from classusewith where objectname='ACTCI')
Use the following SQL statement to determine the relationships to be used in the rules:
select distinct relationnum from actcirelation
The classification of an actual CI that has been identified as belonging to the customer must match one of the relationsToFollowRule fromClassification elements for its related actual CIs to be processed by the cron task. If the classification is defined, then its related actual CIs will be considered.
If the includeAllRelatedAsContainment element is set to "true," then all actual CIs related to the CI with that classification are assigned to the customer regardless of the relationship type. Other related actual CIs will be assigned to the customer if their relationship is listed in the includeAllRelatedAsContainment element or if their classification matches the toClassification value of an include setting, and their relationship matches the corresponding relationship name. An asterisk (*) can be used to represent all relationship names.
An asterisk (*) can also be used to represent all relationship names for the includeAllRelatedByRelation setting.
The fromClassification, toClassification, and stopClassifications elements support an asterisk (*), which is used as a wildcard to represent zero or more characters anywhere in the classification string. For example, APP.BIZTALK.* means to apply this rule for APP.BIZTALK.BIZTALKGROUP, APP.BIZTALK.BIZTALKHOST, and so on.
Sample Mapping_Control_XML parameter content
These rules are used by the ACTCICUSTMAP cron task to identify the related actual CIs to process.
If, for example, you want to include all actual CIs that are related to the starting set, you could specify the following:
<?xml version="1.0" encoding="UTF-8" ?>
<relationsToFollowRules>
<relationsToFollowRule
fromClassification="*"
includeAllRelatedByRelation="*" />
</relationsToFollowRules>
<?xml version="1.0" encoding="UTF-8" ?>
<relationsToFollowRules>
<relationsToFollowRule
fromClassification="*"
includeAllRelatedAsContainment="true"
includeOnlyRelatedAsContainment="true"
includeAllRelatedByRelation="*"/>
</relationsToFollowRules>
If you have an environment where actual CIs belonging to different customers are related to the same actual CI, or an actual CI from one customer is related to an actual CI belonging to a different customer, you need to analyze the relationships to and from these actual CIs and configure the mapping parameters so that the actual CIs are assigned to the intended customer.
Parameter syntax:
- fromClassification
- The classification of the actual CI whose related actual CIs are
being considered for inclusion in the process.
The fromClassification element supports an asterisk (*) as a wildcard. It can be used anywhere in the string to represent zero or more characters. When the classification of the current actual CI being processed matches multiple fromClassification elements, the mapping control is determined by the first matching relationRulesToFollowRule element.
For example, suppose the XML has fromClassification="*UNITARYCOMPUTERSYSTEM" in the first relationRulesToFollowRule element, followed by another relationRulesToFollowRule element with fromClassification="SYS.LINUX.LINUXUNITARYCOMPUTERSYSTEM". When processing an actual CI that is classified as SYS.LINUX.LINUXUNITARYCOMPUTERSYSTEM, it would follow the control tags specified in the element with fromClassification="*UNITARYCOMPUTERSYSTEM", because that one is first in the Mapping_Control_XML file.
- ignoreRelations
- (optional) A comma-separated list of relationships. Actual CIs
related to the current actual CI by one of these relationships are
not processed.
Use of the ignoreRelations element supersedes the includeAllRelatedByRelation element and any other elements specified within relationRulesToFollowRule for the fromClassification element.
- includeAllRelatedAsContainment
- Set to "true" or "false". If true, all actual CIs related to
the identified actual CI by a containment relationship will be processed.
Actual CIs related by non-containment relationships also might be
considered for processing.
Containment refers to the containment flag that is shown on the Related Actual Configuration Items tab of the Actual CI application. Containment typically means that the target related actual CI is physically contained by the source actual CI.
Setting includeAllRelatedAsContainment to "true" will include the related actual CI if the relationship is containment, regardless of the relationship name.
- includeOnlyRelatedAsContainment
- Set to "true" or "false". Default is "false". If true, then only
actual CIs related by containment relationships will be considered
for processing.
Containment refers to the containment flag that is shown on the Related Actual Configuration Items tab of the Actual CI application. Containment typically means that the target related actual CI is physically contained by the source actual CI.
Setting includeOnlyRelatedAsContainment to "true" causes the cron task to consider only containment relationships when determining if a related actual CI belongs to the customer.
- includeAllRelatedByRelation
- Set to a comma-separated list of relationships. Actual CIs related to the current actual CI by one of these relationships will be processed as belonging to the customer.
- stopClassifications
- (optional) A comma-separated list of classifications. When processing
an actual CI whose classification matches the fromClassification element,
any related actual CIs with one of the specified classifications is
not processed.
The specified classifications can contain an asterisk (*), which is used as a wildcard to represent zero or more characters. For example, using the stopClassifications element with a classification of *FILESYSTEM stops at all classifications that end in FILESYSTEM.
Use of the stopClassifications element supersedes any other elements specified within relationRulesToFollowRule for the fromClassification element.
You can also specify one or more include stanzas to explicitly identify certain classification/relationships that identify related actual CIs belonging to the customer.
- toClassification
- The classification of the actual CI related to the current actual
CI.
The toClassification element supports use of an asterisk (*) as a wildcard character. The asterisk can be used anywhere in the string to represent zero or more characters. For example, APP.BIZTALK.* means to apply this rule for APP.BIZTALK.BIZTALKGROUP, APP.BIZTALK.BIZTALKHOST, and so on.
- relation
- The relation between the two classifications.
Sample 1:
<relationsToFollowRules>
<relationsToFollowRule fromClassification="NET.IPADDRESS" includeAllRelatedAsContainment="true" >
<include toClassification="NET.IPINTERFACE" relation=”*"
<include toClassification="NET.IPV4NETWORK" relation="*"
<include toClassification="NET.IPV6NETWORK" relation="*"
</relationsToFollowRule>
<relationsToFollowRule fromClassification="NET.IPV4NETWORK" includeAllRelatedAsContainment="true" >
<include toClassification="NET.IPINTERFACE" relation="*" />
</relationsToFollowRule>
<relationsToFollowRule fromClassification="NET.IPV6NETWORK" includeAllRelatedAsContainment="true" >
<include toClassification="NET.IPINTERFACE" relation="*" />
</relationsToFollowRule>
<relationsToFollowRule fromClassification="NET.IPV4ADDRESS" includeAllRelatedAsContainment="true" >
<include toClassification="NET.IPINTERFACE" relation="*" />
</relationsToFollowRule>\
<relationsToFollowRule fromClassification="NET.IPV6ADDRESS" includeAllRelatedAsContainment="true” >
<include toClassification="NET.IPINTERFACE" relation="*" />
</relationsToFollowRule>
<relationsToFollowRule fromClassification="NET.IPINTERFACE" includeAllRelatedAsContainment="false" >
<include toClassification="SYS.COMPUTERSYSTEM" relation="*" />
</relationsToFollowRule>
<relationsToFollowRule fromClassification="SYS.COMPUTERSYSTEM" includeAllRelatedAsContainment="true"
includeAllRelatedByRelation="ASSIGNEDTO,BINDSTO,CONFIGUREDUSING,
CONTAINS,FEDERATES,INSTALLEDON,MANAGES,MEMBEROF,OWNS,
PROVIDES,REALIZES,RUNSON,VIRTUALIZES"
/>
<relationsToFollowRule
fromClassification="SYS.OPERATINGSYSTEM" includeAllRelatedAsContainment="true"
includeAllRelatedByRelation="assignedto,bootsfrom,configuredusing,contains,
federates,givesdetails,installedon,manages,memberof,owns,
runson,supports"
/>
</relationsToFollowRules>
However, the ACTCICUSTMAP cron task assigns customers to the actual CIs based on the existing relationship. You might want to use the cron task if you want to allow your customers to view all of their own actual CIs, not just the promoted ones in their promotion scopes. Or you might want to use a limited set of rules for the cron task and allow promotion to handle most of the customer association work.
Sample 2:
<relationsToFollowRule
fromClassification="*COMPUTERSYSTEM"
includeAllRelatedAsContainment="true"
includeOnlyRelatedAsContainment="true"
stopClassifications="*COMPUTERSYSTEM"
ignoreRelations="VIRTUALIZES,OWNS"
/>