Merge branch 'topic/master/neutron-yang-migration' to branch 'master'
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / translator / crud / INeutronFirewallRuleCRUD.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc. and others.  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.ovsdb.openstack.netvirt.translator.crud;
10
11 import java.util.List;
12
13 import org.opendaylight.ovsdb.openstack.netvirt.translator.NeutronFirewallRule;
14
15 /**
16  * This interface defines the methods for CRUD of NB OpenStack Firewall Rule objects
17  *
18  */
19
20 public interface INeutronFirewallRuleCRUD {
21     /**
22      * Applications call this interface method to determine if a particular
23      *FirewallRule object exists
24      *
25      * @param uuid
26      *            UUID of the Firewall Rule object
27      * @return boolean
28      */
29
30     boolean neutronFirewallRuleExists(String uuid);
31
32     /**
33      * Applications call this interface method to return if a particular
34      * FirewallRule object exists
35      *
36      * @param uuid
37      *            UUID of the Firewall Rule object
38      * @return {@link NeutronFirewallRule}
39      *          OpenStackFirewall Rule class
40      */
41
42     NeutronFirewallRule getNeutronFirewallRule(String uuid);
43
44     /**
45      * Applications call this interface method to return all Firewall Rule objects
46      *
47      * @return List of OpenStackNetworks objects
48      */
49
50     List<NeutronFirewallRule> getAllNeutronFirewallRules();
51
52     /**
53      * Applications call this interface method to add a Firewall Rule object to the
54      * concurrent map
55      *
56      * @param input
57      *            OpenStackNetwork object
58      * @return boolean on whether the object was added or not
59      */
60
61     boolean addNeutronFirewallRule(NeutronFirewallRule input);
62
63     /**
64      * Applications call this interface method to remove a Neutron FirewallRule object to the
65      * concurrent map
66      *
67      * @param uuid
68      *            identifier for the Firewall Rule object
69      * @return boolean on whether the object was removed or not
70      */
71
72     boolean removeNeutronFirewallRule(String uuid);
73
74     /**
75      * Applications call this interface method to edit a FirewallRule object
76      *
77      * @param uuid
78      *            identifier of the Firewall Rule object
79      * @param delta
80      *            OpenStackFirewallRule object containing changes to apply
81      * @return boolean on whether the object was updated or not
82      */
83
84     boolean updateNeutronFirewallRule(String uuid, NeutronFirewallRule delta);
85
86     /**
87      * Applications call this interface method to see if a MAC address is in use
88      *
89      * @param uuid
90      *            identifier of the Firewall Rule object
91      * @return boolean on whether the macAddress is already associated with a
92      * port or not
93      */
94
95     boolean neutronFirewallRuleInUse(String uuid);
96
97 }