blob: 66a6da8e1efc2f1132c970fcb3c3550c2e0c7c51 [file] [log] [blame]
kumaran.m3b4814a2020-05-01 19:48:54 +05301/*
2 Copyright 2020 TATA ELXSI
3
4 Licensed under the Apache License, Version 2.0 (the 'License');
5 you may not use this file except in compliance with the License.
6 You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
17 */
18/**
19 * @file Model for NS Instance related information.
20 */
Barath Kumar R063a3f12020-12-29 16:35:09 +053021// tslint:disable: completed-docs
Barath Kumar R07698ab2021-03-30 11:50:42 +053022import { DF, VLD } from 'NSDModel';
kumaran.m3b4814a2020-05-01 19:48:54 +053023import { VNFDAdminDetails } from 'VNFDModel';
24
25/** Interface for NSInstanceDetails */
26export interface NSInstanceDetails {
27 'orchestration-progress': JSON;
28 'constituent-vnfr-ref': string[];
29 'operational-events': string[];
30 admin: Admin;
31 'ssh-authorized-key': string;
32 _admin: _Admin;
33 'admin-status': string;
34 'operational-status': string;
35 'datacenter': string;
36 nsd: NSD;
Barath Kumar R07698ab2021-03-30 11:50:42 +053037 'nsd-id': string;
kumaran.m3b4814a2020-05-01 19:48:54 +053038 name: string;
39 'name-ref': string;
kumaran.m3b4814a2020-05-01 19:48:54 +053040 id: string;
41 'nsd-name-ref': string;
42 description: string;
43 'detailed-status': string;
44 'config-status': string;
45 'resource-orchestrator': string;
46 'nsd-ref': string;
47 vld: VLD[];
48 instantiate_params: InstantiateParam;
49 additionalParamsForNs: AdditionalParamForN;
50 _id?: string;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +053051 vcaStatus?: object;
kumaran.m3b4814a2020-05-01 19:48:54 +053052}
53
54/** Interface for Admin */
55interface Admin {
56 deployed: DeployedAdmin;
57}
58
59/** Interface for DeployedAdmin */
60interface DeployedAdmin {
61 RO: ROAdmin;
62}
63
64/** Interface for ROAdmin */
65interface ROAdmin {
66 'nsr_status': string;
67}
68
69/** Interface for _Admin */
70// tslint:disable-next-line:class-name
71interface _Admin {
72 'projects_write': string[];
73 deployed: DeployedAdmin;
74 nslcmop: string;
75 nsState: string;
76 modified: number;
77 projects_read: string[];
78 created: string;
79}
80
81/** Interface for Deployed_Admin */
82interface DeployedAdmin {
83 VCA: string[];
84 RO: ROAdmin;
85}
86
87/** Interface for RO_Admin */
88interface ROAdmin {
89 'nsr_status': string;
90 'nsr_id': string;
91 'nsd_id': string;
92 vnfd: VNFD[];
93}
94
95/** Interface for VNFD */
96interface VNFD {
97 'member-vnf-index': number;
98 id: string;
99}
100
101/** Interface for NSD */
102export interface NSD {
103 description: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530104 _admin: VNFDAdminDetails;
105 name: string;
106 version: string;
107 _id: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530108 id: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530109 vendor: string;
110 vdur: string[];
111 'connection-point': CONNECTIONPOINT[];
Barath Kumar R063a3f12020-12-29 16:35:09 +0530112 'virtual-link-desc': NSDVLD[];
113 df: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530114}
115
116/** Interface for _AdminDetails */
117// tslint:disable-next-line:class-name
118export interface _AdminDetails {
119 usageState: string;
120 projects_write: string[];
121 projects_read: string[];
122 operationalState: string;
123 modified: string;
124 storage: Storage;
125 onboardingState: string;
126 userDefinedData: JSON;
127 created: number;
128}
129
130/** Interface for Storage */
131interface Storage {
132 path: string;
133 'pkg-dir': string;
134 zipfile: string;
135 folder: string;
136 descriptor: string;
137 fs: string;
138}
139
140/** Interface for NSDVLD */
141export interface NSDVLD {
142 'vim-id': string;
143 'status-detailed': string;
144 name: string;
145 status: string;
146 'vim-network-name': string;
147 id: string;
148 'type': string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530149 df: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530150}
151
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530152/** Interface for Vm Migration */
153export interface VMMIGRATION {
154 lcmOperationType: string;
155 vnfInstanceId: string;
156 migrateToHost?: string;
157 vdu?: VDUPARAM;
158}
159
160/** Interface for vdu for Vm Migration */
161export interface VDUPARAM {
162 vduId?: string;
163 vduCountIndex?: string;
164}
165
SANDHYA.JS99144582022-04-27 17:22:35 +0530166/** Interface for Ns Update */
167export interface NSUPDATE {
168 lcmOperationType: string;
169 updateType: string;
170 nsInstanceId: string;
171 changeVnfPackageData: CHANGEVNFDATA;
172}
173
174/** Interface for changeVnfPackageData in Ns Update */
175export interface CHANGEVNFDATA {
176 vnfdId: string;
177 vnfInstanceId: string;
178}
179
180/** Interface for terminate vnf in Ns Update */
181export interface TERMINATEVNF {
182 lcmOperationType: string;
183 updateType: string;
184 nsInstanceId: string;
185 removeVnfInstanceId: string;
186}
187
kumaran.m3b4814a2020-05-01 19:48:54 +0530188/** Interface for InstantiateParam */
189interface InstantiateParam {
190 nsdId: string;
191 nsName: string;
192 nsDescription: string;
193 vimAccountId: string;
194}
195
196/** Interface for AdditionalParamForN */
197interface AdditionalParamForN {
198 _id: string;
199 'ns-instance-config-ref': string;
200 'crete-time': string;
201}
202
203/** interface for the History nsdInstanceData */
204export interface NSDInstanceData {
205 id?: string;
206 lcmOperationType?: string;
207 operationState?: string;
208 startTime?: number;
209 statusEnteredTime?: number;
210 identifier: string;
211 name: string;
212 NsdName: string;
213 OperationalStatus: string;
214 ConfigStatus: string;
215 DetailedStatus: string;
216 state?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530217 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530218 nsConfig?: object;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530219 vcaStatus?: object;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530220 adminDetails?: object;
221 vnfID?: string[];
222 nsd?: NSD;
223 operationParams?: OPERATIONPARAMS;
224 'nsd-id': string;
225}
226
227/** Interface for the operationparams */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530228export interface OPERATIONPARAMS {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530229 scaleType?: string;
230 scaleVnfData?: SCALEVNFDATA;
231}
232
233/** Interface for the scaleVnfData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530234export interface SCALEVNFDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530235 scaleVnfType?: string;
236 scaleByStepData?: SCALEBYSTEPDATA;
237}
238
239/** Interface for the scaleByStepData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530240export interface SCALEBYSTEPDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530241 'scaling-group-descriptor'?: string;
242 'member-vnf-index'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530243}
244
245/** Interface for the nsInfo */
246export interface NSINFO {
247 nsInstanceID: string;
248 nsName: string;
249 nsOperationalStatus: string;
250 nsConfigStatus: string;
251 nsDetailedStatus: string;
252 nsResourceOrchestrator: string;
253}
254
255/** Interface for the NSINSTANCENODES */
256export interface NSINSTANCENODES {
257 id?: string;
258 nodeTypeRef?: string;
259 name?: string;
260 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530261 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530262 vimNetworkName?: string;
263 shortName?: string;
264 cp?: CONNECTIONPOINT[];
265 vdur?: string[];
266 vld?: NSDVLD[];
267 nsID?: string;
268 vnfdID?: string;
269 vimID?: string;
270 vndfrID?: string;
271 ipAddress?: string;
272 memberIndex?: string;
273 vnfdRef?: string;
274 vndfCPRef?: string;
275 selectorId?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530276 reflexive?: Boolean;
277 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530278}
279
280/** Interface for the connection-point */
281export interface CONNECTIONPOINT {
282 'connection-point-id': string;
283 name: string;
284 id: string;
285}
286
287/** Interface for Exec NS Primitive */
288export interface NSPrimitive {
289 'primitive': string;
290 'primitive_params': NSPrimitiveParams[];
291 'member_vnf_index': string;
292}
293
294/** Interface for Exec NS Primitive Params */
295export interface NSPrimitiveParams {
296 primitive_params_name: string;
297 primitive_params_value: string;
298}
299
300/** Interface Nodes Creation */
301export interface COMPOSERNODES {
302 id: string;
303 reflexive: Boolean;
304 nodeTypeRef: string;
305 name?: string;
306 nodeIndex?: number;
307 selectorId?: string;
308 x?: number;
309 y?: number;
310 fx?: number;
311 fy?: number;
312 shortName?: string;
313 vimNetworkName?: string;
314 'type'?: string;
315 vnfdRef?: string;
316 memberIndex?: string;
317 vimID?: string;
318 vndfrID?: string;
319 ipAddress?: string;
320 nsID?: string;
321 vnfdID?: string;
322}
323
324/** Interface for the Virtual Link Info */
325export interface VLINFO {
326 id: string;
327 name: string;
328 'type': string;
329 shortName: string;
330 vimNetworkName: string;
331}
332
333/** Interface for the VNFR Info */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530334export interface VNFRINFO {
kumaran.m3b4814a2020-05-01 19:48:54 +0530335 vimID: string;
336 _id: string;
337 ip: string;
338 nsrID: string;
339 id: string;
340 vnfdRef: string;
341 vnfdId: string;
342 memberIndex: string;
343}