<!--
  ~ Copyright 2022-2023 Red Hat, Inc.
  ~
  ~ Licensed 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"
           targetNamespace="urn:wildfly:micrometer:1.0"
           xmlns="urn:wildfly:micrometer:1.0"
           elementFormDefault="qualified"
           version="1.0">

    <!-- The subsystem root element -->
    <xs:element name="subsystem">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="otlp-registry" minOccurs="1">
                    <xs:complexType>
                        <xs:attribute name="endpoint" type="xs:string">
                            <xs:annotation>
                                <xs:documentation>
                                    The URL of the OTLP collector to which metrics will be published.
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="step" type="xs:int" default="60">
                            <xs:annotation>
                                <xs:documentation>
                                    The step size (reporting frequency) to use in seconds.
                                </xs:documentation>
                            </xs:annotation>
                        </xs:attribute>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="exposed-subsystems" type="xs:string">
                <xs:annotation>
                    <xs:documentation>
                        The names of the WildFly subsystems that exposes their metrics (or '*' to expose any subsystem
                        metrics).
                    </xs:documentation>
                </xs:annotation>
            </xs:attribute>
        </xs:complexType>
    </xs:element>
</xs:schema>
