﻿<?xml version="1.0" encoding="utf-8"?>
<!--
  <copyright file="FeatureConfigurationSchema.xsd" company="Microsoft">
    Copyright (C) Microsoft. All rights reserved.
  </copyright>
-->
<xs:schema id="FeatureConfigurationSchema"
    targetNamespace="http://schemas.microsoft.com/WindowsServerSolutions/2010/03/Health"
    elementFormDefault="qualified"
    xmlns="http://schemas.microsoft.com/WindowsServerSolutions/2010/03/Health"
    xmlns:mstns="http://schemas.microsoft.com/WindowsServerSolutions/2010/03/Health"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
  <xs:element name="FeatureConfiguration" type="FeatureConfigurationElement">
    <xs:unique name="UniqueDefinitionName">
      <xs:selector xpath="HealthDefinitionConfiguration" />
      <xs:field xpath="@Name" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="FeatureConfigurationElement">
    <xs:sequence>
      <xs:element name="HealthDefinitionConfiguration" type="HealthDefinitionConfigurationElement" maxOccurs="unbounded" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HealthDefinitionConfigurationElement">
    <xs:sequence>
      <xs:element name="Configurations" maxOccurs="1" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Enable" type="xs:boolean" maxOccurs="1" minOccurs="0" default="true"/>
            <xs:element name="TimeInterval" type="xs:duration" maxOccurs="1" minOccurs="0" default="PT30M"/>
            <xs:element name="Escalate" type="xs:boolean" maxOccurs="1" minOccurs="0" default="false"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="Arguments" maxOccurs="1" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Argument" type="ArgumentElement" maxOccurs="unbounded" minOccurs="0" />
          </xs:sequence>
        </xs:complexType>
        <xs:unique name="UniqueArgumentName">
          <xs:selector xpath=".//Argument" />
          <xs:field xpath="@Name" />
        </xs:unique>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="Name" type="xs:ID" use="required" />
  </xs:complexType>

  <xs:complexType name="ArgumentElement">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="Name" type="xs:NCName" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>
