blob: 62b9c5c9e6e42196185a588929c9193d2c470dd5 [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
152/** Interface for InstantiateParam */
153interface InstantiateParam {
154 nsdId: string;
155 nsName: string;
156 nsDescription: string;
157 vimAccountId: string;
158}
159
160/** Interface for AdditionalParamForN */
161interface AdditionalParamForN {
162 _id: string;
163 'ns-instance-config-ref': string;
164 'crete-time': string;
165}
166
167/** interface for the History nsdInstanceData */
168export interface NSDInstanceData {
169 id?: string;
170 lcmOperationType?: string;
171 operationState?: string;
172 startTime?: number;
173 statusEnteredTime?: number;
174 identifier: string;
175 name: string;
176 NsdName: string;
177 OperationalStatus: string;
178 ConfigStatus: string;
179 DetailedStatus: string;
180 state?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530181 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530182 nsConfig?: object;
Barath Kumar Rf2ae5462021-03-01 12:52:33 +0530183 vcaStatus?: object;
Barath Kumar R07698ab2021-03-30 11:50:42 +0530184 adminDetails?: object;
185 vnfID?: string[];
186 nsd?: NSD;
187 operationParams?: OPERATIONPARAMS;
188 'nsd-id': string;
189}
190
191/** Interface for the operationparams */
192export interface OPERATIONPARAMS{
193 scaleType?: string;
194 scaleVnfData?: SCALEVNFDATA;
195}
196
197/** Interface for the scaleVnfData */
198export interface SCALEVNFDATA{
199 scaleVnfType?: string;
200 scaleByStepData?: SCALEBYSTEPDATA;
201}
202
203/** Interface for the scaleByStepData */
204export interface SCALEBYSTEPDATA{
205 'scaling-group-descriptor'?: string;
206 'member-vnf-index'?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530207}
208
209/** Interface for the nsInfo */
210export interface NSINFO {
211 nsInstanceID: string;
212 nsName: string;
213 nsOperationalStatus: string;
214 nsConfigStatus: string;
215 nsDetailedStatus: string;
216 nsResourceOrchestrator: string;
217}
218
219/** Interface for the NSINSTANCENODES */
220export interface NSINSTANCENODES {
221 id?: string;
222 nodeTypeRef?: string;
223 name?: string;
224 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530225 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530226 vimNetworkName?: string;
227 shortName?: string;
228 cp?: CONNECTIONPOINT[];
229 vdur?: string[];
230 vld?: NSDVLD[];
231 nsID?: string;
232 vnfdID?: string;
233 vimID?: string;
234 vndfrID?: string;
235 ipAddress?: string;
236 memberIndex?: string;
237 vnfdRef?: string;
238 vndfCPRef?: string;
239 selectorId?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530240 reflexive?: Boolean;
241 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530242}
243
244/** Interface for the connection-point */
245export interface CONNECTIONPOINT {
246 'connection-point-id': string;
247 name: string;
248 id: string;
249}
250
251/** Interface for Exec NS Primitive */
252export interface NSPrimitive {
253 'primitive': string;
254 'primitive_params': NSPrimitiveParams[];
255 'member_vnf_index': string;
256}
257
258/** Interface for Exec NS Primitive Params */
259export interface NSPrimitiveParams {
260 primitive_params_name: string;
261 primitive_params_value: string;
262}
263
264/** Interface Nodes Creation */
265export interface COMPOSERNODES {
266 id: string;
267 reflexive: Boolean;
268 nodeTypeRef: string;
269 name?: string;
270 nodeIndex?: number;
271 selectorId?: string;
272 x?: number;
273 y?: number;
274 fx?: number;
275 fy?: number;
276 shortName?: string;
277 vimNetworkName?: string;
278 'type'?: string;
279 vnfdRef?: string;
280 memberIndex?: string;
281 vimID?: string;
282 vndfrID?: string;
283 ipAddress?: string;
284 nsID?: string;
285 vnfdID?: string;
286}
287
288/** Interface for the Virtual Link Info */
289export interface VLINFO {
290 id: string;
291 name: string;
292 'type': string;
293 shortName: string;
294 vimNetworkName: string;
295}
296
297/** Interface for the VNFR Info */
298export interface VNFRINFO{
299 vimID: string;
300 _id: string;
301 ip: string;
302 nsrID: string;
303 id: string;
304 vnfdRef: string;
305 vnfdId: string;
306 memberIndex: string;
307}