69a57748ddabc88212411cf6b4ecf3d088a80381
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronLoadBalancerPoolMemberAware.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.
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 package org.opendaylight.controller.networkconfig.neutron;
9
10 public interface INeutronLoadBalancerPoolMemberAware {
11
12
13     /**
14      * Services provide this interface method to indicate if the specified loadBalancerPoolMember can be created
15      *
16      * @param loadBalancerPoolMember
17      *            instance of proposed new LoadBalancerPool object
18      * @return integer
19      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
20      *            results in the create operation being interrupted and the returned status value reflected in the
21      *            HTTP response.
22      */
23     public int canCreateNeutronLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember);
24
25     /**
26      * Services provide this interface method for taking action after a loadBalancerPoolMember has been created
27      *
28      * @param loadBalancerPoolMember
29      *            instance of new LoadBalancerPool object
30      * @return void
31      */
32     public void neutronLoadBalancerPoolMemberCreated(NeutronLoadBalancerPoolMember loadBalancerPoolMember);
33
34     /**
35      * Services provide this interface method to indicate if the specified loadBalancerPoolMember can be changed using the specified
36      * delta
37      *
38      * @param delta
39      *            updates to the loadBalancerPoolMember object using patch semantics
40      * @param original
41      *            instance of the LoadBalancerPool object to be updated
42      * @return integer
43      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
44      *            results in the update operation being interrupted and the returned status value reflected in the
45      *            HTTP response.
46      */
47     public int canUpdateNeutronLoadBalancerPoolMember(NeutronLoadBalancerPoolMember delta,
48             NeutronLoadBalancerPoolMember original);
49
50     /**
51      * Services provide this interface method for taking action after a loadBalancerPoolMember has been updated
52      *
53      * @param loadBalancerPoolMember
54      *            instance of modified LoadBalancerPool object
55      * @return void
56      */
57     public void neutronLoadBalancerPoolMemberUpdated(NeutronLoadBalancerPoolMember loadBalancerPoolMember);
58
59     /**
60      * Services provide this interface method to indicate if the specified loadBalancerPoolMember can be deleted
61      *
62      * @param loadBalancerPoolMember
63      *            instance of the LoadBalancerPool object to be deleted
64      * @return integer
65      *            the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
66      *            results in the delete operation being interrupted and the returned status value reflected in the
67      *            HTTP response.
68      */
69     public int canDeleteNeutronLoadBalancerPoolMember(NeutronLoadBalancerPoolMember loadBalancerPoolMember);
70
71     /**
72      * Services provide this interface method for taking action after a loadBalancerPoolMember has been deleted
73      *
74      * @param loadBalancerPoolMember
75      *            instance of deleted LoadBalancerPool object
76      * @return void
77      */
78     public void neutronLoadBalancerPoolMemberDeleted(NeutronLoadBalancerPoolMember loadBalancerPoolMember);
79 }