Merge changes Id32773c0,Id876742f
[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 IPADDRESSES_TYPES = enum(
105     IPV4='IPV4',
106     IPV6='IPV6'
107 )
108
109 LCCNNOTIFICATION = "NsLcmOperationOccurrenceNotification"
110
111 NOTIFICATION_TYPES = [
112     "NsLcmOperationOccurrenceNotification", "NsIdentifierCreationNotification", "NsIdentifierDeletionNotification",
113     "NsChangeNotification",
114 ]
115
116 NS_LCM_OP_TYPES = [
117     OPERATION_TYPE.INSTANTIATE,
118     OPERATION_TYPE.SCALE,
119     OPERATION_TYPE.TERMINATE,
120     OPERATION_TYPE.HEAL,
121     OPERATION_TYPE.UPDATE,
122 ]
123
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
132 ]
133
134 NS_COMPOMENT_TYPE = [
135     COMPOMENT_TYPE.VNF,
136     COMPOMENT_TYPE.PNF,
137     COMPOMENT_TYPE.NS,
138 ]
139
140
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,
156 ]
157
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,
164 ]
165
166
167 CHANGE_RESULT = [
168     CHANGE_RESULTS.COMPLETED,
169     CHANGE_RESULTS.ROLLED_BACK,
170     CHANGE_RESULTS.FAILED
171 ]
172
173
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"