MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/cv/cvdata/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/cv/cvdata/taskfactory.xsd

<?xml version="1.0" encoding="UTF-8"?>

<!-- Copyright (c) 2008, 2016, Oracle and/or its affiliates. 
All rights reserved.-->
<!--     
    NAME 
     taskfactory.xsd - CVU Task factory XML Schema
     
    DESCRIPTION 
     XML schema for CVU taskfactory task configuration xmls
     
    NOTES
     Original version of Pluggable.xsd credits to nvira/dsaggi 
    
    MODIFIED (MM/DD/YY)
    ptare    04/12/16 - Add FIXUP_REBOOT attribute
    maboddu  03/18/16 - Add severity type FATAL
    shhirema 01/22/16 - Bug 20722208: add an optional attribute to specify
                        default executable argument value
    xesquive 12/17/15 - add non case sensitive in condition
    ptare    05/25/15 - Add optional attribute for node applicability
    ptare    02/22/15 - Changes for context based smart filtering
    maboddu  11/30/14 - Add optional attribute SYNONYM for TASK element
    shhirema 09/26/14 - Add optional attribute RUN_ON 
    ptare    06/30/14 - overhaul for data driven task framework 
    ptare    02/07/14 - update for Java execution analyzer 
    maboddu  10/29/13 - Fix bug#17494773 - Add executable type SCRIPT 
    ptare    04/14/13 - Add attribute FIXABLE to Task definition 
    nvira    02/14/11 - enhance CONDITION tag to allow more flexible conditions
    nvira    09/10/10 - add changes for best practices 
    nvira    04/22/10 - add task severity attribute 
    narbalas 09/21/09 
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd"
    elementFormDefault="qualified">
    <xs:element name="ROOT">
        <xs:complexType>
            <xs:all>
                <xs:element name="TASK_DEFINITION_LIST" minOccurs="0"
                    maxOccurs="1">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="TASK_DEFINITION" type="TASK_DEFINITION_TYPE"
                                minOccurs="0" maxOccurs="unbounded" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="TARGET_LIST" type="TARGET_LIST_TYPE"
                    minOccurs="0" maxOccurs="1" />
            </xs:all>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="TASK_DEFINITION_TYPE">
        <xs:all>
            <xs:element name="REFERENCE_LIST" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="REFERENCE" minOccurs="1" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="EXECUTABLE_INFO" type="EXECUTABLE_INFO_TYPE"
                minOccurs="1" maxOccurs="1" />
            <!-- ANALYZER is required if the executable result type is TO_BE_ANALYZED -->
            <xs:element name="ANALYZER" type="ANALYZER_TYPE"
                minOccurs="0" maxOccurs="1" />

            <!-- NODE_LIST if present, must define either LOCAL_NODE or LOCAL_NODE 
                attribute -->
            <xs:element name="NODE_LIST" minOccurs="0" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="LOCAL_NODE" type="xs:boolean" use="optional" />
                    <xs:attribute name="VAR" use="optional">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="INPUT_NODE_LIST" />
                                <xs:enumeration value="CLUSTER_NODES" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="INITIAL_VALIDATION_LIST" minOccurs="0"
                maxOccurs="1">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="CRS_INSTALLED" minOccurs="0"
                            maxOccurs="1" />
                        <!-- Contents under DB_INSTALLED are not finalized -->
                        <xs:element name="DB_INSTALLED" minOccurs="0"
                            maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="VAR" use="optional" type="xs:string" />
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="OPERATING_SYSTEM_LIST" minOccurs="1"
                maxOccurs="1">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="OPERATING_SYSTEM" minOccurs="1"
                            maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:attribute name="TYPE" type="OPERATING_SYSTEM_TYPE"
                                    use="required" />
                                <xs:attribute name="ARCHITECTURE" type="OPERATING_SYSTEM_ARCH_TYPE"
                                    use="optional" default="ALL" />
                                <xs:attribute name="VERSION" type="xs:string" use="optional"
                                    default="ALL" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:all>
        <xs:attribute name="ID" type="xs:string" use="required" />
        <!-- 
         Refer OperationMode to specify the value for APPLICABILITY,
         it may be a comma separated multiple value string. !value i.e. negation is also allowed 
         allowed values in comma separate form are 

          cli, //Command line mode
          api, //API mode
          bestpractice, //Bestpractice mode
          baseline, //Base lining 
          healthcheck, //Health checks
          resource, //CVU resource  
          -->
        <xs:attribute name="APPLICABILITY" type="xs:string" use="optional" />
        <!--
          Refer NodeApplicabilityFilters to specify the value of node constraint
          it may be a comma separated multiple value string. !value 
          i.e. negation is also allowed. 
          Allowed values in comma separate form are
          
          lxc, //Linux container/docker
          zone, //Solaris Zones
          leaf, //leaf nodes (oracle clusterware)
          hub, //hub nodes (oracle clusterware)
         -->
        <xs:attribute name="NODE_APPLICABILITY" type="xs:string" use="optional" />
        <xs:attribute name="SYNONYM" type="xs:string" use="optional" />
        <xs:attribute name="ID_MSG_PARAMS" type="xs:string" use="optional" />
        <xs:attribute name="ROOT_PRIVILEGE_REQUIRED" type="xs:boolean"
            use="optional" default="false" />
        <xs:attribute name="SEVERITY" type="SEVERITY_TYPE" use="optional" />
        <xs:attribute name="MORE_DETAILS_ID" type="xs:string"
            use="optional" />
        <xs:attribute name="FIXABLE" type="xs:boolean" use="optional"
            default="false" />
        <xs:attribute name="FIXUP_REBOOT" type="xs:boolean" use="optional"
            default="false" />            
        <xs:attribute name="DISABLED" type="xs:boolean" use="optional"
            default="false" />
    </xs:complexType>
    <!-- Severity type enumerated -->
    <xs:simpleType name="SEVERITY_TYPE">
        <xs:restriction base="xs:string">
             <xs:enumeration value="FATAL" />
            <xs:enumeration value="CRITICAL" />
            <xs:enumeration value="IGNORABLE" />
        </xs:restriction>
    </xs:simpleType>

    <!-- Operating System Architecture type enumerated -->
    <xs:simpleType name="OPERATING_SYSTEM_ARCH_TYPE">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ALL" />
            <xs:enumeration value="x86" />
            <xs:enumeration value="x86_64" />
            <xs:enumeration value="i*86" />
            <xs:enumeration value="x64" />
            <xs:enumeration value="amd64" />
            <xs:enumeration value="ia64" />
            <xs:enumeration value="ppc64" />
            <xs:enumeration value="sparc64" />
        </xs:restriction>
    </xs:simpleType>

    <!-- Supported Operating System type enumerated -->
    <xs:simpleType name="OPERATING_SYSTEM_TYPE">
        <xs:restriction base="xs:string">
            <xs:enumeration value="ALL" />
            <xs:enumeration value="UNIX" />
            <xs:enumeration value="WINDOWS" />
            <xs:enumeration value="LINUX" />
            <xs:enumeration value="SOLARIS" />
            <xs:enumeration value="AIX" />
            <xs:enumeration value="HPUX" />
        </xs:restriction>
    </xs:simpleType>

    <xs:complexType name="EXECUTABLE_INFO_TYPE">
        <xs:sequence>
            <xs:element name="REQUIRED_VERSION" minOccurs="0"
                maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="EQ" type="xs:string" use="optional" />
                    <xs:attribute name="EQ_NO_CASE" type="xs:string" use="optional" />
                    <xs:attribute name="LE" type="xs:string" use="optional" />
                    <xs:attribute name="LT" type="xs:string" use="optional" />
                    <xs:attribute name="GT" type="xs:string" use="optional" />
                    <xs:attribute name="GE" type="xs:string" use="optional" />
                </xs:complexType>
            </xs:element>
            <xs:choice>
                <xs:element name="EXTERNAL">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="NAME" minOccurs="1" maxOccurs="1">
                                <xs:complexType>
                                    <xs:attribute name="VALUE" use="required" type="xs:string" />
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ARGS" minOccurs="0" maxOccurs="1"
                                type="ARGS_TYPE" />
                        </xs:all>
                    </xs:complexType>
                </xs:element>
                <xs:element name="JAVA">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="ARGS" minOccurs="0" maxOccurs="1"
                                type="ARGS_TYPE" />
                        </xs:all>
                        <xs:attribute name="NAME" use="required" type="xs:string" />
                        <xs:attribute name="PACKAGE" use="optional" type="xs:string" />
                    </xs:complexType>
                </xs:element>
                <!-- The contents of INLINE element should be in a CDATA section -->
                <xs:element name="INLINE">
                    <xs:complexType>
                        <xs:all>
                            <xs:element name="ARGS" minOccurs="0" maxOccurs="1"
                                type="ARGS_TYPE" />
                        </xs:all>
                        <xs:attribute name="VALUE" use="required" type="xs:string" />
                    </xs:complexType>
                </xs:element>
            </xs:choice>
            <xs:element name="RESULT_TYPE" minOccurs="1" maxOccurs="1">
                <xs:complexType>
                    <xs:attribute name="VALUE" use="required">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="ANALYZED" />
                                <xs:enumeration value="TO_BE_ANALYZED" />
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="KEY" use="optional">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="Node" />
                                <xs:enumeration value="ASM" />
                                <xs:enumeration value="ASM Parameters" />
                                <xs:enumeration value="ASM Instances" />
                                <xs:enumeration value="ASM Diskgroups" />
                                <xs:enumeration value="ASM Disks" />
                                <xs:enumeration value="Database" />
                                <xs:enumeration value="Database Instance" />
                            </xs:restriction>
                        </xs:simpleType>                    
                    </xs:attribute>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="TYPE" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="SHELL" />
                    <xs:enumeration value="JAVA" />
                    <xs:enumeration value="SQL" />
                    <xs:enumeration value="PLSQL" />
                    <xs:enumeration value="PERL" />
                    <xs:enumeration value="BINARY" />
                    <xs:enumeration value="SCRIPT" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="RUN_ON" use="optional" default="DB">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="DB" />
                    <xs:enumeration value="ASM" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:complexType name="ANALYZER_TYPE">
        <xs:choice>
            <xs:element name="STANDARD_ANALYZER">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="COMPARATOR" minOccurs="1" maxOccurs="1"
                            type="COMPARATOR_TYPE" />
                    </xs:all>
                </xs:complexType>
            </xs:element>
            <xs:element name="EXTERNAL_ANALYZER">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="EXECUTABLE_INFO" type="EXECUTABLE_INFO_TYPE"
                            minOccurs="1" maxOccurs="1"></xs:element>
                    </xs:sequence>
                    <xs:attribute name="GLOBAL_ANALYZER" type="xs:boolean"
                        use="optional"></xs:attribute>
                </xs:complexType>
            </xs:element>
            <xs:element name="SQL_ANALYZER">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="COLUMN_LIST" minOccurs="1" maxOccurs="1">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="REFERENCE_COLUMN" minOccurs="0"
                                        maxOccurs="1">
                                        <xs:complexType>
                                            <xs:attribute name="NAME" type="xs:string" use="required" />
                                        </xs:complexType>
                                    </xs:element>
                                    <xs:element name="COLUMN" minOccurs="1" maxOccurs="unbounded">
                                        <xs:complexType>
                                            <xs:all>
                                                <xs:element name="COMPARATOR" minOccurs="1"
                                                    maxOccurs="1" type="COMPARATOR_TYPE" />
                                            </xs:all>
                                            <xs:attribute name="NAME" type="xs:string" use="required" />
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                    <xs:attribute name="EMPTY_RESULTSET_IMPLIES_SUCCESS"
                        use="optional" type="xs:boolean" />
                </xs:complexType>
            </xs:element>
        </xs:choice>
    </xs:complexType>
    <xs:complexType name="TARGET_LIST_TYPE">
        <xs:sequence>
            <xs:element name="SOFTWARE" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="TARGET" minOccurs="0" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="TASK_LIST" minOccurs="0"
                                        maxOccurs="unbounded">
                                        <xs:complexType>
                                            <xs:group ref="TASK_GROUP" minOccurs="0" maxOccurs="unbounded" />
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="ID" type="xs:string" use="required" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                    <xs:attribute name="VERSION" type="xs:string" use="required" />
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:group name="TASK_GROUP">
        <xs:choice>
            <xs:element name="TASK">
                <xs:complexType>
                    <xs:all>
                        <xs:element name="EXCLUDE_SUBTASKS" minOccurs="0"
                            maxOccurs="1">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="TASK" minOccurs="1" maxOccurs="unbounded">
                                        <xs:complexType>
                                            <xs:attribute name="ID" type="xs:string" use="required" />
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="REFERENCE_LIST" minOccurs="0"
                            maxOccurs="1">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="REFERENCE" minOccurs="1"
                                        maxOccurs="unbounded">
                                        <xs:complexType>
                                            <xs:simpleContent>
                                                <xs:extension base="xs:string">
                                                </xs:extension>
                                            </xs:simpleContent>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="EXECUTABLE_ARGUMENTS" minOccurs="0"
                            maxOccurs="1" type="ARGS_TYPE" />
                        <xs:element name="ANALYZER" type="ANALYZER_TYPE"
                            minOccurs="0" maxOccurs="1" />
                    </xs:all>
                    <xs:attribute name="ID" type="xs:string" use="required" />
                    <xs:attribute name="IS_TARGET" type="xs:boolean" use="optional" default="false" />
                    <xs:attribute name="ID_MSG_PARAMS" type="xs:string"
                        use="optional" />
                    <xs:attribute name="SEVERITY" type="SEVERITY_TYPE"
                        use="optional" />
                    <xs:attribute name="MORE_DETAILS_ID" type="xs:string"
                        use="optional" />
                    <xs:attribute name="DISABLED" type="xs:boolean" use="optional"
                        default="false" />
                    <xs:attribute name="APPLICABILITY" type="xs:string"
                        use="optional" /><!-- to be used when explicitly specifying the applicable 
                        mode -->
                    <xs:attribute name="NODE_APPLICABILITY" type="xs:string"
                        use="optional" /><!-- to be used when applicability varies based on node 
                        type-->                        
                </xs:complexType>
            </xs:element>
            <xs:element name="CONDITION" type="TASK_CONDITION_TYPE" />
        </xs:choice>
    </xs:group>
    <xs:complexType name="TASK_CONDITION_TYPE">
        <xs:sequence>
            <!-- Condition must be specified as either a discovered condition, specified 
                as VAR attribute, eg. VAR=OCFS2, VAR=ASM etc, or in terms of other task, 
                as defined by VAR_TASK element -->
            <xs:element name="VAR_TASK" type="VAR_TASK_TYPE" minOccurs="0" maxOccurs="1" />
            <xs:group ref="TASK_GROUP" minOccurs="0" maxOccurs="unbounded" />
            <xs:element name="ELSE" type="TASK_CONDITION_TYPE"
                minOccurs="0" maxOccurs="1" />
        </xs:sequence>
        <xs:attribute name="VAR" type="xs:string" use="optional" />
        <xs:attribute name="TYPE" type="xs:string" use="optional" />
        <xs:attribute name="EQ" type="xs:string" use="optional" />
        <xs:attribute name="EQ_NO_CASE" type="xs:string" use="optional" />
        <xs:attribute name="NE" type="xs:string" use="optional" />
        <xs:attribute name="RE" type="xs:string" use="optional" />
        <xs:attribute name="ATLEAST" type="xs:string" use="optional" />
        <xs:attribute name="ATMOST" type="xs:string" use="optional" />
        <xs:attribute name="GREATER_THAN" type="xs:string" use="optional" />
        <xs:attribute name="LESS_THAN" type="xs:string" use="optional" />

    </xs:complexType>
    <xs:complexType name="ARGS_TYPE">
        <xs:sequence>
            <xs:element name="ARG" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="NAME" minOccurs="1" maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="VALUE" use="required" type="xs:string" />
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="TYPE" minOccurs="1" maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="VALUE" use="required">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:enumeration value="string" />
                                            <xs:enumeration value="numeric" />
                                            <xs:enumeration value="version" />
                                            <xs:enumeration value="boolean" />
                                            <xs:enumeration value="list" />
                                            <xs:enumeration value="executable" />
                                            <!-- If type is java then NAME elelment shall have the class name 
                                                and VAL may have the location of class in the package -->
                                            <xs:enumeration value="java" />
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                        <!-- either VAL or VAR must be specified -->
                        <xs:element name="VAL" minOccurs="0" maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="VALUE" use="required" type="xs:string" />
                            </xs:complexType>
                        </xs:element>
                        <xs:element name="VAR" minOccurs="0" maxOccurs="1">
                            <xs:complexType>
                                <xs:attribute name="VALUE" use="required" type="xs:string" />
                                <xs:attribute name="DEFAULT" use="optional" type="xs:string" />
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="COMPARATOR_TYPE">
        <xs:attribute name="TYPE" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="string" />
                    <xs:enumeration value="numeric" />
                    <xs:enumeration value="version" />
                    <xs:enumeration value="boolean" />
                    <xs:enumeration value="list" />
                    <xs:enumeration value="executable" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="EQ" type="xs:string" use="optional" />
        <xs:attribute name="EQ_NO_CASE" type="xs:string" use="optional" />
        <xs:attribute name="LE" type="xs:string" use="optional" />
        <xs:attribute name="LT" type="xs:string" use="optional" />
        <xs:attribute name="GT" type="xs:string" use="optional" />
        <xs:attribute name="GE" type="xs:string" use="optional" />
        <xs:attribute name="NE" type="xs:string" use="optional" />
        <xs:attribute name="RE" type="xs:string" use="optional" />
        <xs:attribute name="NULL" type="xs:string" use="optional" />
        <xs:attribute name="NOT_NULL" type="xs:string" use="optional" />
        <xs:attribute name="IN" type="xs:string" use="optional" />
        <xs:attribute name="NOT_IN" type="xs:string" use="optional" />
    </xs:complexType>

  <xs:complexType name="VAR_TASK_TYPE">
    <xs:all>
      <xs:element name="EXECUTABLE_ARGUMENTS"
        minOccurs="0" maxOccurs="1" type="ARGS_TYPE" />
      <xs:element name="ANALYZER" type="ANALYZER_TYPE"
        minOccurs="0" maxOccurs="1" />
    </xs:all>
    <xs:attribute name="ID" type="xs:string" use="required" />
    <xs:attribute name="TYPE" type="xs:string"
      use="optional" />
    <xs:attribute name="EQ" type="xs:string"
      use="optional" />
    <xs:attribute name="NE" type="xs:string"
      use="optional" />
    <xs:attribute name="RE" type="xs:string"
      use="optional" />
    <xs:attribute name="ATLEAST" type="xs:string"
      use="optional" />
    <xs:attribute name="ATMOST" type="xs:string"
      use="optional" />
    <xs:attribute name="GREATER_THAN" type="xs:string"
      use="optional" />
    <xs:attribute name="LESS_THAN" type="xs:string"
      use="optional" />
  </xs:complexType>
</xs:schema>


OHA YOOOO