refactor codes for vnflcm
[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 INSTANTIATION_STATE = enum(
67     NOT_INSTANTIATED="NOT_INSTANTIATED",
68     INSTANTIATED="INSTANTIATED"
69 )
70
71 LCM_NOTIFICATION_STATUS = enum(START="START", RESULT="RESULT")
72
73 OPERATION_STATE_TYPE = enum(
74     STARTING="STARTING",
75     PROCESSING="PROCESSING",
76     COMPLETED="COMPLETED",
77     FAILED_TEMP="FAILED_TEMP",
78     FAILED="FAILED",
79     ROLLING_BACK="ROLLING_BACK",
80     ROLLED_BACK="ROLLED_BACK"
81 )
82
83 RESULT_RANGE = (
84     OPERATION_STATE_TYPE.COMPLETED,
85     OPERATION_STATE_TYPE.FAILED_TEMP,
86     OPERATION_STATE_TYPE.FAILED,
87     OPERATION_STATE_TYPE.ROLLED_BACK
88 )
89
90 RUNNING_RANGE = (
91     OPERATION_STATE_TYPE.STARTING,
92     OPERATION_STATE_TYPE.PROCESSING,
93     OPERATION_STATE_TYPE.ROLLING_BACK
94 )
95
96 FINAL_STATE_RANGE = (
97     OPERATION_STATE_TYPE.COMPLETED,
98     OPERATION_STATE_TYPE.FAILED,
99     OPERATION_STATE_TYPE.ROLLED_BACK
100 )
101
102 CHANGE_TYPE = enum(
103     ADDED='ADDED',
104     REMOVED='REMOVED',
105     MODIFIED='MODIFIED',
106     TEMPORARY='TEMPORARY',
107     LINK_PORT_ADDED='LINK_PORT_ADDED',
108     LINK_PORT_REMOVED='LINK_PORT_REMOVED'
109 )
110
111 RESOURCE_MAP = {'Storage': 'volumn', 'Network': 'network', 'SubNetwork': 'subnet', 'Port': 'port',
112                 'Flavour': 'flavor', 'Vm': 'vm'}
113
114 URL_PREFIX = "http://%s:%s/api/vnflcm/v1" % (config.MSB_SERVICE_IP, config.MSB_SERVICE_PORT)
115
116 ROOT_URI = "api/vnflcm/v1/subscriptions/"
117
118 AUTH_TYPES = ["BASIC", "OAUTH2_CLIENT_CREDENTIALS", "TLS_CERT"]
119
120 BASIC = "BASIC"
121
122 OAUTH2_CLIENT_CREDENTIALS = "OAUTH2_CLIENT_CREDENTIALS"
123
124 LCCNNOTIFICATION = "VnfLcmOperationOccurrenceNotification"
125
126 NOTIFICATION_TYPES = [
127     "VnfLcmOperationOccurrenceNotification",
128     "VnfIdentifierCreationNotification",
129     "VnfIdentifierDeletionNotification"
130 ]
131
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,
138     OPERATION_TYPE.HEAL,
139     OPERATION_TYPE.OPERATE,
140     OPERATION_TYPE.CHANGE_EXT_CONN,
141     OPERATION_TYPE.MODIFY_INFO
142 ]
143
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
152 ]