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