add occurrence api in lcm
[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
16 OWNER_TYPE = enum(VNF=0, VNFM=1, NS=2)
17
18 NS_INST_STATUS = enum(EMPTY='empty', INSTANTIATING='instantiating', TERMINATING='terminating',
19                       ACTIVE='active', FAILED='failed', INACTIVE='inactive', UPDATING='updating', SCALING='scaling',
20                       HEALING='healing')
21
22 SERVICE_TYPE = 'NetworkService'
23 SERVICE_ROLE = 'NetworkService'
24
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")
31
32 OPERATION_TYPE = enum(
33     INSTANTIATE="INSTANTIATE",
34     SCALE="SCALE",
35     TERMINATE="TERMINATE",
36     UPDATE="UPDATE",
37     HEAL="HEAL",
38 )
39
40
41 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
42
43 OPERATION_STATE_TYPE = enum(
44     STARTING="STARTING",
45     PROCESSING="PROCESSING",
46     COMPLETED="COMPLETED",
47     FAILED_TEMP="FAILED_TEMP",
48     FAILED="FAILED",
49     ROLLING_BACK="ROLLING_BACK",
50     ROLLED_BACK="ROLLED_BACK"
51 )
52
53 COMPOMENT_TYPE = enum(
54     VNF="VNF",
55     PNF="PNF",
56     NS="NS",
57 )
58
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",
64     NS_HEAL="NS_HEAL",
65 )
66
67 OpOcc_Status_For_ChangeNotification_Type = enum(
68     START="START", COMPLETED="COMPLETED ", PARTIALLY_COMPLETED="PARTIALLY_COMPLETED", FAILED="FAILED",
69     ROLLED_BACK="ROLLED_BACK",
70 )
71
72 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
73
74 BASIC = "BASIC"
75
76 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
77
78 CHANGE_TYPES = enum(
79     ADD='ADD',
80     DELETE='DELETE',
81     REMOVE='REMOVE',
82     INSTANTIATE='INSTANTIATE',
83     TERMINATE='TERMINATE',
84     SCALE='SCALE',
85     UPDATE='UPDATE',
86     CHANGE_FLAVOUR='CHANGE_FLAVOUR',
87     HEAL='HEAL',
88     OPERATE='OPERATE',
89     MODIFY='MODIFY',
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'
94 )
95
96 CHANGE_RESULTS = enum(
97     COMPLETED='COMPLETED',
98     ROLLED_BACK='ROLLED_BACK',
99     FAILED='FAILED',
100     PARTIALLY_COMPLETED='PARTIALLY_COMPLETED'
101 )
102
103
104 ROOT_URI = "api/nslcm/v1/subscriptions/"
105
106 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
107
108 NOTIFICATION_TYPES = [
109     "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
110     "NsChangeNotification",
111 ]
112
113 NS_LCM_OP_TYPES = [
114     OPERATION_TYPE.INSTANTIATE,
115     OPERATION_TYPE.SCALE,
116     OPERATION_TYPE.TERMINATE,
117     OPERATION_TYPE.HEAL,
118     OPERATION_TYPE.UPDATE,
119 ]
120
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
129 ]
130
131 NS_COMPOMENT_TYPE = [
132     COMPOMENT_TYPE.VNF,
133     COMPOMENT_TYPE.PNF,
134     COMPOMENT_TYPE.NS,
135 ]
136
137
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,
153 ]
154
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,
161 ]
162
163
164 CHANGE_RESULT = [
165     CHANGE_RESULTS.COMPLETED,
166     CHANGE_RESULTS.ROLLED_BACK,
167     CHANGE_RESULTS.FAILED
168 ]