Initial push of Neutron interface
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronNetworkCRUD.java
1 /*\r
2  * Copyright IBM Corporation, 2013.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 \r
9 package org.opendaylight.controller.networkconfig.neutron;\r
10 \r
11 import java.util.List;\r
12 \r
13 /**\r
14  * This interface defines the methods for CRUD of NB network objects\r
15  *\r
16  */\r
17 \r
18 public interface INeutronNetworkCRUD {\r
19     /**\r
20      * Applications call this interface method to determine if a particular\r
21      * Network object exists\r
22      *\r
23      * @param uuid\r
24      *            UUID of the Network object\r
25      * @return boolean\r
26      */\r
27 \r
28     public boolean networkExists(String uuid);\r
29 \r
30     /**\r
31      * Applications call this interface method to return if a particular\r
32      * Network object exists\r
33      *\r
34      * @param uuid\r
35      *            UUID of the Network object\r
36      * @return {@link org.opendaylight.controller.networkconfig.neutron.NeutronNetwork.OpenStackNetworks}\r
37      *          OpenStack Network class\r
38      */\r
39 \r
40     public NeutronNetwork getNetwork(String uuid);\r
41 \r
42     /**\r
43      * Applications call this interface method to return all Network objects\r
44      *\r
45      * @return List of OpenStackNetworks objects\r
46      */\r
47 \r
48     public List<NeutronNetwork> getAllNetworks();\r
49 \r
50     /**\r
51      * Applications call this interface method to add a Network object to the\r
52      * concurrent map\r
53      *\r
54      * @param input\r
55      *            OpenStackNetwork object\r
56      * @return boolean on whether the object was added or not\r
57      */\r
58 \r
59     public boolean addNetwork(NeutronNetwork input);\r
60 \r
61     /**\r
62      * Applications call this interface method to remove a Network object to the\r
63      * concurrent map\r
64      *\r
65      * @param uuid\r
66      *            identifier for the network object\r
67      * @return boolean on whether the object was removed or not\r
68      */\r
69 \r
70     public boolean removeNetwork(String uuid);\r
71 \r
72     /**\r
73      * Applications call this interface method to edit a Network object\r
74      *\r
75      * @param uuid\r
76      *            identifier of the network object\r
77      * @param delta\r
78      *            OpenStackNetwork object containing changes to apply\r
79      * @return boolean on whether the object was updated or not\r
80      */\r
81 \r
82     public boolean updateNetwork(String uuid, NeutronNetwork delta);\r
83 \r
84     /**\r
85      * Applications call this interface method to determine if a Network object\r
86      * is use\r
87      *\r
88      * @param netUUID\r
89      *            identifier of the network object\r
90      *\r
91      * @return boolean on whether the network is in use or not\r
92      */\r
93 \r
94     public boolean networkInUse(String netUUID);\r
95 }\r