2 * Copyright (C) 2014 Red Hat, Inc. and others. All rights reserved.
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
9 package org.opendaylight.ovsdb.openstack.netvirt.translator.iaware;
11 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronLoadBalancerPool;
14 * This interface defines the methods a service that wishes to be aware of LoadBalancerPool Rules needs to implement
18 public interface INeutronLoadBalancerPoolAware {
21 * Services provide this interface method to indicate if the specified loadBalancerPool can be created
23 * @param loadBalancerPool
24 * instance of proposed new LoadBalancerPool object
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
30 int canCreateNeutronLoadBalancerPool(NeutronLoadBalancerPool loadBalancerPool);
33 * Services provide this interface method for taking action after a loadBalancerPool has been created
35 * @param loadBalancerPool
36 * instance of new LoadBalancerPool object
38 void neutronLoadBalancerPoolCreated(NeutronLoadBalancerPool loadBalancerPool);
41 * Services provide this interface method to indicate if the
42 * specified loadBalancerPool can be changed using the specified
46 * updates to the loadBalancerPool object using patch semantics
48 * instance of the LoadBalancerPool object to be updated
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
54 int canUpdateNeutronLoadBalancerPool(NeutronLoadBalancerPool delta, NeutronLoadBalancerPool original);
57 * Services provide this interface method for taking action after a loadBalancerPool has been updated
59 * @param loadBalancerPool
60 * instance of modified LoadBalancerPool object
62 void neutronLoadBalancerPoolUpdated(NeutronLoadBalancerPool loadBalancerPool);
65 * Services provide this interface method to indicate if the specified loadBalancerPool can be deleted
67 * @param loadBalancerPool
68 * instance of the LoadBalancerPool object to be deleted
70 * the return value is understood to be a HTTP status code. A return value outside of 200 through 299
71 * results in the delete operation being interrupted and the returned status value reflected in the
74 int canDeleteNeutronLoadBalancerPool(NeutronLoadBalancerPool loadBalancerPool);
77 * Services provide this interface method for taking action after a loadBalancerPool has been deleted
79 * @param loadBalancerPool
80 * instance of deleted LoadBalancerPool object
82 void neutronLoadBalancerPoolDeleted(NeutronLoadBalancerPool loadBalancerPool);