BUG-7608: Add ActionServiceMetadata and ActionProviderBean
[controller.git] / opendaylight / blueprint / src / main / resources / opendaylight-blueprint-ext-1.0.0.xsd
1 <xsd:schema xmlns="http://opendaylight.org/xmlns/blueprint/v1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
2     xmlns:bp="http://www.osgi.org/xmlns/blueprint/v1.0.0"
3     targetNamespace="http://opendaylight.org/xmlns/blueprint/v1.0.0" elementFormDefault="qualified"
4     attributeFormDefault="unqualified" version="1.0.0">
5
6   <xsd:import namespace="http://www.osgi.org/xmlns/blueprint/v1.0.0"/>
7
8   <xsd:attribute name="restart-dependents-on-updates" type="xsd:boolean"/>
9   <xsd:attribute name="use-default-for-reference-types" type="xsd:boolean"/>
10   <xsd:attribute name="type" type="xsd:string"/>
11
12   <!--
13        String representation of an instance identifier. Precise string format
14        is undefined just now.
15    -->
16   <xsd:simpleType name="Tpath">
17     <xsd:restriction base="xsd:string"/>
18   </xsd:simpleType>
19
20   <!--
21        A promise to instantiate actions of specified binding interface.
22        Specified interface must define at least one action. In case a bean
23        is specified, it will be used as the implementation of last resort
24        for actions not otherwise bound. If a bean is not specified, a blank
25        implementation will be substituted.
26    -->
27   <xsd:complexType name="TactionProvider">
28     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
29     <xsd:attribute name="ref" type="bp:Tidref" use="optional"/>
30   </xsd:complexType>
31   <xsd:element name="action-provider" type="TactionProvider"/>
32
33   <!--
34        A reference to an action-provider providing specified interface.
35        Specified interface must define at least one action.
36    -->
37   <xsd:complexType name="TactionService">
38     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
39     <xsd:attribute name="id" type="xsd:ID"/>
40   </xsd:complexType>
41   <xsd:element name="action-service" type="TactionService"/>
42
43   <!--
44        Implementation of an action at specific instance. This is used
45        to provide binding to actions on specific context, rather than
46        to a more general contract of action-provider.
47   <xsd:complexType name="TactionImplementation">
48     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
49     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
50     <xsd:attribute name="path" type="Tpath" use="required"/>
51     <xsd:attribute name="id" type="xsd:ID"/>
52   </xsd:complexType>
53   <xsd:element name="action-implementation" type="TactionImplementation"/ -->
54
55   <!--
56        A reference to a specific action-implementation.
57   <xsd:complexType name="TactionInstance">
58     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
59     <xsd:attribute name="path" type="Tpath" use="required"/>
60     <xsd:attribute name="id" type="xsd:ID"/>
61   </xsd:complexType>
62   <xsd:element name="action-instance" type="TactionInstance"/ -->
63
64   <xsd:complexType name="TrpcImplementation">
65     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
66     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
67   </xsd:complexType>
68   <xsd:element name="rpc-implementation" type="TrpcImplementation"/>
69
70   <!--
71        To be deprecated. This interface contract is fulfilled by
72        action-implementation instead
73    -->
74   <xsd:complexType name="TroutedRpcImplementation">
75     <xsd:attribute name="interface" type="bp:Tclass" use="optional"/>
76     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
77     <xsd:attribute name="id" type="xsd:ID"/>
78   </xsd:complexType>
79   <xsd:element name="routed-rpc-implementation" type="TroutedRpcImplementation"/>
80
81   <xsd:complexType name="TrpcService">
82     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
83     <xsd:attribute name="id" type="xsd:ID"/>
84   </xsd:complexType>
85   <xsd:element name="rpc-service" type="TrpcService"/>
86
87   <xsd:complexType name="TnotificationListener">
88     <xsd:attribute name="ref" type="bp:Tidref" use="required"/>
89   </xsd:complexType>
90   <xsd:element name="notification-listener" type="TnotificationListener"/>
91
92   <xsd:complexType name="TclusteredAppConfig">
93     <xsd:sequence>
94       <xsd:element name="default-config" type="xsd:string" minOccurs="0" maxOccurs="1"/>
95     </xsd:sequence>
96     <xsd:attribute name="binding-class" type="bp:Tclass" use="required"/>
97     <xsd:attribute name="list-key-value" type="xsd:string" use="optional"/>
98     <xsd:attribute name="default-config-file-name" type="xsd:string" use="optional"/>
99     <xsd:attribute name="id" type="xsd:ID" use="required"/>
100     <xsd:attribute name="update-strategy" type="TupdateStrategy" use="optional" default="reload"/>
101   </xsd:complexType>
102   <xsd:element name="clustered-app-config" type="TclusteredAppConfig"/>
103  <xsd:simpleType name="TupdateStrategy">
104   <xsd:restriction base="xsd:NMTOKEN">
105     <xsd:enumeration value="none"/>
106     <xsd:enumeration value="reload"/>
107   </xsd:restriction>
108  </xsd:simpleType>
109   <xsd:complexType name="TspecificReferenceList">
110     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
111     <xsd:attribute name="id" type="xsd:ID"/>
112   </xsd:complexType>
113   <xsd:element name="specific-reference-list" type="TspecificReferenceList"/>
114
115   <xsd:complexType name="TstaticReference">
116     <xsd:attribute name="interface" type="bp:Tclass" use="required"/>
117     <xsd:attribute name="id" type="xsd:ID"/>
118   </xsd:complexType>
119   <xsd:element name="static-reference" type="TstaticReference"/>
120 </xsd:schema>