Fix license header violations in neutron-spi
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / INeutronSecurityGroupCRUD.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 Security Group objects
15  */
16
17 public interface INeutronSecurityGroupCRUD {
18     /**
19      * Applications call this interface method to determine if a particular
20      * Security Group object exists
21      *
22      * @param uuid UUID of the Security Group object
23      * @return boolean
24      */
25
26     boolean neutronSecurityGroupExists(String uuid);
27
28     /**
29      * Applications call this interface method to return if a particular
30      * Security Group object exists
31      *
32      * @param uuid UUID of the Security Group object
33      * @return {@link org.opendaylight.neutron.spi.NeutronSecurityGroup}
34      * OpenStack Security Group class
35      */
36
37     NeutronSecurityGroup getNeutronSecurityGroup(String uuid);
38
39     /**
40      * Applications call this interface method to return all Security Group objects
41      *
42      * @return List of OpenStackSecurity Groups objects
43      */
44
45     List<NeutronSecurityGroup> getAllNeutronSecurityGroups();
46
47     /**
48      * Applications call this interface method to add a Security Group object to the
49      * concurrent map
50      *
51      * @param input OpenStackSecurity Group object
52      * @return boolean on whether the object was added or not
53      */
54
55     boolean addNeutronSecurityGroup(NeutronSecurityGroup input);
56
57     /**
58      * Applications call this interface method to remove a Neutron Security Group object to the
59      * concurrent map
60      *
61      * @param uuid identifier for the security group object
62      * @return boolean on whether the object was removed or not
63      */
64
65     boolean removeNeutronSecurityGroup(String uuid);
66
67     /**
68      * Applications call this interface method to edit a Security Group object
69      *
70      * @param uuid  identifier of the security group object
71      * @param delta OpenStackSecurity Group object containing changes to apply
72      * @return boolean on whether the object was updated or not
73      */
74
75     boolean updateNeutronSecurityGroup(String uuid, NeutronSecurityGroup delta);
76
77     /**
78      * Applications call this interface method to see if a MAC address is in use
79      *
80      * @param uuid identifier of the security group object
81      * @return boolean on whether the Security Groups is already in use
82      */
83
84     boolean neutronSecurityGroupInUse(String uuid);
85
86 }