bbaf8d33ea441298f645e94471cbdfe257448e6b
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / INeutronLoadBalancerPoolCRUD.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.  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.neutron.spi;
10
11 import java.util.List;
12
13 /**
14  * This interface defines the methods for CRUD of NB OpenStack LoadBalancerPool objects
15  *
16  */
17
18 public interface INeutronLoadBalancerPoolCRUD
19     extends INeutronCRUD<NeutronLoadBalancerPool> {
20     /**
21      * Applications call this interface method to determine if a particular
22      *LoadBalancerPool object exists
23      *
24      * @param uuid
25      *            UUID of the LoadBalancerPool object
26      * @return boolean
27      */
28
29     boolean neutronLoadBalancerPoolExists(String uuid);
30
31     /**
32      * Applications call this interface method to return if a particular
33      * LoadBalancerPool object exists
34      *
35      * @param uuid
36      *            UUID of the LoadBalancerPool object
37      * @return {@link NeutronLoadBalancerPool}
38      *          OpenStackLoadBalancerPool class
39      */
40
41     NeutronLoadBalancerPool getNeutronLoadBalancerPool(String uuid);
42
43     /**
44      * Applications call this interface method to return all LoadBalancerPool objects
45      *
46      * @return List of OpenStackNetworks objects
47      */
48
49     List<NeutronLoadBalancerPool> getAllNeutronLoadBalancerPools();
50
51     /**
52      * Applications call this interface method to add a LoadBalancerPool object to the
53      * concurrent map
54      *
55      * @param input
56      *            OpenStackNetwork object
57      * @return boolean on whether the object was added or not
58      */
59
60     boolean addNeutronLoadBalancerPool(NeutronLoadBalancerPool input);
61
62     /**
63      * Applications call this interface method to remove a Neutron LoadBalancerPool object to the
64      * concurrent map
65      *
66      * @param uuid
67      *            identifier for the LoadBalancerPool object
68      * @return boolean on whether the object was removed or not
69      */
70
71     boolean removeNeutronLoadBalancerPool(String uuid);
72
73     /**
74      * Applications call this interface method to edit a LoadBalancerPool object
75      *
76      * @param uuid
77      *            identifier of the LoadBalancerPool object
78      * @param delta
79      *            OpenStackLoadBalancerPool object containing changes to apply
80      * @return boolean on whether the object was updated or not
81      */
82
83     boolean updateNeutronLoadBalancerPool(String uuid, NeutronLoadBalancerPool delta);
84
85     /**
86      * Applications call this interface method to see if a MAC address is in use
87      *
88      * @param uuid
89      *            identifier of the LoadBalancerPool object
90      * @return boolean on whether the macAddress is already associated with a
91      * port or not
92      */
93
94     boolean neutronLoadBalancerPoolInUse(String uuid);
95
96     /**
97      * Applications call this interface method to determine if a particular
98      *NeutronLoadBalancerPoolMember object exists
99      *
100      * @param poolUuid
101      *            UUID of the NeutronLoadBalancerPool object
102      * @param uuid
103      *            UUID of the NeutronLoadBalancerPoolMember object
104      * @return boolean
105      */
106
107     boolean neutronLoadBalancerPoolMemberExists(String poolUuid, String uuid);
108
109     /**
110      * Applications call this interface method to return if a particular
111      * NeutronLoadBalancerPoolMember object exists
112      *
113      * @param poolUuid
114      *            UUID of the NeutronLoadBalancerPool object
115      * @param uuid
116      *            UUID of the NeutronLoadBalancerPoolMember object
117      * @return {@link org.opendaylight.neutron.spi.NeutronLoadBalancerPoolMember}
118      *          OpenStackNeutronLoadBalancerPoolMember class
119      */
120
121     NeutronLoadBalancerPoolMember getNeutronLoadBalancerPoolMember(String poolUuid, String uuid);
122
123     /**
124      * Applications call this interface method to return all NeutronLoadBalancerPoolMember objects
125      *
126      * @param poolUuid
127      *            UUID of the NeutronLoadBalancerPool object
128      * @return List of OpenStackNetworks objects
129      */
130
131     List<NeutronLoadBalancerPoolMember> getAllNeutronLoadBalancerPoolMembers(String poolUuid);
132
133     /**
134      * Applications call this interface method to add a NeutronLoadBalancerPoolMember object to the
135      * concurrent map
136      *
137      * @param poolUuid
138      *            UUID of the NeutronLoadBalancerPool object
139      * @param input
140      *            OpenStackNetwork object
141      * @return boolean on whether the object was added or not
142      */
143
144     boolean addNeutronLoadBalancerPoolMember(String poolUuid, NeutronLoadBalancerPoolMember input);
145
146     /**
147      * Applications call this interface method to remove a Neutron NeutronLoadBalancerPoolMember object to the
148      * concurrent map
149      *
150      * @param poolUuid
151      *            UUID of the NeutronLoadBalancerPool object
152      * @param uuid
153      *            identifier for the NeutronLoadBalancerPoolMember object
154      * @return boolean on whether the object was removed or not
155      */
156
157     boolean removeNeutronLoadBalancerPoolMember(String poolUuid, String uuid);
158
159     /**
160      * Applications call this interface method to edit a NeutronLoadBalancerPoolMember object
161      *
162      * @param poolUuid
163      *            identifier of the NeutronLoadBalancerPool object
164      * @param uuid
165      *            identifier of the NeutronLoadBalancerPoolMember object
166      * @param delta
167      *            OpenStackNeutronLoadBalancerPoolMember object containing changes to apply
168      * @return boolean on whether the object was updated or not
169      */
170
171     boolean updateNeutronLoadBalancerPoolMember(String poolUuid, String uuid, NeutronLoadBalancerPoolMember delta);
172
173     /**
174      * Applications call this interface method to see if a MAC address is in use
175      *
176      * @param poolUuid
177      *            identifier of the NeutronLoadBalancerPool object
178      * @param uuid
179      *            identifier of the NeutronLoadBalancerPoolMember object
180      * @return boolean on whether the macAddress is already associated with a
181      * port or not
182      */
183
184     boolean neutronLoadBalancerPoolMemberInUse(String poolUuid, String uuid);
185 }