xml/schema/projects/vaultpass.xsd

56 lines
3.0 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema targetNamespace="https://git.square-r00t.net/VaultPass/"
xmlns="https://git.square-r00t.net/VaultPass/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="../lib/types/vaultpass.xsd"/>
<xs:include schemaLocation="../lib/elements/vaultpass.xsd"/>
<!-- ROOT -->
<xs:element name="vaultpass">
<xs:complexType>
<xs:all>
<xs:element name="server" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:all>
<xs:element name="uri" type="t_std_uri" minOccurs="0" maxOccurs="1"
default="http://localhost:8200/"/>
<!-- We don't use this anymore because groups don't play very nicely with a lot of libraries. Shame. -->
<!-- <xs:element ref="e_vaultpass_unsealselect" minOccurs="0" maxOccurs="1"/> -->
<xs:element name="unseal">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="unsealGpg" type="t_vaultpass_star_gpg"/>
<xs:element name="unsealPlain" type="t_std_base64"/>
</xs:choice>
</xs:complexType>
</xs:element>
<!-- We don't use this anymore because groups don't play very nicely with a lot of libraries. Shame. -->
<!-- <xs:element ref="e_vaultpass_authselect" minOccurs="1" maxOccurs="1"/> -->
<xs:element name="auth" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:choice minOccurs="1" maxOccurs="1">
<xs:element name="authGpg" type="t_vaultpass_star_gpg"/>
<xs:element name="authPlain" type="t_vaultpass_auth_plain"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="mounts" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="mount" minOccurs="1" maxOccurs="unbounded" type="t_vaultpass_mount"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>