blob: 99af8d7c3d9d7a52bcc3f32f185e134ff1a841f7 [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
kumaran.m3b4814a2020-05-01 19:48:54 +0530208/** Interface for InstantiateParam */
209interface InstantiateParam {
210 nsdId: string;
211 nsName: string;
212 nsDescription: string;
213 vimAccountId: string;
214}
215
216/** Interface for AdditionalParamForN */
217interface AdditionalParamForN {
218 _id: string;
219 'ns-instance-config-ref': string;
220 'crete-time': string;
221}
222
223/** interface for the History nsdInstanceData */
224export interface NSDInstanceData {
225 id?: string;
226 lcmOperationType?: string;
227 operationState?: string;
228 startTime?: number;
229 statusEnteredTime?: number;
230 identifier: string;
231 name: string;
232 NsdName: string;
233 OperationalStatus: string;
234 ConfigStatus: string;
235 DetailedStatus: string;
236 state?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530237 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530238 nsConfig?: object;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530239 vcaStatus?: object;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530240 adminDetails?: object;
241 vnfID?: string[];
242 nsd?: NSD;
243 operationParams?: OPERATIONPARAMS;
244 'nsd-id': string;
245}
246
247/** Interface for the operationparams */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530248export interface OPERATIONPARAMS {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530249 scaleType?: string;
250 scaleVnfData?: SCALEVNFDATA;
251}
252
253/** Interface for the scaleVnfData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530254export interface SCALEVNFDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530255 scaleVnfType?: string;
256 scaleByStepData?: SCALEBYSTEPDATA;
257}
258
259/** Interface for the scaleByStepData */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530260export interface SCALEBYSTEPDATA {
Barath Kumar R07698ab2021-03-30 11:50:42 +0530261 'scaling-group-descriptor'?: string;
262 'member-vnf-index'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530263}
264
265/** Interface for the nsInfo */
266export interface NSINFO {
267 nsInstanceID: string;
268 nsName: string;
269 nsOperationalStatus: string;
270 nsConfigStatus: string;
271 nsDetailedStatus: string;
272 nsResourceOrchestrator: string;
273}
274
275/** Interface for the NSINSTANCENODES */
276export interface NSINSTANCENODES {
277 id?: string;
278 nodeTypeRef?: string;
279 name?: string;
280 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530281 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530282 vimNetworkName?: string;
283 shortName?: string;
284 cp?: CONNECTIONPOINT[];
285 vdur?: string[];
286 vld?: NSDVLD[];
287 nsID?: string;
288 vnfdID?: string;
289 vimID?: string;
290 vndfrID?: string;
291 ipAddress?: string;
292 memberIndex?: string;
293 vnfdRef?: string;
294 vndfCPRef?: string;
295 selectorId?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530296 reflexive?: Boolean;
297 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530298}
299
300/** Interface for the connection-point */
301export interface CONNECTIONPOINT {
302 'connection-point-id': string;
303 name: string;
304 id: string;
305}
306
307/** Interface for Exec NS Primitive */
308export interface NSPrimitive {
309 'primitive': string;
310 'primitive_params': NSPrimitiveParams[];
311 'member_vnf_index': string;
312}
313
314/** Interface for Exec NS Primitive Params */
315export interface NSPrimitiveParams {
316 primitive_params_name: string;
317 primitive_params_value: string;
318}
319
320/** Interface Nodes Creation */
321export interface COMPOSERNODES {
322 id: string;
323 reflexive: Boolean;
324 nodeTypeRef: string;
325 name?: string;
326 nodeIndex?: number;
327 selectorId?: string;
328 x?: number;
329 y?: number;
330 fx?: number;
331 fy?: number;
332 shortName?: string;
333 vimNetworkName?: string;
334 'type'?: string;
335 vnfdRef?: string;
336 memberIndex?: string;
337 vimID?: string;
338 vndfrID?: string;
339 ipAddress?: string;
340 nsID?: string;
341 vnfdID?: string;
342}
343
344/** Interface for the Virtual Link Info */
345export interface VLINFO {
346 id: string;
347 name: string;
348 'type': string;
349 shortName: string;
350 vimNetworkName: string;
351}
352
353/** Interface for the VNFR Info */
SANDHYA.JSfced3d42022-04-28 20:28:17 +0530354export interface VNFRINFO {
kumaran.m3b4814a2020-05-01 19:48:54 +0530355 vimID: string;
356 _id: string;
357 ip: string;
358 nsrID: string;
359 id: string;
360 vnfdRef: string;
361 vnfdId: string;
362 memberIndex: string;
363}