Fix followerDistributedDataStore tear down
[controller.git] / opendaylight / blueprint / src / main / resources / opendaylight-blueprint-ext-1.0.0.xsd
index 2a2189d615212b0e3a324cc471606e6e41df46cd..297bbb439404c903c0921b9a99747da4ceeedbc3 100644 (file)
@@ -1,26 +1,79 @@
-<xsd:schema xmlns="http://opendaylight.org/xmlns/blueprint/v1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
+<xsd:schema xmlns="http://opendaylight.org/xmlns/blueprint/v1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
-    targetNamespace="http://opendaylight.org/xmlns/blueprint/v1.0.0" elementFormDefault="qualified" 
+    targetNamespace="http://opendaylight.org/xmlns/blueprint/v1.0.0" elementFormDefault="qualified"
     attributeFormDefault="unqualified" version="1.0.0">
 
+  <!--
+   Copyright © 2016, 2018 Brocade Communications Systems, Inc. and others.
+
+   This program and the accompanying materials are made available under the
+   terms of the Eclipse Public License v1.0 which accompanies this distribution,
+   and is available at http://www.eclipse.org/legal/epl-v10.html
+   -->
+
   <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"/>
 
   <xsd:attribute name="restart-dependents-on-updates" type="xsd:boolean"/>
   <xsd:attribute name="use-default-for-reference-types" type="xsd:boolean"/>
   <xsd:attribute name="type" type="xsd:string"/>
 
-  <xsd:complexType name="TrpcImplementation">
+  <!--
+       String representation of an instance identifier. Precise string format
+       is undefined just now.
+   -->
+  <xsd:simpleType name="Tpath">
+    <xsd:restriction base="xsd:string"/>
+  </xsd:simpleType>
+
+  <!--
+       A promise to instantiate actions of specified binding interface.
+       Specified interface must define at least one action. In case a bean
+       is specified, it will be used as the implementation of last resort
+       for actions not otherwise bound. If a bean is not specified, a blank
+       implementation will be substituted.
+   -->
+  <xsd:complexType name="TactionProvider">
+    <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
+    <xsd:attribute name="ref" type="bp:Tidref" use="optional"/>
+  </xsd:complexType>
+  <xsd:element name="action-provider" type="TactionProvider"/>
+
+  <!--
+       A reference to an action-provider providing specified interface.
+       Specified interface must define at least one action.
+   -->
+  <xsd:complexType name="TactionService">
+    <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+  <xsd:element name="action-service" type="TactionService"/>
+
+  <!--
+       Implementation of an action at specific instance. This is used
+       to provide binding to actions on specific context, rather than
+       to a more general contract of action-provider.
+  <xsd:complexType name="TactionImplementation">
     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
+    <xsd:attribute name="path" type="Tpath" use="required"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
-  <xsd:element name="rpc-implementation" type="TrpcImplementation"/>
+  <xsd:element name="action-implementation" type="TactionImplementation"/ -->
 
-  <xsd:complexType name="TroutedRpcImplementation">
+  <!--
+       A reference to a specific action-implementation.
+  <xsd:complexType name="TactionInstance">
+    <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
+    <xsd:attribute name="path" type="Tpath" use="required"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+  <xsd:element name="action-instance" type="TactionInstance"/ -->
+
+  <xsd:complexType name="TrpcImplementation">
     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
-    <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
-  <xsd:element name="routed-rpc-implementation" type="TroutedRpcImplementation"/>
+  <xsd:element name="rpc-implementation" type="TrpcImplementation"/>
 
   <xsd:complexType name="TrpcService">
     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
     </xsd:sequence>
     <xsd:attribute name="binding-class" type="bp:Tclass" use="required"/>
     <xsd:attribute name="list-key-value" type="xsd:string" use="optional"/>
+    <xsd:attribute name="default-config-file-name" type="xsd:string" use="optional"/>
     <xsd:attribute name="id" type="xsd:ID" use="required"/>
+    <xsd:attribute name="update-strategy" type="TupdateStrategy" use="optional" default="reload"/>
   </xsd:complexType>
   <xsd:element name="clustered-app-config" type="TclusteredAppConfig"/>
-
+ <xsd:simpleType name="TupdateStrategy">
+  <xsd:restriction base="xsd:NMTOKEN">
+    <xsd:enumeration value="none"/>
+    <xsd:enumeration value="reload"/>
+  </xsd:restriction>
+ </xsd:simpleType>
   <xsd:complexType name="TspecificReferenceList">
     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
     <xsd:attribute name="id" type="xsd:ID"/>
   </xsd:complexType>
   <xsd:element name="specific-reference-list" type="TspecificReferenceList"/>
-</xsd:schema>
\ No newline at end of file
+
+  <xsd:complexType name="TstaticReference">
+    <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
+    <xsd:attribute name="id" type="xsd:ID"/>
+  </xsd:complexType>
+  <xsd:element name="static-reference" type="TstaticReference"/>
+</xsd:schema>