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 INSTANTIATION_STATE = enum(
67 NOT_INSTANTIATED="NOT_INSTANTIATED",
68 INSTANTIATED="INSTANTIATED"
71 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
73 OPERATION_STATE_TYPE = enum(
75 PROCESSING="PROCESSING",
76 COMPLETED="COMPLETED",
77 FAILED_TEMP="FAILED_TEMP",
79 ROLLING_BACK="ROLLING_BACK",
80 ROLLED_BACK="ROLLED_BACK"
84 OPERATION_STATE_TYPE.COMPLETED,
85 OPERATION_STATE_TYPE.FAILED_TEMP,
86 OPERATION_STATE_TYPE.FAILED,
87 OPERATION_STATE_TYPE.ROLLED_BACK
91 OPERATION_STATE_TYPE.STARTING,
92 OPERATION_STATE_TYPE.PROCESSING,
93 OPERATION_STATE_TYPE.ROLLING_BACK
97 OPERATION_STATE_TYPE.COMPLETED,
98 OPERATION_STATE_TYPE.FAILED,
99 OPERATION_STATE_TYPE.ROLLED_BACK
106 TEMPORARY='TEMPORARY',
107 LINK_PORT_ADDED='LINK_PORT_ADDED',
108 LINK_PORT_REMOVED='LINK_PORT_REMOVED'
111 RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
112 'Flavour': 'flavor', 'Vm': 'vm'}
114 URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
116 ROOT_URI = "api/vnflcm/v1/subscriptions/"
118 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
122 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
124 LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification"
126 NOTIFICATION_TYPES = [
127 "VnfLcmOperationOccurrenceNotification",
128 "VnfIdentifierCreationNotification",
129 "VnfIdentifierDeletionNotification"
132 LCM_OPERATION_TYPES = [
133 OPERATION_TYPE.INSTANTIATE,
134 OPERATION_TYPE.SCALE,
135 OPERATION_TYPE.SCALE_TO_LEVEL,
136 OPERATION_TYPE.CHANGE_FLAVOUR,
137 OPERATION_TYPE.TERMINATE,
139 OPERATION_TYPE.OPERATE,
140 OPERATION_TYPE.CHANGE_EXT_CONN,
141 OPERATION_TYPE.MODIFY_INFO
144 LCM_OPERATION_STATE_TYPES = [
145 OPERATION_STATE_TYPE.STARTING,
146 OPERATION_STATE_TYPE.PROCESSING,
147 OPERATION_STATE_TYPE.COMPLETED,
148 OPERATION_STATE_TYPE.FAILED_TEMP,
149 OPERATION_STATE_TYPE.FAILED,
150 OPERATION_STATE_TYPE.ROLLING_BACK,
151 OPERATION_STATE_TYPE.ROLLED_BACK