blob: c8aa257d7fd8bd8f8eecc72ccd6143dc55d26348 [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 NSD related information.
20 */
21
22import { VNFDAdminDetails } from './VNFDModel';
23
24/** Interface for NSData */
25export interface NSData {
26 shortName: string;
27 identifier: string;
28 description: string;
29 vendor: string;
30 version: string;
31 page?: string;
32 name?: string;
33 projectName?: string;
34 userName?: string;
35 username?: string;
36}
37
38/** Interface for the nscompose descriptors content */
39export interface NSDDetails {
40 'connection-point': CONNECTIONPOINT[];
41 'constituent-vnfd': CONSTITUENTVNFD[];
42 description: string;
43 id: string;
44 logo: string;
45 name: string;
46 'short-name': string;
47 vendor: string;
48 version: string;
49 vld: VLD[];
50 _admin: VNFDAdminDetails;
51 _id: string;
Barath Kumar R218e8812020-09-02 16:43:05 +053052 _links?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053053 'constituent-vnfr-ref': string[];
54}
55
56/** Interface for the connection-point */
57export interface CONNECTIONPOINT {
58 name: string;
59 'vld-id-ref': string;
60}
61
62/** Interface for the constituent-vnfd */
63export interface CONSTITUENTVNFD {
64 'member-vnf-index': number;
65 'vnfd-id-ref': string;
66}
67
68/** Interface for the vld */
69export interface VLD {
70 id: string;
71 'mgmt-network': boolean;
72 name: string;
73 'short-name'?: string;
74 'type': string;
75 'vnfd-connection-point-ref'?: VNFDCONNECTIONPOINTREF[];
76 'vim-network-name': string;
77}
78
79/** Interface for VNFDCONNECTIONPOINTREF */
80export interface VNFDCONNECTIONPOINTREF {
81 'member-vnf-index-ref': number;
82 'vnfd-connection-point-ref': string;
83 'vnfd-id-ref': string;
84}
85/** Interface Nodes Creation */
86export interface COMPOSERNODES {
87 id: string;
88 reflexive: Boolean;
89 'type': string;
90 name?: string;
91 nodeIndex?: number;
92 selectorId?: string;
93 x?: number;
94 y?: number;
95 fx?: number;
96 fy?: number;
97}
98
99/** Interface for the Tick */
100export interface Tick {
101 target: TickPath;
102 source: TickPath;
103 left: boolean;
104 right: boolean;
105}
106
107/** Interface for the Path */
108export interface TickPath {
109 x: number;
110 y: number;
111 id: string;
112 'type'?: string;
113}
114
115/** Interface for the NSD */
116interface NSD {
117 'constituent-vnfd': CONSTITUENTVNFD[];
118 description: string;
119 id: string;
120 name: string;
121 'short-name': string;
122 vendor: string;
123 version: string;
124 vld: VLD[];
125 _admin: VNFDAdminDetails;
126 _id: string;
127}
128/** Interface for the GRAPHDETAILS */
129export interface GRAPHDETAILS {
130 width: number;
131 height: number;
132 nodeHeight: number;
133 nodeWidth: number;
134 textX: number;
135 textY: number;
136 radius: number;
137 distance: number;
138 strength: number;
139 forcex: number;
140 forcey: number;
141 sourcePaddingYes: number;
142 sourcePaddingNo: number;
143 targetPaddingYes: number;
144 targetPaddingNo: number;
145 alphaTarget: number;
146 imageX: number;
147 imageY: number;
148 shiftKeyCode: number;
149}
150
151/** Interface for the NS Create params */
152export interface NSCREATEPARAMS {
153 nsName: string;
154 nsDescription: string;
155 nsdId: string;
156 vimAccountId: string;
157 vld: string;
158 ssh_keys: string[];
159}
160
161/** Interface for the NSI Create params */
162export interface NSICREATEPARAMS {
163 nsName: string;
164 nsDescription: string;
165 nstId: string;
166 vimAccountId: string;
167 'netslice-vld': string;
168 ssh_keys: string[];
169}
Barath Kumar R6e96d1b2020-07-10 12:10:15 +0530170
171/** Interface for the VDU Primitive Levels */
172export interface VDUPRIMITIVELEVEL {
173 id: string;
174 name: string;
175 'vdu-configuration': {};
176}
Barath Kumar R5d75d512020-09-02 17:00:07 +0530177
178/** Interface for the KDU Primitive Levels */
179export interface KDUPRIMITIVELEVEL {
180 name: string;
181 'juju-bundle': string;
182 'kdu-configuration': {};
183}