Initial implementation of security group for kubevirt tenant network
Change-Id: If49d03021408a134be01267cc4eee9e0091e3c3d
diff --git a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
index 850ac6f..3f19640 100644
--- a/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
+++ b/apps/kubevirt-networking/api/src/main/java/org/onosproject/kubevirtnetworking/api/KubevirtPort.java
@@ -20,6 +20,8 @@
import org.onosproject.net.DeviceId;
import org.onosproject.net.PortNumber;
+import java.util.Set;
+
/**
* Representation of virtual port.
*/
@@ -54,6 +56,20 @@
DeviceId deviceId();
/**
+ * Returns the tenant device ID of the port.
+ *
+ * @return device ID
+ */
+ DeviceId tenantDeviceId();
+
+ /**
+ * Returns the result whether the port is associated with the tenant network.
+ *
+ * @return true if the port is associated with tenant network, false otherwise
+ */
+ boolean isTenant();
+
+ /**
* Returns the port number of the port.
*
* @return port number
@@ -85,6 +101,21 @@
KubevirtPort updateDeviceId(DeviceId updatedDeviceId);
/**
+ * Returns the security group IDs.
+ *
+ * @return security group identifiers.
+ */
+ Set<String> securityGroups();
+
+ /**
+ * Returns new port instance with the given security groups.
+ *
+ * @param sgs security groups
+ * @return updated port
+ */
+ KubevirtPort updateSecurityGroups(Set<String> sgs);
+
+ /**
* Builder of new port.
*/
interface Builder {
@@ -135,5 +166,13 @@
* @return port builder
*/
Builder portNumber(PortNumber portNumber);
+
+ /**
+ * Returns port builder with supplied security group identifiers.
+ *
+ * @param securityGroups security group identifiers
+ * @return port builder
+ */
+ Builder securityGroups(Set<String> securityGroups);
}
}