blob: 3604a2731cfba5b6acd73ba1d8c63866daa85e58 [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 */
SANDHYA.JS0a34dfa2023-04-25 23:59:41 +053021/* eslint-disable */
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;
SANDHYA.JS5f8c8022023-10-13 11:45:25 +053052 startTime?: string;
53 'create-time'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053054}
55
56/** Interface for Admin */
57interface Admin {
58 deployed: DeployedAdmin;
59}
60
61/** Interface for DeployedAdmin */
62interface DeployedAdmin {
63 RO: ROAdmin;
64}
65
66/** Interface for ROAdmin */
67interface ROAdmin {
68 'nsr_status': string;
69}
70
71/** Interface for _Admin */
kumaran.m3b4814a2020-05-01 19:48:54 +053072interface _Admin {
73 'projects_write': string[];
74 deployed: DeployedAdmin;
75 nslcmop: string;
76 nsState: string;
77 modified: number;
78 projects_read: string[];
79 created: string;
80}
81
82/** Interface for Deployed_Admin */
83interface DeployedAdmin {
84 VCA: string[];
85 RO: ROAdmin;
86}
87
88/** Interface for RO_Admin */
89interface ROAdmin {
90 'nsr_status': string;
91 'nsr_id': string;
92 'nsd_id': string;
93 vnfd: VNFD[];
94}
95
96/** Interface for VNFD */
97interface VNFD {
98 'member-vnf-index': number;
99 id: string;
100}
101
102/** Interface for NSD */
103export interface NSD {
104 description: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530105 _admin: VNFDAdminDetails;
106 name: string;
107 version: string;
108 _id: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530109 id: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530110 vendor: string;
111 vdur: string[];
112 'connection-point': CONNECTIONPOINT[];
Barath Kumar R063a3f12020-12-29 16:35:09 +0530113 'virtual-link-desc': NSDVLD[];
114 df: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530115}
116
117/** Interface for _AdminDetails */
kumaran.m3b4814a2020-05-01 19:48:54 +0530118export 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;
SANDHYA.JSe478d7e2024-06-10 20:58:04 +0530171 changeVnfPackageData?: CHANGEVNFDATA;
172 verticalScaleVnf?: VERTICALSCALEDATA;
SANDHYA.JS99144582022-04-27 17:22:35 +0530173}
174
175/** Interface for changeVnfPackageData in Ns Update */
176export interface CHANGEVNFDATA {
177 vnfdId: string;
178 vnfInstanceId: string;
179}
180
SANDHYA.JSe478d7e2024-06-10 20:58:04 +0530181/** Interface for vertical scaling */
182export interface VERTICALSCALEDATA {
183 vnfdId: string;
184 vnfInstanceId: string;
185 vduId: string;
186 countIndex: number;
187}
SANDHYA.JS99144582022-04-27 17:22:35 +0530188/** Interface for terminate vnf in Ns Update */
189export interface TERMINATEVNF {
190 lcmOperationType: string;
191 updateType: string;
192 nsInstanceId: string;
193 removeVnfInstanceId: string;
194}
195
SANDHYA.JS3d81a282022-05-02 08:25:39 +0530196/** Interface for Start, Stop & Rebuild */
197export interface StartStopRebuild {
198 updateType: string;
199 operateVnfData: OPERATEVNFDATA;
200}
201
Isabel Lloret523d6752025-04-29 08:06:54 +0000202/** Interface for Show Vdu Console */
203export interface ShowVduConsole {
204 updateType: string;
205 operateVnfData: OPERATEVNFDATA;
206}
207
SANDHYA.JS3d81a282022-05-02 08:25:39 +0530208/** Interface for operateVnfData in Start, Stop and Rebuild */
209export interface OPERATEVNFDATA {
210 additionalParam: ADDITIONALPARAMS;
211 vnfInstanceId: string;
212 changeStateTo: string;
213}
214
215/** Interface for additionalParam in Start, Stop and Rebuild */
216export interface ADDITIONALPARAMS {
217 'run-day1': boolean;
218 'vdu_id': string;
219 'count-index': string;
220}
221
Isabel Lloret523d6752025-04-29 08:06:54 +0000222/** Interface for the result of an operate vnf operation */
223export interface OperateVnfResult {
224 id: string,
225 nsName: string
226}
227
SANDHYA.JS017df362022-05-02 06:57:11 +0530228/** Interface for VerticalScaling */
229export interface VerticalScaling {
230 lcmOperationType: string;
231 verticalScale: string;
232 nsInstanceId: string;
233 changeVnfFlavorData: CHANGEVNFFLAVORDATAPARAM;
234}
235
236/** Interface for changeVnfFlavorData in Vertical Scaling */
237export interface CHANGEVNFFLAVORDATAPARAM {
238 vnfInstanceId: string;
239 additionalParams: ADDITIONALPARAM;
240
241}
242
243/** Interface for additionalParam in Vertical Scaling */
244export interface ADDITIONALPARAM {
245 vduid: string;
246 vduCountIndex: string;
247 virtualMemory: number;
248 sizeOfStorage: number;
249 numVirtualCpu: number;
250
251}
252
kumaran.m3b4814a2020-05-01 19:48:54 +0530253/** Interface for InstantiateParam */
254interface InstantiateParam {
255 nsdId: string;
256 nsName: string;
257 nsDescription: string;
258 vimAccountId: string;
259}
260
261/** Interface for AdditionalParamForN */
262interface AdditionalParamForN {
263 _id: string;
264 'ns-instance-config-ref': string;
265 'crete-time': string;
266}
267
268/** interface for the History nsdInstanceData */
269export interface NSDInstanceData {
270 id?: string;
271 lcmOperationType?: string;
272 operationState?: string;
273 startTime?: number;
274 statusEnteredTime?: number;
275 identifier: string;
276 name: string;
277 NsdName: string;
278 OperationalStatus: string;
279 ConfigStatus: string;
280 DetailedStatus: string;
281 state?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530282 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530283 nsConfig?: object;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530284 vcaStatus?: object;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530285 adminDetails?: object;
286 vnfID?: string[];
287 nsd?: NSD;
288 operationParams?: OPERATIONPARAMS;
289 'nsd-id': string;
SANDHYA.JS1584e3e2022-10-31 20:11:50 +0530290 constituent: string[];
SANDHYA.JS5f8c8022023-10-13 11:45:25 +0530291 'create-time'?: string;
Isabel Lloret523d6752025-04-29 08:06:54 +0000292 vimType?: string;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530293}
294
295/** Interface for the operationparams */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530296export interface OPERATIONPARAMS {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530297 scaleType?: string;
298 scaleVnfData?: SCALEVNFDATA;
299}
300
301/** Interface for the scaleVnfData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530302export interface SCALEVNFDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530303 scaleVnfType?: string;
304 scaleByStepData?: SCALEBYSTEPDATA;
305}
306
307/** Interface for the scaleByStepData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530308export interface SCALEBYSTEPDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530309 'scaling-group-descriptor'?: string;
310 'member-vnf-index'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530311}
312
313/** Interface for the nsInfo */
314export interface NSINFO {
315 nsInstanceID: string;
316 nsName: string;
317 nsOperationalStatus: string;
318 nsConfigStatus: string;
319 nsDetailedStatus: string;
320 nsResourceOrchestrator: string;
321}
322
323/** Interface for the NSINSTANCENODES */
324export interface NSINSTANCENODES {
325 id?: string;
326 nodeTypeRef?: string;
327 name?: string;
328 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530329 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530330 vimNetworkName?: string;
331 shortName?: string;
332 cp?: CONNECTIONPOINT[];
333 vdur?: string[];
334 vld?: NSDVLD[];
335 nsID?: string;
336 vnfdID?: string;
337 vimID?: string;
338 vndfrID?: string;
339 ipAddress?: string;
340 memberIndex?: string;
341 vnfdRef?: string;
342 vndfCPRef?: string;
343 selectorId?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530344 reflexive?: Boolean;
345 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530346}
347
348/** Interface for the connection-point */
349export interface CONNECTIONPOINT {
350 'connection-point-id': string;
351 name: string;
352 id: string;
353}
354
355/** Interface for Exec NS Primitive */
356export interface NSPrimitive {
357 'primitive': string;
358 'primitive_params': NSPrimitiveParams[];
359 'member_vnf_index': string;
360}
361
362/** Interface for Exec NS Primitive Params */
363export interface NSPrimitiveParams {
364 primitive_params_name: string;
365 primitive_params_value: string;
366}
367
368/** Interface Nodes Creation */
369export interface COMPOSERNODES {
370 id: string;
371 reflexive: Boolean;
372 nodeTypeRef: string;
373 name?: string;
374 nodeIndex?: number;
375 selectorId?: string;
376 x?: number;
377 y?: number;
378 fx?: number;
379 fy?: number;
380 shortName?: string;
381 vimNetworkName?: string;
382 'type'?: string;
383 vnfdRef?: string;
384 memberIndex?: string;
385 vimID?: string;
386 vndfrID?: string;
387 ipAddress?: string;
388 nsID?: string;
389 vnfdID?: string;
390}
391
392/** Interface for the Virtual Link Info */
393export interface VLINFO {
394 id: string;
395 name: string;
396 'type': string;
397 shortName: string;
398 vimNetworkName: string;
399}
400
401/** Interface for the VNFR Info */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530402export interface VNFRINFO {
kumaran.m3b4814a2020-05-01 19:48:54 +0530403 vimID: string;
404 _id: string;
405 ip: string;
406 nsrID: string;
407 id: string;
408 vnfdRef: string;
409 vnfdId: string;
410 memberIndex: string;
411}
SANDHYA.JS219fe612024-01-23 15:52:43 +0530412
413/** Interface for vdu mappings */
414export interface VDUMAP {
415 vdu_mappings?: VDUMAPPINGS[];
416}
417
418/** Interface for vdu Mappings */
419export interface VDUMAPPINGS {
420 vduId?: string;
421 'vdu-id'?: string;
422 countIndex?: string;
423 'count-index'?: string;
424 runDay1?: Boolean;
425 'run-day1'?: Boolean;
426}