Create odl-nsf-service feature, which excludes neutron feature
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronRouterAware.java
1 /*
2  * Copyright IBM Corporation, 2013.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.controller.networkconfig.neutron;
10
11 /**
12  * This interface defines the methods a service that wishes to be aware of Neutron Routers needs to implement
13  *
14  * @deprecated Replaced by {@link org.opendaylight.neutron.neutron.spi.INeutronRouterAware}
15  */
16
17 @Deprecated
18 public interface INeutronRouterAware {
19
20     /**
21      * Services provide this interface method to indicate if the specified router can be created
22      *
23      * @param router
24      *            instance of proposed new Neutron Router object
25      * @return integer
26      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
27      *            results in the create operation being interrupted and the returned status value reflected in the
28      *            HTTP response.
29      */
30     public int canCreateRouter(NeutronRouter router);
31
32     /**
33      * Services provide this interface method for taking action after a router has been created
34      *
35      * @param router
36      *            instance of new Neutron Router object
37      * @return void
38      */
39     public void neutronRouterCreated(NeutronRouter router);
40
41     /**
42      * Services provide this interface method to indicate if the specified router can be changed using the specified
43      * delta
44      *
45      * @param delta
46      *            updates to the router object using patch semantics
47      * @param router
48      *            instance of the Neutron Router object to be updated
49      * @return integer
50      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
51      *            results in the update operation being interrupted and the returned status value reflected in the
52      *            HTTP response.
53      */
54     public int canUpdateRouter(NeutronRouter delta, NeutronRouter original);
55
56     /**
57      * Services provide this interface method for taking action after a router has been updated
58      *
59      * @param router
60      *            instance of modified Neutron Router object
61      * @return void
62      */
63     public void neutronRouterUpdated(NeutronRouter router);
64
65     /**
66      * Services provide this interface method to indicate if the specified router can be deleted
67      *
68      * @param router
69      *            instance of the Neutron Router object to be deleted
70      * @return integer
71      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
72      *            results in the delete operation being interrupted and the returned status value reflected in the
73      *            HTTP response.
74      */
75     public int canDeleteRouter(NeutronRouter router);
76
77     /**
78      * Services provide this interface method for taking action after a router has been deleted
79      *
80      * @param router
81      *            instance of deleted Router Network object
82      * @return void
83      */
84     public void neutronRouterDeleted(NeutronRouter router);
85
86     /**
87      * Services provide this interface method to indicate if the specified interface can be attached to the specified route
88      *
89      * @param router
90      *            instance of the base Neutron Router object
91      * @param routerInterface
92      *            instance of the NeutronRouter_Interface to be attached to the router
93      * @return integer
94      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
95      *            results in the attach operation being interrupted and the returned status value reflected in the
96      *            HTTP response.
97      */
98     public int canAttachInterface(NeutronRouter router, NeutronRouter_Interface routerInterface);
99
100     /**
101      * Services provide this interface method for taking action after an interface has been added to a router
102      *
103      * @param router
104      *            instance of the base Neutron Router object
105      * @param routerInterface
106      *            instance of the NeutronRouter_Interface being attached to the router
107      * @return void
108      */
109     public void neutronRouterInterfaceAttached(NeutronRouter router, NeutronRouter_Interface routerInterface);
110
111     /**
112      * Services provide this interface method to indicate if the specified interface can be detached from the specified router
113      *
114      * @param router
115      *            instance of the base Neutron Router object
116      * @param routerInterface
117      *            instance of the NeutronRouter_Interface to be detached to the router
118      * @return integer
119      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
120      *            results in the detach operation being interrupted and the returned status value reflected in the
121      *            HTTP response.
122      */
123     public int canDetachInterface(NeutronRouter router, NeutronRouter_Interface routerInterface);
124
125     /**
126      * Services provide this interface method for taking action after an interface has been removed from a router
127      *
128      * @param router
129      *            instance of the base Neutron Router object
130      * @param routerInterface
131      *            instance of the NeutronRouter_Interface being detached from the router
132      * @return void
133      */
134     public void neutronRouterInterfaceDetached(NeutronRouter router, NeutronRouter_Interface routerInterface);
135 }