blob: c10c5ce840fce5f2799126fbe82d04049f3346ab [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
SANDHYA.JS3d81a282022-05-02 08:25:39 +0530188/** Interface for Start, Stop & Rebuild */
189export interface StartStopRebuild {
190 updateType: string;
191 operateVnfData: OPERATEVNFDATA;
192}
193
194/** Interface for operateVnfData in Start, Stop and Rebuild */
195export interface OPERATEVNFDATA {
196 additionalParam: ADDITIONALPARAMS;
197 vnfInstanceId: string;
198 changeStateTo: string;
199}
200
201/** Interface for additionalParam in Start, Stop and Rebuild */
202export interface ADDITIONALPARAMS {
203 'run-day1': boolean;
204 'vdu_id': string;
205 'count-index': string;
206}
207
SANDHYA.JS017df362022-05-02 06:57:11 +0530208/** Interface for VerticalScaling */
209export interface VerticalScaling {
210 lcmOperationType: string;
211 verticalScale: string;
212 nsInstanceId: string;
213 changeVnfFlavorData: CHANGEVNFFLAVORDATAPARAM;
214}
215
216/** Interface for changeVnfFlavorData in Vertical Scaling */
217export interface CHANGEVNFFLAVORDATAPARAM {
218 vnfInstanceId: string;
219 additionalParams: ADDITIONALPARAM;
220
221}
222
223/** Interface for additionalParam in Vertical Scaling */
224export interface ADDITIONALPARAM {
225 vduid: string;
226 vduCountIndex: string;
227 virtualMemory: number;
228 sizeOfStorage: number;
229 numVirtualCpu: number;
230
231}
232
kumaran.m3b4814a2020-05-01 19:48:54 +0530233/** Interface for InstantiateParam */
234interface InstantiateParam {
235 nsdId: string;
236 nsName: string;
237 nsDescription: string;
238 vimAccountId: string;
239}
240
241/** Interface for AdditionalParamForN */
242interface AdditionalParamForN {
243 _id: string;
244 'ns-instance-config-ref': string;
245 'crete-time': string;
246}
247
248/** interface for the History nsdInstanceData */
249export interface NSDInstanceData {
250 id?: string;
251 lcmOperationType?: string;
252 operationState?: string;
253 startTime?: number;
254 statusEnteredTime?: number;
255 identifier: string;
256 name: string;
257 NsdName: string;
258 OperationalStatus: string;
259 ConfigStatus: string;
260 DetailedStatus: string;
261 state?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530262 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530263 nsConfig?: object;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530264 vcaStatus?: object;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530265 adminDetails?: object;
266 vnfID?: string[];
267 nsd?: NSD;
268 operationParams?: OPERATIONPARAMS;
269 'nsd-id': string;
270}
271
272/** Interface for the operationparams */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530273export interface OPERATIONPARAMS {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530274 scaleType?: string;
275 scaleVnfData?: SCALEVNFDATA;
276}
277
278/** Interface for the scaleVnfData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530279export interface SCALEVNFDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530280 scaleVnfType?: string;
281 scaleByStepData?: SCALEBYSTEPDATA;
282}
283
284/** Interface for the scaleByStepData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530285export interface SCALEBYSTEPDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530286 'scaling-group-descriptor'?: string;
287 'member-vnf-index'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530288}
289
290/** Interface for the nsInfo */
291export interface NSINFO {
292 nsInstanceID: string;
293 nsName: string;
294 nsOperationalStatus: string;
295 nsConfigStatus: string;
296 nsDetailedStatus: string;
297 nsResourceOrchestrator: string;
298}
299
300/** Interface for the NSINSTANCENODES */
301export interface NSINSTANCENODES {
302 id?: string;
303 nodeTypeRef?: string;
304 name?: string;
305 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530306 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530307 vimNetworkName?: string;
308 shortName?: string;
309 cp?: CONNECTIONPOINT[];
310 vdur?: string[];
311 vld?: NSDVLD[];
312 nsID?: string;
313 vnfdID?: string;
314 vimID?: string;
315 vndfrID?: string;
316 ipAddress?: string;
317 memberIndex?: string;
318 vnfdRef?: string;
319 vndfCPRef?: string;
320 selectorId?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530321 reflexive?: Boolean;
322 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530323}
324
325/** Interface for the connection-point */
326export interface CONNECTIONPOINT {
327 'connection-point-id': string;
328 name: string;
329 id: string;
330}
331
332/** Interface for Exec NS Primitive */
333export interface NSPrimitive {
334 'primitive': string;
335 'primitive_params': NSPrimitiveParams[];
336 'member_vnf_index': string;
337}
338
339/** Interface for Exec NS Primitive Params */
340export interface NSPrimitiveParams {
341 primitive_params_name: string;
342 primitive_params_value: string;
343}
344
345/** Interface Nodes Creation */
346export interface COMPOSERNODES {
347 id: string;
348 reflexive: Boolean;
349 nodeTypeRef: string;
350 name?: string;
351 nodeIndex?: number;
352 selectorId?: string;
353 x?: number;
354 y?: number;
355 fx?: number;
356 fy?: number;
357 shortName?: string;
358 vimNetworkName?: string;
359 'type'?: string;
360 vnfdRef?: string;
361 memberIndex?: string;
362 vimID?: string;
363 vndfrID?: string;
364 ipAddress?: string;
365 nsID?: string;
366 vnfdID?: string;
367}
368
369/** Interface for the Virtual Link Info */
370export interface VLINFO {
371 id: string;
372 name: string;
373 'type': string;
374 shortName: string;
375 vimNetworkName: string;
376}
377
378/** Interface for the VNFR Info */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530379export interface VNFRINFO {
kumaran.m3b4814a2020-05-01 19:48:54 +0530380 vimID: string;
381 _id: string;
382 ip: string;
383 nsrID: string;
384 id: string;
385 vnfdRef: string;
386 vnfdId: string;
387 memberIndex: string;
388}