1 # Copyright 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.
15 from lcm.pub.config import config
16 from lcm.pub.utils.jobutil import enum
18 HEAL_ACTION_TYPE = enum(
30 INSTANTIATE="INSTANTIATE",
31 TERMINATE="TERMINATE",
32 HEAL_CREATE="Heal Create",
33 HEAL_RESTART="Heal Restart",
35 SCALE_OUT="SCALE_OUT",
36 CHANGE_FLAVOUR="CHANGE_FLAVOUR",
38 CHANGE_CONNECTIVITY="CHANGE_CONNECTIVITY",
43 INSTANTIATING="instantiating",
47 TERMINATING="terminating",
49 OPERATING="operating",
54 OPERATION_TYPE = enum(
55 INSTANTIATE="INSTANTIATE",
57 SCALE_TO_LEVEL="SCALE_TO_LEVEL",
58 CHANGE_FLAVOUR="CHANGE_FLAVOUR",
59 TERMINATE="TERMINATE",
62 CHANGE_EXT_CONN="CHANGE_EXT_CONN",
63 MODIFY_INFO="MODIFY_INFO"
66 OPERATION_TASK = enum(
68 INSTANTIATE="instantiate",
70 SCALE_TO_LEVEL="scale_to_level",
71 CHANGE_FLAVOUR="change_flavour",
74 CHANGE_EXT_CONN="change_ext_conn",
78 INSTANTIATION_STATE = enum(
79 NOT_INSTANTIATED="NOT_INSTANTIATED",
80 INSTANTIATED="INSTANTIATED"
83 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
85 OPERATION_STATE_TYPE = enum(
87 PROCESSING="PROCESSING",
88 COMPLETED="COMPLETED",
89 FAILED_TEMP="FAILED_TEMP",
91 ROLLING_BACK="ROLLING_BACK",
92 ROLLED_BACK="ROLLED_BACK"
96 OPERATION_STATE_TYPE.COMPLETED,
97 OPERATION_STATE_TYPE.FAILED_TEMP,
98 OPERATION_STATE_TYPE.FAILED,
99 OPERATION_STATE_TYPE.ROLLED_BACK
103 OPERATION_STATE_TYPE.STARTING,
104 OPERATION_STATE_TYPE.PROCESSING,
105 OPERATION_STATE_TYPE.ROLLING_BACK
108 FINAL_STATE_RANGE = (
109 OPERATION_STATE_TYPE.COMPLETED,
110 OPERATION_STATE_TYPE.FAILED,
111 OPERATION_STATE_TYPE.ROLLED_BACK
118 TEMPORARY='TEMPORARY',
119 LINK_PORT_ADDED='LINK_PORT_ADDED',
120 LINK_PORT_REMOVED='LINK_PORT_REMOVED'
123 RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
124 'Flavour': 'flavor', 'Vm': 'vm'}
126 URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
128 ROOT_URI = "api/vnflcm/v1/subscriptions/"
130 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
134 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
136 LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification"
138 NOTIFICATION_TYPES = [
139 "VnfLcmOperationOccurrenceNotification",
140 "VnfIdentifierCreationNotification",
141 "VnfIdentifierDeletionNotification"
144 LCM_OPERATION_TYPES = [
145 OPERATION_TYPE.INSTANTIATE,
146 OPERATION_TYPE.SCALE,
147 OPERATION_TYPE.SCALE_TO_LEVEL,
148 OPERATION_TYPE.CHANGE_FLAVOUR,
149 OPERATION_TYPE.TERMINATE,
151 OPERATION_TYPE.OPERATE,
152 OPERATION_TYPE.CHANGE_EXT_CONN,
153 OPERATION_TYPE.MODIFY_INFO
156 LCM_OPERATION_STATE_TYPES = [
157 OPERATION_STATE_TYPE.STARTING,
158 OPERATION_STATE_TYPE.PROCESSING,
159 OPERATION_STATE_TYPE.COMPLETED,
160 OPERATION_STATE_TYPE.FAILED_TEMP,
161 OPERATION_STATE_TYPE.FAILED,
162 OPERATION_STATE_TYPE.ROLLING_BACK,
163 OPERATION_STATE_TYPE.ROLLED_BACK