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
15 from lcm.pub.config.config import MSB_BASE_URL
17 OWNER_TYPE = enum(VNF=0, VNFM=1, NS=2)
19 NS_INST_STATUS = enum(EMPTY='empty', INSTANTIATING='instantiating', TERMINATING='terminating',
20 ACTIVE='active', FAILED='failed', INACTIVE='inactive', UPDATING='updating', SCALING='scaling',
23 SERVICE_TYPE = 'NetworkService'
24 SERVICE_ROLE = 'NetworkService'
26 HEAL_ACTION_TYPE = enum(START="vmCreate", RESTART="vmReset")
27 ACTION_TYPE = enum(START=1, STOP=2, REBOOT=3)
28 GRANT_TYPE = enum(INSTANTIATE="INSTANTIATE", TERMINATE="TERMINATE", HEAL_CREATE="Heal Create", HEAL_RESTART="Heal Restart", OPERATE="OPERATE")
29 VNF_STATUS = enum(NULL='null', INSTANTIATING="instantiating", INACTIVE='inactive', ACTIVE="active",
30 FAILED="failed", TERMINATING="terminating", SCALING="scaling", OPERATING="operating",
31 UPDATING="updating", HEALING="healing")
33 OPERATION_TYPE = enum(
34 INSTANTIATE="INSTANTIATE",
36 TERMINATE="TERMINATE",
42 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
44 OPERATION_STATE_TYPE = enum(
46 PROCESSING="PROCESSING",
47 COMPLETED="COMPLETED",
48 FAILED_TEMP="FAILED_TEMP",
50 ROLLING_BACK="ROLLING_BACK",
51 ROLLED_BACK="ROLLED_BACK"
54 COMPOMENT_TYPE = enum(
60 OPName_For_Change_Notification_Type = enum(
61 VNF_INSTANTIATE="VNF_INSTANTIATE", VNF_SCALE="VNF_SCALE", VNF_SCALE_TO_LEVEL="VNF_SCALE_TO_LEVEL",
62 VNF_CHANGE_FLAVOUR="VNF_CHANGE_FLAVOUR", VNF_TERMINATE="VNF_TERMINATE", VNF_HEAL="VNF_HEAL",
63 VNF_OPERATE="VNF_OPERATE", VNF_CHANGE_EXT_CONN="VNF_CHANGE_EXT_CONN", VNF_MODIFY_INFO="VNF_MODIFY_INFO",
64 NS_INSTANTIATE="NS_INSTANTIATE", NS_SCALE="NS_SCALE", NS_UPDATE="NS_UPDATE", NS_TERMINATE="NS_TERMINATE",
68 OpOcc_Status_For_ChangeNotification_Type = enum(
69 START="START", COMPLETED="COMPLETED ", PARTIALLY_COMPLETED="PARTIALLY_COMPLETED", FAILED="FAILED",
70 ROLLED_BACK="ROLLED_BACK",
73 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
77 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
83 INSTANTIATE='INSTANTIATE',
84 TERMINATE='TERMINATE',
87 CHANGE_FLAVOUR='CHANGE_FLAVOUR',
91 MODIFY_INFORMATION='MODIFY_INFORMATION',
92 CHANGE_EXTERNAL_VNF_CONNECTIVITY='CHANGE_EXTERNAL_VNF_CONNECTIVITY',
93 ADD_LINK_PORT='ADD_LINK_PORT',
94 REMOVE_LINK_PORT='REMOVE_LINK_PORT'
97 CHANGE_RESULTS = enum(
98 COMPLETED='COMPLETED',
99 ROLLED_BACK='ROLLED_BACK',
101 PARTIALLY_COMPLETED='PARTIALLY_COMPLETED'
104 IPADDRESSES_TYPES = enum(
109 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
111 NOTIFICATION_TYPES = [
112 "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
113 "NsChangeNotification",
117 OPERATION_TYPE.INSTANTIATE,
118 OPERATION_TYPE.SCALE,
119 OPERATION_TYPE.TERMINATE,
121 OPERATION_TYPE.UPDATE,
124 LCM_OPERATION_STATE_TYPES = [
125 OPERATION_STATE_TYPE.STARTING,
126 OPERATION_STATE_TYPE.PROCESSING,
127 OPERATION_STATE_TYPE.COMPLETED,
128 OPERATION_STATE_TYPE.FAILED_TEMP,
129 OPERATION_STATE_TYPE.FAILED,
130 OPERATION_STATE_TYPE.ROLLING_BACK,
131 OPERATION_STATE_TYPE.ROLLED_BACK
134 NS_COMPOMENT_TYPE = [
141 LCM_OPName_For_Change_Notification_Type = [
142 OPName_For_Change_Notification_Type.VNF_INSTANTIATE,
143 OPName_For_Change_Notification_Type.VNF_SCALE,
144 OPName_For_Change_Notification_Type.VNF_SCALE_TO_LEVEL,
145 OPName_For_Change_Notification_Type.VNF_CHANGE_FLAVOUR,
146 OPName_For_Change_Notification_Type.VNF_TERMINATE,
147 OPName_For_Change_Notification_Type.VNF_HEAL,
148 OPName_For_Change_Notification_Type.VNF_OPERATE,
149 OPName_For_Change_Notification_Type.VNF_CHANGE_EXT_CONN,
150 OPName_For_Change_Notification_Type.VNF_MODIFY_INFO,
151 OPName_For_Change_Notification_Type.NS_INSTANTIATE,
152 OPName_For_Change_Notification_Type.NS_SCALE,
153 OPName_For_Change_Notification_Type.NS_UPDATE,
154 OPName_For_Change_Notification_Type.NS_TERMINATE,
155 OPName_For_Change_Notification_Type.NS_HEAL,
158 LCM_OpOcc_Status_For_ChangeNotification_Type = [
159 OpOcc_Status_For_ChangeNotification_Type.START,
160 OpOcc_Status_For_ChangeNotification_Type.COMPLETED,
161 OpOcc_Status_For_ChangeNotification_Type.PARTIALLY_COMPLETED,
162 OpOcc_Status_For_ChangeNotification_Type.FAILED,
163 OpOcc_Status_For_ChangeNotification_Type.ROLLED_BACK,
168 CHANGE_RESULTS.COMPLETED,
169 CHANGE_RESULTS.ROLLED_BACK,
170 CHANGE_RESULTS.FAILED
174 NS_INSTANCE_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_instances/%s'
175 NS_OCC_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_lcm_op_occs/%s'
176 SUBSCRIPTION_ROOT_URI = MSB_BASE_URL + "/api/nslcm/v1/subscriptions/%s"