ONOS-6613 Non-disruptive intent reallocation

Change-Id: I5d051c20402a226ad540b8bc08695b602ff75273
diff --git a/core/api/src/main/java/org/onosproject/net/intent/IntentState.java b/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
index 88c76e4..2c75e7f 100644
--- a/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
+++ b/core/api/src/main/java/org/onosproject/net/intent/IntentState.java
@@ -16,6 +16,7 @@
 package org.onosproject.net.intent;
 
 import com.google.common.annotations.Beta;
+import org.onosproject.net.intent.constraint.NonDisruptiveConstraint;
 
 /**
  * Representation of the phases an intent may attain during its lifecycle.
@@ -113,5 +114,15 @@
      * in WITHDRAWN or FAILED.
      * </p>
      */
-    PURGE_REQ
+    PURGE_REQ,
+
+    /**
+     * Indicates that the intent is being reallocated in a non-disruptive way {@link NonDisruptiveConstraint}.
+     * This state can be used to inform other applications that the intent is performing
+     * the reallocation. In particular type of networks this operation can require
+     * a long time. After all the reallocation stages are completed, the intent
+     * returns to the {@link #INSTALLED} state. If any of the reallocation stages fails,
+     * the intent is flagged as {@link #FAILED}.
+     */
+    REALLOCATING
 }