Skip to content

Instantly share code, notes, and snippets.

@bbende
Last active November 1, 2019 14:19
Show Gist options
  • Save bbende/8df60c186bd94ed1dbfd42d61cfc63ef to your computer and use it in GitHub Desktop.
Save bbende/8df60c186bd94ed1dbfd42d61cfc63ef to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="extensionManifest" type="extensionManifest"/>
<xs:complexType name="extensionManifest">
<xs:sequence>
<xs:element name="systemApiVersion" type="xs:string"/>
<xs:element name="extensions" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="extension" type="extension" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="extension">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="type" type="extensionType"/>
<xs:element name="deprecationNotice" type="deprecationNotice" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="tags" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="tag" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="properties" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="property" type="property" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dynamicProperties" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="dynamicProperty" type="dynamicProperty" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="relationships" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="relationship" type="relationship" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dynamicRelationship" type="dynamicRelationship" minOccurs="0"/>
<xs:element name="readsAttributes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="readsAttribute" type="attribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="writesAttributes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="writesAttribute" type="attribute" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stateful" type="stateful" minOccurs="0"/>
<xs:element name="restricted" type="restricted" minOccurs="0"/>
<xs:element name="inputRequirement" type="inputRequirement" minOccurs="0"/>
<xs:element name="systemResourceConsiderations" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="systemResourceConsideration" type="systemResourceConsideration" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="seeAlso" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="see" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="providedServiceAPIs" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="providedServiceAPI" type="providedServiceAPI" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="deprecationNotice">
<xs:sequence>
<xs:element name="reason" type="xs:string" minOccurs="0"/>
<xs:element name="alternatives" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="alternative" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="property">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="displayName" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="defaultValue" type="xs:string" minOccurs="0"/>
<xs:element name="controllerServiceDefinition" type="controllerServiceDefinition" minOccurs="0"/>
<xs:element name="allowableValues" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="allowableValue" type="allowableValue" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="required" type="xs:boolean"/>
<xs:element name="sensitive" type="xs:boolean"/>
<xs:element name="expressionLanguageSupported" type="xs:boolean"/>
<xs:element name="expressionLanguageScope" type="expressionLanguageScope" minOccurs="0"/>
<xs:element name="dynamicallyModifiesClasspath" type="xs:boolean"/>
<xs:element name="dynamic" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="controllerServiceDefinition">
<xs:sequence>
<xs:element name="className" type="xs:string" minOccurs="0"/>
<xs:element name="groupId" type="xs:string" minOccurs="0"/>
<xs:element name="artifactId" type="xs:string" minOccurs="0"/>
<xs:element name="version" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="allowableValue">
<xs:sequence>
<xs:element name="value" type="xs:string" minOccurs="0"/>
<xs:element name="displayName" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="dynamicProperty">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="value" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="expressionLanguageScope" type="expressionLanguageScope" minOccurs="0"/>
<xs:element name="expressionLanguageSupported" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="relationship">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="autoTerminated" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="dynamicRelationship">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="attribute">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="stateful">
<xs:sequence>
<xs:element name="description" type="xs:string" minOccurs="0"/>
<xs:element name="scopes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="scope" type="scope" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="restricted">
<xs:sequence>
<xs:element name="generalRestrictionExplanation" type="xs:string" minOccurs="0"/>
<xs:element name="restrictions" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="restriction" type="restriction" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="restriction">
<xs:sequence>
<xs:element name="requiredPermission" type="xs:string" minOccurs="0"/>
<xs:element name="explanation" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="systemResourceConsideration">
<xs:sequence>
<xs:element name="resource" type="xs:string" minOccurs="0"/>
<xs:element name="description" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="providedServiceAPI">
<xs:sequence>
<xs:element name="className" type="xs:string" minOccurs="0"/>
<xs:element name="groupId" type="xs:string" minOccurs="0"/>
<xs:element name="artifactId" type="xs:string" minOccurs="0"/>
<xs:element name="version" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="extensionType">
<xs:restriction base="xs:string">
<xs:enumeration value="PROCESSOR"/>
<xs:enumeration value="CONTROLLER_SERVICE"/>
<xs:enumeration value="REPORTING_TASK"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="expressionLanguageScope">
<xs:restriction base="xs:string">
<xs:enumeration value="NONE"/>
<xs:enumeration value="VARIABLE_REGISTRY"/>
<xs:enumeration value="FLOWFILE_ATTRIBUTES"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="scope">
<xs:restriction base="xs:string">
<xs:enumeration value="CLUSTER"/>
<xs:enumeration value="LOCAL"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="inputRequirement">
<xs:restriction base="xs:string">
<xs:enumeration value="INPUT_REQUIRED"/>
<xs:enumeration value="INPUT_ALLOWED"/>
<xs:enumeration value="INPUT_FORBIDDEN"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment