blob: 6bafcddf99abad7d49120f4dfd756608629f1ea7 [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 R43dec152020-12-29 16:35:09 +053021// tslint:disable: completed-docs
22import { CONSTITUENTVNFD, 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;
37 name: string;
38 'name-ref': string;
kumaran.m3b4814a2020-05-01 19:48:54 +053039 id: string;
40 'nsd-name-ref': string;
41 description: string;
42 'detailed-status': string;
43 'config-status': string;
44 'resource-orchestrator': string;
45 'nsd-ref': string;
46 vld: VLD[];
47 instantiate_params: InstantiateParam;
48 additionalParamsForNs: AdditionalParamForN;
49 _id?: string;
50}
51
52/** Interface for Admin */
53interface Admin {
54 deployed: DeployedAdmin;
55}
56
57/** Interface for DeployedAdmin */
58interface DeployedAdmin {
59 RO: ROAdmin;
60}
61
62/** Interface for ROAdmin */
63interface ROAdmin {
64 'nsr_status': string;
65}
66
67/** Interface for _Admin */
68// tslint:disable-next-line:class-name
69interface _Admin {
70 'projects_write': string[];
71 deployed: DeployedAdmin;
72 nslcmop: string;
73 nsState: string;
74 modified: number;
75 projects_read: string[];
76 created: string;
77}
78
79/** Interface for Deployed_Admin */
80interface DeployedAdmin {
81 VCA: string[];
82 RO: ROAdmin;
83}
84
85/** Interface for RO_Admin */
86interface ROAdmin {
87 'nsr_status': string;
88 'nsr_id': string;
89 'nsd_id': string;
90 vnfd: VNFD[];
91}
92
93/** Interface for VNFD */
94interface VNFD {
95 'member-vnf-index': number;
96 id: string;
97}
98
99/** Interface for NSD */
100export interface NSD {
101 description: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530102 _admin: VNFDAdminDetails;
103 name: string;
104 version: string;
105 _id: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530106 id: string;
107 'constituent-vnfd': CONSTITUENTVNFD[];
108 vendor: string;
109 vdur: string[];
110 'connection-point': CONNECTIONPOINT[];
Barath Kumar R43dec152020-12-29 16:35:09 +0530111 'virtual-link-desc': NSDVLD[];
112 df: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530113}
114
115/** Interface for _AdminDetails */
116// tslint:disable-next-line:class-name
117export interface _AdminDetails {
118 usageState: string;
119 projects_write: string[];
120 projects_read: string[];
121 operationalState: string;
122 modified: string;
123 storage: Storage;
124 onboardingState: string;
125 userDefinedData: JSON;
126 created: number;
127}
128
129/** Interface for Storage */
130interface Storage {
131 path: string;
132 'pkg-dir': string;
133 zipfile: string;
134 folder: string;
135 descriptor: string;
136 fs: string;
137}
138
139/** Interface for NSDVLD */
140export interface NSDVLD {
141 'vim-id': string;
142 'status-detailed': string;
143 name: string;
144 status: string;
145 'vim-network-name': string;
146 id: string;
147 'type': string;
Barath Kumar R43dec152020-12-29 16:35:09 +0530148 df: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530149}
150
151/** Interface for InstantiateParam */
152interface InstantiateParam {
153 nsdId: string;
154 nsName: string;
155 nsDescription: string;
156 vimAccountId: string;
157}
158
159/** Interface for AdditionalParamForN */
160interface AdditionalParamForN {
161 _id: string;
162 'ns-instance-config-ref': string;
163 'crete-time': string;
164}
165
166/** interface for the History nsdInstanceData */
167export interface NSDInstanceData {
168 id?: string;
169 lcmOperationType?: string;
170 operationState?: string;
171 startTime?: number;
172 statusEnteredTime?: number;
173 identifier: string;
174 name: string;
175 NsdName: string;
176 OperationalStatus: string;
177 ConfigStatus: string;
178 DetailedStatus: string;
179 state?: string;
Barath Kumar R43dec152020-12-29 16:35:09 +0530180 memberIndex?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530181 nsConfig?: object;
182}
183
184/** Interface for the nsInfo */
185export interface NSINFO {
186 nsInstanceID: string;
187 nsName: string;
188 nsOperationalStatus: string;
189 nsConfigStatus: string;
190 nsDetailedStatus: string;
191 nsResourceOrchestrator: string;
192}
193
194/** Interface for the NSINSTANCENODES */
195export interface NSINSTANCENODES {
196 id?: string;
197 nodeTypeRef?: string;
198 name?: string;
199 'type'?: string;
Barath Kumar R43dec152020-12-29 16:35:09 +0530200 vnfdCP?: DF[];
kumaran.m3b4814a2020-05-01 19:48:54 +0530201 vimNetworkName?: string;
202 shortName?: string;
203 cp?: CONNECTIONPOINT[];
204 vdur?: string[];
205 vld?: NSDVLD[];
206 nsID?: string;
207 vnfdID?: string;
208 vimID?: string;
209 vndfrID?: string;
210 ipAddress?: string;
211 memberIndex?: string;
212 vnfdRef?: string;
213 vndfCPRef?: string;
214 selectorId?: string;
Barath Kumar R43dec152020-12-29 16:35:09 +0530215 reflexive?: Boolean;
216 nodeIndex?: number;
kumaran.m3b4814a2020-05-01 19:48:54 +0530217}
218
219/** Interface for the connection-point */
220export interface CONNECTIONPOINT {
221 'connection-point-id': string;
222 name: string;
223 id: string;
224}
225
226/** Interface for Exec NS Primitive */
227export interface NSPrimitive {
228 'primitive': string;
229 'primitive_params': NSPrimitiveParams[];
230 'member_vnf_index': string;
231}
232
233/** Interface for Exec NS Primitive Params */
234export interface NSPrimitiveParams {
235 primitive_params_name: string;
236 primitive_params_value: string;
237}
238
239/** Interface Nodes Creation */
240export interface COMPOSERNODES {
241 id: string;
242 reflexive: Boolean;
243 nodeTypeRef: string;
244 name?: string;
245 nodeIndex?: number;
246 selectorId?: string;
247 x?: number;
248 y?: number;
249 fx?: number;
250 fy?: number;
251 shortName?: string;
252 vimNetworkName?: string;
253 'type'?: string;
254 vnfdRef?: string;
255 memberIndex?: string;
256 vimID?: string;
257 vndfrID?: string;
258 ipAddress?: string;
259 nsID?: string;
260 vnfdID?: string;
261}
262
263/** Interface for the Virtual Link Info */
264export interface VLINFO {
265 id: string;
266 name: string;
267 'type': string;
268 shortName: string;
269 vimNetworkName: string;
270}
271
272/** Interface for the VNFR Info */
273export interface VNFRINFO{
274 vimID: string;
275 _id: string;
276 ip: string;
277 nsrID: string;
278 id: string;
279 vnfdRef: string;
280 vnfdId: string;
281 memberIndex: string;
282}