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',
20 SCALING='scaling', HEALING='healing')
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",
28 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"
82 # MODIFIED='MODIFIED',
83 # TEMPORARY='TEMPORARY',
84 # LINK_PORT_ADDED='LINK_PORT_ADDED',
85 # LINK_PORT_REMOVED='LINK_PORT_REMOVED'
88 # RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
89 # 'Flavour': 'flavor', 'Vm': 'vm'}
91 ROOT_URI = "api/nslcm/v1/subscriptions/"
93 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
95 NOTIFICATION_TYPES = [
96 "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification",
97 "NsIdentifierDeletionNotification",
98 "NsChangeNotification",
102 OPERATION_TYPE.INSTANTIATE,
103 OPERATION_TYPE.SCALE,
104 OPERATION_TYPE.TERMINATE,
106 OPERATION_TYPE.UPDATE,
109 LCM_OPERATION_STATE_TYPES = [
110 OPERATION_STATE_TYPE.STARTING,
111 OPERATION_STATE_TYPE.PROCESSING,
112 OPERATION_STATE_TYPE.COMPLETED,
113 OPERATION_STATE_TYPE.FAILED_TEMP,
114 OPERATION_STATE_TYPE.FAILED,
115 OPERATION_STATE_TYPE.ROLLING_BACK,
116 OPERATION_STATE_TYPE.ROLLED_BACK
119 NS_COMPOMENT_TYPE = [
126 LCM_OPName_For_Change_Notification_Type = [
127 OPName_For_Change_Notification_Type.VNF_INSTANTIATE,
128 OPName_For_Change_Notification_Type.VNF_SCALE,
129 OPName_For_Change_Notification_Type.VNF_SCALE_TO_LEVEL,
130 OPName_For_Change_Notification_Type.VNF_CHANGE_FLAVOUR,
131 OPName_For_Change_Notification_Type.VNF_TERMINATE,
132 OPName_For_Change_Notification_Type.VNF_HEAL,
133 OPName_For_Change_Notification_Type.VNF_OPERATE,
134 OPName_For_Change_Notification_Type.VNF_CHANGE_EXT_CONN,
135 OPName_For_Change_Notification_Type.VNF_MODIFY_INFO,
136 OPName_For_Change_Notification_Type.NS_INSTANTIATE,
137 OPName_For_Change_Notification_Type.NS_SCALE,
138 OPName_For_Change_Notification_Type.NS_UPDATE,
139 OPName_For_Change_Notification_Type.NS_TERMINATE,
140 OPName_For_Change_Notification_Type.NS_HEAL,
143 LCM_OpOcc_Status_For_ChangeNotification_Type = [
144 OpOcc_Status_For_ChangeNotification_Type.START,
145 OpOcc_Status_For_ChangeNotification_Type.COMPLETED,
146 OpOcc_Status_For_ChangeNotification_Type.PARTIALLY_COMPLETED,
147 OpOcc_Status_For_ChangeNotification_Type.FAILED,
148 OpOcc_Status_For_ChangeNotification_Type.ROLLED_BACK,