Initial push of Neutron interface
[controller.git] / opendaylight / networkconfiguration / neutron / src / main / java / org / opendaylight / controller / networkconfig / neutron / INeutronPortCRUD.java
diff --git a/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/INeutronPortCRUD.java b/opendaylight/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/INeutronPortCRUD.java
new file mode 100644 (file)
index 0000000..681e925
--- /dev/null
@@ -0,0 +1,105 @@
+/*\r
+ * Copyright IBM Corporation, 2013.  All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+package org.opendaylight.controller.networkconfig.neutron;\r
+\r
+import java.util.List;\r
+\r
+/**\r
+ * This interface defines the methods for CRUD of NB Port objects\r
+ *\r
+ */\r
+\r
+public interface INeutronPortCRUD {\r
+    /**\r
+     * Applications call this interface method to determine if a particular\r
+     * Port object exists\r
+     *\r
+     * @param uuid\r
+     *            UUID of the Port object\r
+     * @return boolean\r
+     */\r
+\r
+    public boolean portExists(String uuid);\r
+\r
+    /**\r
+     * Applications call this interface method to return if a particular\r
+     * Port object exists\r
+     *\r
+     * @param uuid\r
+     *            UUID of the Port object\r
+     * @return {@link org.opendaylight.controller.networkconfig.neutron.NeutronPort.OpenStackPorts}\r
+     *          OpenStack Port class\r
+     */\r
+\r
+    public NeutronPort getPort(String uuid);\r
+\r
+    /**\r
+     * Applications call this interface method to return all Port objects\r
+     *\r
+     * @return List of OpenStackPorts objects\r
+     */\r
+\r
+    public List<NeutronPort> getAllPorts();\r
+\r
+    /**\r
+     * Applications call this interface method to add a Port object to the\r
+     * concurrent map\r
+     *\r
+     * @param input\r
+     *            OpenStackPort object\r
+     * @return boolean on whether the object was added or not\r
+     */\r
+\r
+    public boolean addPort(NeutronPort input);\r
+\r
+    /**\r
+     * Applications call this interface method to remove a Port object to the\r
+     * concurrent map\r
+     *\r
+     * @param uuid\r
+     *            identifier for the Port object\r
+     * @return boolean on whether the object was removed or not\r
+     */\r
+\r
+    public boolean removePort(String uuid);\r
+\r
+    /**\r
+     * Applications call this interface method to edit a Port object\r
+     *\r
+     * @param uuid\r
+     *            identifier of the Port object\r
+     * @param delta\r
+     *            OpenStackPort object containing changes to apply\r
+     * @return boolean on whether the object was updated or not\r
+     */\r
+\r
+    public boolean updatePort(String uuid, NeutronPort delta);\r
+\r
+    /**\r
+     * Applications call this interface method to see if a MAC address is in use\r
+     *\r
+     * @param macAddress\r
+     *            mac Address to be tested\r
+     * @return boolean on whether the macAddress is already associated with a\r
+     * port or not\r
+     */\r
+\r
+    public boolean macInUse(String macAddress);\r
+\r
+    /**\r
+     * Applications call this interface method to retrieve the port associated with\r
+     * the gateway address of a subnet\r
+     *\r
+     * @param subnetUUID\r
+     *            identifier of the subnet\r
+     * @return OpenStackPorts object if the port exists and null if it does not\r
+     */\r
+\r
+    public NeutronPort getGatewayPort(String subnetUUID);\r
+}\r