Add lcm op occ for chg ext conn
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / const.py
1 # Copyright 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
15 from lcm.pub.config import config
16 from lcm.pub.utils.jobutil import enum
17
18 HEAL_ACTION_TYPE = enum(
19     START="vmCreate",
20     RESTART="vmReset"
21 )
22
23 ACTION_TYPE = enum(
24     START=1,
25     STOP=2,
26     REBOOT=3
27 )
28
29 GRANT_TYPE = enum(
30     INSTANTIATE="INSTANTIATE",
31     TERMINATE="TERMINATE",
32     HEAL_CREATE="Heal Create",
33     HEAL_RESTART="Heal Restart",
34     SCALE_IN="SCALE_IN",
35     SCALE_OUT="SCALE_OUT",
36     CHANGE_FLAVOUR="CHANGE_FLAVOUR",
37     OPERATE="OPERATE",
38     CHANGE_CONNECTIVITY="CHANGE_CONNECTIVITY",
39 )
40
41 VNF_STATUS = enum(
42     NULL='null',
43     INSTANTIATING="instantiating",
44     INACTIVE='inactive',
45     ACTIVE="active",
46     FAILED="failed",
47     TERMINATING="terminating",
48     SCALING="scaling",
49     OPERATING="operating",
50     UPDATING="updating",
51     HEALING="healing"
52 )
53
54 OPERATION_TYPE = enum(
55     INSTANTIATE="INSTANTIATE",
56     SCALE="SCALE",
57     SCALE_TO_LEVEL="SCALE_TO_LEVEL",
58     CHANGE_FLAVOUR="CHANGE_FLAVOUR",
59     TERMINATE="TERMINATE",
60     HEAL="HEAL",
61     OPERATE="OPERATE",
62     CHANGE_EXT_CONN="CHANGE_EXT_CONN",
63     MODIFY_INFO="MODIFY_INFO"
64 )
65
66 OPERATION_TASK = enum(
67     MODIFY="",
68     INSTANTIATE="instantiate",
69     SCALE="scale",
70     SCALE_TO_LEVEL="scale_to_level",
71     CHANGE_FLAVOUR="change_flavour",
72     OPERATE="operate",
73     HEAL="heal",
74     CHANGE_EXT_CONN="change_ext_conn",
75     TERMINATE="terminate"
76 )
77
78 SUB_OPERATION_TASK = enum(
79     RETRY="retry",
80     ROLLBACK="rollback",
81     FAIL="fail",
82     CANCEL="cancel",
83     ERROR="error",
84     SUCCESS="success",
85     GRANTED="granted",
86     UNRESOLVABLE_ERROR="unresolvable_error",
87     AUTO_ROLLBACK="auto_rollback",
88 )
89
90 SUB_OPERATION_TUPLE = (
91     SUB_OPERATION_TASK.RETRY,
92     SUB_OPERATION_TASK.ROLLBACK,
93     SUB_OPERATION_TASK.FAIL,
94     SUB_OPERATION_TASK.CANCEL
95 )
96
97 INSTANTIATION_STATE = enum(
98     NOT_INSTANTIATED="NOT_INSTANTIATED",
99     INSTANTIATED="INSTANTIATED"
100 )
101
102 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
103
104 OPERATION_STATE_TYPE = enum(
105     STARTING="STARTING",
106     PROCESSING="PROCESSING",
107     COMPLETED="COMPLETED",
108     FAILED_TEMP="FAILED_TEMP",
109     FAILED="FAILED",
110     ROLLING_BACK="ROLLING_BACK",
111     ROLLED_BACK="ROLLED_BACK"
112 )
113
114 RESULT_RANGE = (
115     OPERATION_STATE_TYPE.COMPLETED,
116     OPERATION_STATE_TYPE.FAILED_TEMP,
117     OPERATION_STATE_TYPE.FAILED,
118     OPERATION_STATE_TYPE.ROLLED_BACK
119 )
120
121 RUNNING_RANGE = (
122     OPERATION_STATE_TYPE.STARTING,
123     OPERATION_STATE_TYPE.PROCESSING,
124     OPERATION_STATE_TYPE.ROLLING_BACK
125 )
126
127 FINAL_STATE_RANGE = (
128     OPERATION_STATE_TYPE.COMPLETED,
129     OPERATION_STATE_TYPE.FAILED,
130     OPERATION_STATE_TYPE.ROLLED_BACK
131 )
132
133 CHANGE_TYPE = enum(
134     ADDED='ADDED',
135     REMOVED='REMOVED',
136     MODIFIED='MODIFIED',
137     TEMPORARY='TEMPORARY',
138     LINK_PORT_ADDED='LINK_PORT_ADDED',
139     LINK_PORT_REMOVED='LINK_PORT_REMOVED'
140 )
141
142 RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
143                 'Flavour': 'flavor', 'Vm': 'vm'}
144
145 URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
146
147 ROOT_URI = "api/vnflcm/v1/subscriptions/"
148
149 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
150
151 BASIC = "BASIC"
152
153 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
154
155 LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification"
156
157 NOTIFICATION_TYPES = [
158     "VnfLcmOperationOccurrenceNotification",
159     "VnfIdentifierCreationNotification",
160     "VnfIdentifierDeletionNotification"
161 ]
162
163 LCM_OPERATION_TYPES = [
164     OPERATION_TYPE.INSTANTIATE,
165     OPERATION_TYPE.SCALE,
166     OPERATION_TYPE.SCALE_TO_LEVEL,
167     OPERATION_TYPE.CHANGE_FLAVOUR,
168     OPERATION_TYPE.TERMINATE,
169     OPERATION_TYPE.HEAL,
170     OPERATION_TYPE.OPERATE,
171     OPERATION_TYPE.CHANGE_EXT_CONN,
172     OPERATION_TYPE.MODIFY_INFO
173 ]
174
175 LCM_OPERATION_STATE_TYPES = [
176     OPERATION_STATE_TYPE.STARTING,
177     OPERATION_STATE_TYPE.PROCESSING,
178     OPERATION_STATE_TYPE.COMPLETED,
179     OPERATION_STATE_TYPE.FAILED_TEMP,
180     OPERATION_STATE_TYPE.FAILED,
181     OPERATION_STATE_TYPE.ROLLING_BACK,
182     OPERATION_STATE_TYPE.ROLLED_BACK
183 ]