1 # Copyright 2016-2017 ZTE Corporation.
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 from lcm.pub.utils.enumutil import enum
16 OWNER_TYPE = enum(VNF=0, VNFM=1, NS=2)
18 NS_INST_STATUS = enum(EMPTY='empty', INSTANTIATING='instantiating', TERMINATING='terminating',
19 ACTIVE='active', FAILED='failed', INACTIVE='inactive', UPDATING='updating', SCALING='scaling',
22 SERVICE_TYPE = 'NetworkService'
23 SERVICE_ROLE = 'NetworkService'
25 HEAL_ACTION_TYPE = enum(START="vmCreate", RESTART="vmReset")
26 ACTION_TYPE = enum(START=1, STOP=2, REBOOT=3)
27 GRANT_TYPE = enum(INSTANTIATE="INSTANTIATE", TERMINATE="TERMINATE", HEAL_CREATE="Heal Create", HEAL_RESTART="Heal Restart", OPERATE="OPERATE")
28 VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active",
29 FAILED="failed", TERMINATING="terminating", SCALING="scaling", OPERATING="operating",
30 UPDATING="updating", HEALING="healing")
32 OPERATION_TYPE = enum(
33 INSTANTIATE="INSTANTIATE",
35 TERMINATE="TERMINATE",
41 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
43 OPERATION_STATE_TYPE = enum(
45 PROCESSING="PROCESSING",
46 COMPLETED="COMPLETED",
47 FAILED_TEMP="FAILED_TEMP",
49 ROLLING_BACK="ROLLING_BACK",
50 ROLLED_BACK="ROLLED_BACK"
53 COMPOMENT_TYPE = enum(
59 OPName_For_Change_Notification_Type = enum(
60 VNF_INSTANTIATE="VNF_INSTANTIATE", VNF_SCALE="VNF_SCALE", VNF_SCALE_TO_LEVEL="VNF_SCALE_TO_LEVEL",
61 VNF_CHANGE_FLAVOUR="VNF_CHANGE_FLAVOUR", VNF_TERMINATE="VNF_TERMINATE", VNF_HEAL="VNF_HEAL",
62 VNF_OPERATE="VNF_OPERATE", VNF_CHANGE_EXT_CONN="VNF_CHANGE_EXT_CONN", VNF_MODIFY_INFO="VNF_MODIFY_INFO",
63 NS_INSTANTIATE="NS_INSTANTIATE", NS_SCALE="NS_SCALE", NS_UPDATE="NS_UPDATE", NS_TERMINATE="NS_TERMINATE",
67 OpOcc_Status_For_ChangeNotification_Type = enum(
68 START="START", COMPLETED="COMPLETED ", PARTIALLY_COMPLETED="PARTIALLY_COMPLETED", FAILED="FAILED",
69 ROLLED_BACK="ROLLED_BACK",
72 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
76 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
82 INSTANTIATE='INSTANTIATE',
83 TERMINATE='TERMINATE',
86 CHANGE_FLAVOUR='CHANGE_FLAVOUR',
90 MODIFY_INFORMATION='MODIFY_INFORMATION',
91 CHANGE_EXTERNAL_VNF_CONNECTIVITY='CHANGE_EXTERNAL_VNF_CONNECTIVITY',
92 ADD_LINK_PORT='ADD_LINK_PORT',
93 REMOVE_LINK_PORT='REMOVE_LINK_PORT'
96 CHANGE_RESULTS = enum(
97 COMPLETED='COMPLETED',
98 ROLLED_BACK='ROLLED_BACK',
100 PARTIALLY_COMPLETED='PARTIALLY_COMPLETED'
104 ROOT_URI = "api/nslcm/v1/subscriptions/"
106 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
108 NOTIFICATION_TYPES = [
109 "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
110 "NsChangeNotification",
114 OPERATION_TYPE.INSTANTIATE,
115 OPERATION_TYPE.SCALE,
116 OPERATION_TYPE.TERMINATE,
118 OPERATION_TYPE.UPDATE,
121 LCM_OPERATION_STATE_TYPES = [
122 OPERATION_STATE_TYPE.STARTING,
123 OPERATION_STATE_TYPE.PROCESSING,
124 OPERATION_STATE_TYPE.COMPLETED,
125 OPERATION_STATE_TYPE.FAILED_TEMP,
126 OPERATION_STATE_TYPE.FAILED,
127 OPERATION_STATE_TYPE.ROLLING_BACK,
128 OPERATION_STATE_TYPE.ROLLED_BACK
131 NS_COMPOMENT_TYPE = [
138 LCM_OPName_For_Change_Notification_Type = [
139 OPName_For_Change_Notification_Type.VNF_INSTANTIATE,
140 OPName_For_Change_Notification_Type.VNF_SCALE,
141 OPName_For_Change_Notification_Type.VNF_SCALE_TO_LEVEL,
142 OPName_For_Change_Notification_Type.VNF_CHANGE_FLAVOUR,
143 OPName_For_Change_Notification_Type.VNF_TERMINATE,
144 OPName_For_Change_Notification_Type.VNF_HEAL,
145 OPName_For_Change_Notification_Type.VNF_OPERATE,
146 OPName_For_Change_Notification_Type.VNF_CHANGE_EXT_CONN,
147 OPName_For_Change_Notification_Type.VNF_MODIFY_INFO,
148 OPName_For_Change_Notification_Type.NS_INSTANTIATE,
149 OPName_For_Change_Notification_Type.NS_SCALE,
150 OPName_For_Change_Notification_Type.NS_UPDATE,
151 OPName_For_Change_Notification_Type.NS_TERMINATE,
152 OPName_For_Change_Notification_Type.NS_HEAL,
155 LCM_OpOcc_Status_For_ChangeNotification_Type = [
156 OpOcc_Status_For_ChangeNotification_Type.START,
157 OpOcc_Status_For_ChangeNotification_Type.COMPLETED,
158 OpOcc_Status_For_ChangeNotification_Type.PARTIALLY_COMPLETED,
159 OpOcc_Status_For_ChangeNotification_Type.FAILED,
160 OpOcc_Status_For_ChangeNotification_Type.ROLLED_BACK,
165 CHANGE_RESULTS.COMPLETED,
166 CHANGE_RESULTS.ROLLED_BACK,
167 CHANGE_RESULTS.FAILED