# See the License for the specific language governing permissions and
# limitations under the License.
from lcm.pub.utils.enumutil import enum
+from lcm.pub.config.config import MSB_BASE_URL
OWNER_TYPE = enum(VNF=0, VNFM=1, NS=2)
SERVICE_TYPE = 'NetworkService'
SERVICE_ROLE = 'NetworkService'
+
+HEAL_ACTION_TYPE = enum(START="vmCreate", RESTART="vmReset")
+ACTION_TYPE = enum(START=1, STOP=2, REBOOT=3)
+GRANT_TYPE = enum(INSTANTIATE="INSTANTIATE", TERMINATE="TERMINATE", HEAL_CREATE="Heal Create", HEAL_RESTART="Heal Restart", OPERATE="OPERATE")
+VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active",
+ FAILED="failed", TERMINATING="terminating", SCALING="scaling", OPERATING="operating",
+ UPDATING="updating", HEALING="healing")
+
+OPERATION_TYPE = enum(
+ INSTANTIATE="INSTANTIATE",
+ SCALE="SCALE",
+ TERMINATE="TERMINATE",
+ UPDATE="UPDATE",
+ HEAL="HEAL",
+)
+
+
+LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
+
+OPERATION_STATE_TYPE = enum(
+ STARTING="STARTING",
+ PROCESSING="PROCESSING",
+ COMPLETED="COMPLETED",
+ FAILED_TEMP="FAILED_TEMP",
+ FAILED="FAILED",
+ ROLLING_BACK="ROLLING_BACK",
+ ROLLED_BACK="ROLLED_BACK"
+)
+
+COMPOMENT_TYPE = enum(
+ VNF="VNF",
+ PNF="PNF",
+ NS="NS",
+)
+
+OPName_For_Change_Notification_Type = enum(
+ VNF_INSTANTIATE="VNF_INSTANTIATE", VNF_SCALE="VNF_SCALE", VNF_SCALE_TO_LEVEL="VNF_SCALE_TO_LEVEL",
+ VNF_CHANGE_FLAVOUR="VNF_CHANGE_FLAVOUR", VNF_TERMINATE="VNF_TERMINATE", VNF_HEAL="VNF_HEAL",
+ VNF_OPERATE="VNF_OPERATE", VNF_CHANGE_EXT_CONN="VNF_CHANGE_EXT_CONN", VNF_MODIFY_INFO="VNF_MODIFY_INFO",
+ NS_INSTANTIATE="NS_INSTANTIATE", NS_SCALE="NS_SCALE", NS_UPDATE="NS_UPDATE", NS_TERMINATE="NS_TERMINATE",
+ NS_HEAL="NS_HEAL",
+)
+
+OpOcc_Status_For_ChangeNotification_Type = enum(
+ START="START", COMPLETED="COMPLETED ", PARTIALLY_COMPLETED="PARTIALLY_COMPLETED", FAILED="FAILED",
+ ROLLED_BACK="ROLLED_BACK",
+)
+
+AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
+
+BASIC = "BASIC"
+
+OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
+
+CHANGE_TYPES = enum(
+ ADD='ADD',
+ DELETE='DELETE',
+ REMOVE='REMOVE',
+ INSTANTIATE='INSTANTIATE',
+ TERMINATE='TERMINATE',
+ SCALE='SCALE',
+ UPDATE='UPDATE',
+ CHANGE_FLAVOUR='CHANGE_FLAVOUR',
+ HEAL='HEAL',
+ OPERATE='OPERATE',
+ MODIFY='MODIFY',
+ MODIFY_INFORMATION='MODIFY_INFORMATION',
+ CHANGE_EXTERNAL_VNF_CONNECTIVITY='CHANGE_EXTERNAL_VNF_CONNECTIVITY',
+ ADD_LINK_PORT='ADD_LINK_PORT',
+ REMOVE_LINK_PORT='REMOVE_LINK_PORT'
+)
+
+CHANGE_RESULTS = enum(
+ COMPLETED='COMPLETED',
+ ROLLED_BACK='ROLLED_BACK',
+ FAILED='FAILED',
+ PARTIALLY_COMPLETED='PARTIALLY_COMPLETED'
+)
+
+
+ROOT_URI = "api/nslcm/v1/subscriptions/"
+
+LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
+
+NOTIFICATION_TYPES = [
+ "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
+ "NsChangeNotification",
+]
+
+NS_LCM_OP_TYPES = [
+ OPERATION_TYPE.INSTANTIATE,
+ OPERATION_TYPE.SCALE,
+ OPERATION_TYPE.TERMINATE,
+ OPERATION_TYPE.HEAL,
+ OPERATION_TYPE.UPDATE,
+]
+
+LCM_OPERATION_STATE_TYPES = [
+ OPERATION_STATE_TYPE.STARTING,
+ OPERATION_STATE_TYPE.PROCESSING,
+ OPERATION_STATE_TYPE.COMPLETED,
+ OPERATION_STATE_TYPE.FAILED_TEMP,
+ OPERATION_STATE_TYPE.FAILED,
+ OPERATION_STATE_TYPE.ROLLING_BACK,
+ OPERATION_STATE_TYPE.ROLLED_BACK
+]
+
+NS_COMPOMENT_TYPE = [
+ COMPOMENT_TYPE.VNF,
+ COMPOMENT_TYPE.PNF,
+ COMPOMENT_TYPE.NS,
+]
+
+
+LCM_OPName_For_Change_Notification_Type = [
+ OPName_For_Change_Notification_Type.VNF_INSTANTIATE,
+ OPName_For_Change_Notification_Type.VNF_SCALE,
+ OPName_For_Change_Notification_Type.VNF_SCALE_TO_LEVEL,
+ OPName_For_Change_Notification_Type.VNF_CHANGE_FLAVOUR,
+ OPName_For_Change_Notification_Type.VNF_TERMINATE,
+ OPName_For_Change_Notification_Type.VNF_HEAL,
+ OPName_For_Change_Notification_Type.VNF_OPERATE,
+ OPName_For_Change_Notification_Type.VNF_CHANGE_EXT_CONN,
+ OPName_For_Change_Notification_Type.VNF_MODIFY_INFO,
+ OPName_For_Change_Notification_Type.NS_INSTANTIATE,
+ OPName_For_Change_Notification_Type.NS_SCALE,
+ OPName_For_Change_Notification_Type.NS_UPDATE,
+ OPName_For_Change_Notification_Type.NS_TERMINATE,
+ OPName_For_Change_Notification_Type.NS_HEAL,
+]
+
+LCM_OpOcc_Status_For_ChangeNotification_Type = [
+ OpOcc_Status_For_ChangeNotification_Type.START,
+ OpOcc_Status_For_ChangeNotification_Type.COMPLETED,
+ OpOcc_Status_For_ChangeNotification_Type.PARTIALLY_COMPLETED,
+ OpOcc_Status_For_ChangeNotification_Type.FAILED,
+ OpOcc_Status_For_ChangeNotification_Type.ROLLED_BACK,
+]
+
+
+CHANGE_RESULT = [
+ CHANGE_RESULTS.COMPLETED,
+ CHANGE_RESULTS.ROLLED_BACK,
+ CHANGE_RESULTS.FAILED
+]
+
+NS_INSTANCE_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_instances/%s'
+NS_OCC_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_lcm_op_occs/%s'