get ns instance
[vfc/nfvo/lcm.git] / lcm / ns / const.py
1 # Copyright 2016-2017 ZTE Corporation.
2 #
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
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
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
16
17 OWNER_TYPE = enum(VNF=0, VNFM=1, NS=2)
18
19 NS_INST_STATUS = enum(EMPTY='empty', INSTANTIATING='instantiating', TERMINATING='terminating',
20                       ACTIVE='active', FAILED='failed', INACTIVE='inactive', UPDATING='updating', SCALING='scaling',
21                       HEALING='healing')
22
23 SERVICE_TYPE = 'NetworkService'
24 SERVICE_ROLE = 'NetworkService'
25
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")
32
33 OPERATION_TYPE = enum(
34     INSTANTIATE="INSTANTIATE",
35     SCALE="SCALE",
36     TERMINATE="TERMINATE",
37     UPDATE="UPDATE",
38     HEAL="HEAL",
39 )
40
41
42 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
43
44 OPERATION_STATE_TYPE = enum(
45     STARTING="STARTING",
46     PROCESSING="PROCESSING",
47     COMPLETED="COMPLETED",
48     FAILED_TEMP="FAILED_TEMP",
49     FAILED="FAILED",
50     ROLLING_BACK="ROLLING_BACK",
51     ROLLED_BACK="ROLLED_BACK"
52 )
53
54 COMPOMENT_TYPE = enum(
55     VNF="VNF",
56     PNF="PNF",
57     NS="NS",
58 )
59
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",
65     NS_HEAL="NS_HEAL",
66 )
67
68 OpOcc_Status_For_ChangeNotification_Type = enum(
69     START="START", COMPLETED="COMPLETED ", PARTIALLY_COMPLETED="PARTIALLY_COMPLETED", FAILED="FAILED",
70     ROLLED_BACK="ROLLED_BACK",
71 )
72
73 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
74
75 BASIC = "BASIC"
76
77 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
78
79 CHANGE_TYPES = enum(
80     ADD='ADD',
81     DELETE='DELETE',
82     REMOVE='REMOVE',
83     INSTANTIATE='INSTANTIATE',
84     TERMINATE='TERMINATE',
85     SCALE='SCALE',
86     UPDATE='UPDATE',
87     CHANGE_FLAVOUR='CHANGE_FLAVOUR',
88     HEAL='HEAL',
89     OPERATE='OPERATE',
90     MODIFY='MODIFY',
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'
95 )
96
97 CHANGE_RESULTS = enum(
98     COMPLETED='COMPLETED',
99     ROLLED_BACK='ROLLED_BACK',
100     FAILED='FAILED',
101     PARTIALLY_COMPLETED='PARTIALLY_COMPLETED'
102 )
103
104
105 ROOT_URI = "api/nslcm/v1/subscriptions/"
106
107 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
108
109 NOTIFICATION_TYPES = [
110     "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
111     "NsChangeNotification",
112 ]
113
114 NS_LCM_OP_TYPES = [
115     OPERATION_TYPE.INSTANTIATE,
116     OPERATION_TYPE.SCALE,
117     OPERATION_TYPE.TERMINATE,
118     OPERATION_TYPE.HEAL,
119     OPERATION_TYPE.UPDATE,
120 ]
121
122 LCM_OPERATION_STATE_TYPES = [
123     OPERATION_STATE_TYPE.STARTING,
124     OPERATION_STATE_TYPE.PROCESSING,
125     OPERATION_STATE_TYPE.COMPLETED,
126     OPERATION_STATE_TYPE.FAILED_TEMP,
127     OPERATION_STATE_TYPE.FAILED,
128     OPERATION_STATE_TYPE.ROLLING_BACK,
129     OPERATION_STATE_TYPE.ROLLED_BACK
130 ]
131
132 NS_COMPOMENT_TYPE = [
133     COMPOMENT_TYPE.VNF,
134     COMPOMENT_TYPE.PNF,
135     COMPOMENT_TYPE.NS,
136 ]
137
138
139 LCM_OPName_For_Change_Notification_Type = [
140     OPName_For_Change_Notification_Type.VNF_INSTANTIATE,
141     OPName_For_Change_Notification_Type.VNF_SCALE,
142     OPName_For_Change_Notification_Type.VNF_SCALE_TO_LEVEL,
143     OPName_For_Change_Notification_Type.VNF_CHANGE_FLAVOUR,
144     OPName_For_Change_Notification_Type.VNF_TERMINATE,
145     OPName_For_Change_Notification_Type.VNF_HEAL,
146     OPName_For_Change_Notification_Type.VNF_OPERATE,
147     OPName_For_Change_Notification_Type.VNF_CHANGE_EXT_CONN,
148     OPName_For_Change_Notification_Type.VNF_MODIFY_INFO,
149     OPName_For_Change_Notification_Type.NS_INSTANTIATE,
150     OPName_For_Change_Notification_Type.NS_SCALE,
151     OPName_For_Change_Notification_Type.NS_UPDATE,
152     OPName_For_Change_Notification_Type.NS_TERMINATE,
153     OPName_For_Change_Notification_Type.NS_HEAL,
154 ]
155
156 LCM_OpOcc_Status_For_ChangeNotification_Type = [
157     OpOcc_Status_For_ChangeNotification_Type.START,
158     OpOcc_Status_For_ChangeNotification_Type.COMPLETED,
159     OpOcc_Status_For_ChangeNotification_Type.PARTIALLY_COMPLETED,
160     OpOcc_Status_For_ChangeNotification_Type.FAILED,
161     OpOcc_Status_For_ChangeNotification_Type.ROLLED_BACK,
162 ]
163
164
165 CHANGE_RESULT = [
166     CHANGE_RESULTS.COMPLETED,
167     CHANGE_RESULTS.ROLLED_BACK,
168     CHANGE_RESULTS.FAILED
169 ]
170
171 NS_INSTANCE_BASE_URI = MSB_BASE_URL + '/api/nslcm/v1/ns_instances/%s'