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