L2gateway: Added yang, APIs,Transcriber for L2gateway.
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / INeutronSecurityGroupAware.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 /**
12  * This interface defines the methods a service that wishes to be aware of Neutron Security Groups needs to implement
13  */
14 @Deprecated
15 public interface INeutronSecurityGroupAware {
16
17     /**
18      * Services provide this interface method to indicate if the specified security group can be created
19      *
20      * @param securityGroup instance of proposed new Neutron Security Group object
21      * @return integer
22      * the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
23      * results in the create operation being interrupted and the returned status value reflected in the
24      * HTTP response.
25      */
26     int canCreateNeutronSecurityGroup(NeutronSecurityGroup securityGroup);
27
28     /**
29      * Services provide this interface method for taking action after a security group has been created
30      *
31      * @param securityGroup instance of new Neutron Security Group object
32      */
33     void neutronSecurityGroupCreated(NeutronSecurityGroup securityGroup);
34
35     /**
36      * Services provide this interface method to indicate if the specified security group can be changed using the specified
37      * delta
38      *
39      * @param delta    updates to the security group object using patch semantics
40      * @param original instance of the Neutron Security Group object to be updated
41      * @return integer
42      * the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
43      * results in the update operation being interrupted and the returned status value reflected in the
44      * HTTP response.
45      */
46     int canUpdateNeutronSecurityGroup(NeutronSecurityGroup delta, NeutronSecurityGroup original);
47
48     /**
49      * Services provide this interface method for taking action after a security group has been updated
50      *
51      * @param securityGroup instance of modified Neutron Security Group object
52      */
53     void neutronSecurityGroupUpdated(NeutronSecurityGroup securityGroup);
54
55     /**
56      * Services provide this interface method to indicate if the specified security group can be deleted
57      *
58      * @param securityGroup instance of the Neutron Security Group object to be deleted
59      * @return integer
60      * the return value is understood to be a HTTP status code.  A return value outside of 200 through 299
61      * results in the delete operation being interrupted and the returned status value reflected in the
62      * HTTP response.
63      */
64     int canDeleteNeutronSecurityGroup(NeutronSecurityGroup securityGroup);
65
66     /**
67      * Services provide this interface method for taking action after a security group has been deleted
68      *
69      * @param securityGroup instance of deleted Neutron Security Group object
70      */
71     void neutronSecurityGroupDeleted(NeutronSecurityGroup securityGroup);
72 }