<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:complexType name="ParameterType">
    <xs:annotation>
      <xs:documentation>Defines a configuration parameter that is used to when creating a view instance.
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the configuration parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="description" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The description of the configuration parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="label" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The label for the configuration parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="placeholder" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The placeholder for the configuration parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="default-value" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The default value of the configuration parameter.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="cluster-config" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The cluster configuration id.  The presence of this element indicates that the property value may be obtained through a cluster association.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:boolean" name="required" minOccurs="0" maxOccurs="1" default="false">
        <xs:annotation>
          <xs:documentation>If true, the configuration parameter is required in order to create a view instance.  The default is false (not required).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:boolean" name="masked" minOccurs="0" maxOccurs="1" default="false">
        <xs:annotation>
          <xs:documentation>Indicated this parameter value is to be "masked" in the Ambari Web UI (i.e. not shown in the clear). Omitting this element default to not-masked. Otherwise, if true, the parameter value will be "masked" in the Web UI.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ResourceType">
    <xs:annotation>
      <xs:documentation>Defines a resource that is exposed by the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the resource. This will be the resource endpoint name of the view instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="plural-name" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The plural name of the resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="id-property" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the resource-class attribute which uniquely identifies this resource.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="resource-class" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The JavaBean resource class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="provider-class" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The Ambari ResourceProvider implementation class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="service-class" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The JAX-RS annotated resource service class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="sub-resource-name" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The sub-resource name.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PermissionType">
    <xs:annotation>
      <xs:documentation>Defines a custom permission for the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unique custom permission name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="description" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The description of the custom view permission.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersistenceEntityType">
    <xs:annotation>
      <xs:documentation>Defines a persistence entity used by the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="class" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The class name of the persistence entity JavaBean.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="id-property" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The name of the entity class attribute which uniquely identifies this entity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersistenceType">
    <xs:annotation>
      <xs:documentation>Defines the persistence entities used by the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="PersistenceEntityType" name="entity" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Defines a persistence entity used by the view.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="InstancePropertyType">
    <xs:annotation>
      <xs:documentation>Defines a property value for a static instance of the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="key" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The configuration parameter name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="value" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The configuration parameter value.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="InstanceType">
    <xs:annotation>
      <xs:documentation>Defines a static instance of the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The unique name of the view instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="label" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The display label of the view instance. If not set, the view definition label is used.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="description" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>The description of the view instance. If not set, the view definition description is used.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="icon64" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Overrides the view icon64 for this specific view instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:string" name="icon" minOccurs="0" maxOccurs="1">
        <xs:annotation>
          <xs:documentation>Overrides the view icon for this specific view instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="xs:boolean" name="visible" minOccurs="0" maxOccurs="1" default="true">
        <xs:annotation>
          <xs:documentation>If true, for the view instance to show up in the users view instance list.  The default value is true.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element type="InstancePropertyType" name="property" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>Specifies configuration parameters values for the view instance.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ServiceType">
    <xs:annotation>
      <xs:documentation>Defines a persistence entity used by the view.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="service" minOccurs="1" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The name of a service required to auto create an instance of this view.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AutoInstanceType">
    <xs:complexContent>
      <xs:extension base="InstanceType">
        <xs:sequence>
          <xs:element name="stack-id" type="xs:string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The stack id required to auto create an instance of this view.  The wildcard character '*' is supported (e.g. 'HDP-2.*').</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element type="ServiceType" name="services" minOccurs="1"  maxOccurs="1">
            <xs:annotation>
              <xs:documentation>The services required to auto create an instance of this view.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="PathType">
    <xs:annotation>
      <xs:documentation>Defines a single classpath.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element type="xs:string" name="path" minOccurs="0" maxOccurs="unbounded">
        <xs:annotation>
          <xs:documentation>The path of a filename or URL pointing to a directory or jar file. A directory path should end with '/'.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="view">
    <xs:annotation>
      <xs:documentation>Defines a view.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element type="xs:string" name="name" minOccurs="1" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The unique name of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="label" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The display label of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="version" minOccurs="1" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The version of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="build" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The build number of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="data-version" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The data version. Used for data migrations.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="min-ambari-version" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The minimum version of Ambari server required to run this view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="max-ambari-version" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The maximum version of Ambari server that can run this view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="description" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The description of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="icon64" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The 64x64 icon to display for this view. If this property is not set, the 32x32 sized icon
              will be used.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="icon" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The 32x32 icon to display for this view. Suggested size is 32x32 and will be displayed as
              8x8 and 16x16 as necessary. If this property is not set, a default view framework icon is used.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:boolean" name="system" minOccurs="0" maxOccurs="1" default="false">
          <xs:annotation>
            <xs:documentation>Indicates whether or not this is a system view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="PathType" name="classpath" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Extra class path entries for this view. A directory path should end with '/'.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="view-class" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The View class to receive framework events.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="validator-class" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The Validator class to validate view instances and properties.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="masker-class" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The Masker class for masking view parameters.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="cluster-config-options" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Enable views to display cluster options in case of no cluster config properties.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="xs:string" name="data-migrator-class" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>The data migration class.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="ParameterType" name="parameter" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Defines a configuration parameter that is used to when creating a view instance.
            </xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="ResourceType" name="resource" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Defines a resource that is exposed by the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="PermissionType" name="permission" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Defines a custom permission for the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="PersistenceType" name="persistence" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Defines the persistence entities used by the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="AutoInstanceType" name="auto-instance" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation>Defines an auto create instance of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element type="InstanceType" name="instance" minOccurs="0" maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>Defines a static instance of the view.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
