blob: 131af47b0796ca24bc75d638cf935274b1f39528 [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 */
Barath Kumar R063a3f12020-12-29 16:35:09 +053021// tslint:disable: completed-docs
kumaran.m3b4814a2020-05-01 19:48:54 +053022import { VNFDAdminDetails } from './VNFDModel';
23
24/** Interface for NSData */
25export interface NSData {
Barath Kumar R063a3f12020-12-29 16:35:09 +053026 id?: string;
27 identifier?: string;
28 description?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053029 version: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053030 name?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053031 designer?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053032}
33
34/** Interface for the nscompose descriptors content */
35export interface NSDDetails {
36 'connection-point': CONNECTIONPOINT[];
37 'constituent-vnfd': CONSTITUENTVNFD[];
38 description: string;
39 id: string;
40 logo: string;
41 name: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053042 version: string;
43 vld: VLD[];
44 _admin: VNFDAdminDetails;
45 _id: string;
Barath Kumar R218e8812020-09-02 16:43:05 +053046 _links?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053047 'constituent-vnfr-ref': string[];
Barath Kumar R063a3f12020-12-29 16:35:09 +053048 'virtual-link-desc': VLD[];
49 df: DF[];
50 'vnfd-id': string[];
51 designer?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053052}
53
54/** Interface for the connection-point */
55export interface CONNECTIONPOINT {
56 name: string;
57 'vld-id-ref': string;
58}
59
60/** Interface for the constituent-vnfd */
61export interface CONSTITUENTVNFD {
62 'member-vnf-index': number;
63 'vnfd-id-ref': string;
64}
65
66/** Interface for the vld */
67export interface VLD {
68 id: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053069 'mgmt-network'?: boolean;
kumaran.m3b4814a2020-05-01 19:48:54 +053070}
71
kumaran.m3b4814a2020-05-01 19:48:54 +053072/** Interface Nodes Creation */
73export interface COMPOSERNODES {
74 id: string;
75 reflexive: Boolean;
76 'type': string;
77 name?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053078 nodeIndex?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053079 selectorId?: string;
80 x?: number;
81 y?: number;
82 fx?: number;
83 fy?: number;
84}
85
86/** Interface for the Tick */
87export interface Tick {
88 target: TickPath;
89 source: TickPath;
90 left: boolean;
91 right: boolean;
92}
93
94/** Interface for the Path */
95export interface TickPath {
96 x: number;
97 y: number;
98 id: string;
99 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +0530100 name?: string;
101 nodeIndex?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +0530102}
103/** Interface for the GRAPHDETAILS */
104export interface GRAPHDETAILS {
105 width: number;
106 height: number;
107 nodeHeight: number;
108 nodeWidth: number;
109 textX: number;
110 textY: number;
111 radius: number;
112 distance: number;
113 strength: number;
114 forcex: number;
115 forcey: number;
116 sourcePaddingYes: number;
117 sourcePaddingNo: number;
118 targetPaddingYes: number;
119 targetPaddingNo: number;
120 alphaTarget: number;
121 imageX: number;
122 imageY: number;
123 shiftKeyCode: number;
124}
125
126/** Interface for the NS Create params */
127export interface NSCREATEPARAMS {
128 nsName: string;
129 nsDescription: string;
130 nsdId: string;
131 vimAccountId: string;
132 vld: string;
133 ssh_keys: string[];
134}
135
136/** Interface for the NSI Create params */
137export interface NSICREATEPARAMS {
138 nsName: string;
139 nsDescription: string;
140 nstId: string;
141 vimAccountId: string;
142 'netslice-vld': string;
143 ssh_keys: string[];
144}
Barath Kumar R6e96d1b2020-07-10 12:10:15 +0530145
146/** Interface for the VDU Primitive Levels */
147export interface VDUPRIMITIVELEVEL {
148 id: string;
149 name: string;
150 'vdu-configuration': {};
151}
Barath Kumar R5d75d512020-09-02 17:00:07 +0530152
153/** Interface for the KDU Primitive Levels */
154export interface KDUPRIMITIVELEVEL {
155 name: string;
156 'juju-bundle': string;
157 'kdu-configuration': {};
158}
Barath Kumar R063a3f12020-12-29 16:35:09 +0530159
160/** Interface for the DF */
161export interface DF {
162 id: string;
163 'vnf-profile': VNFPROFILE[];
164}
165
166/** Interface for the DF */
167export interface VNFPROFILE {
168 id: string;
169 'virtual-link-connectivity': VLC[];
170 'vnfd-id': string;
171}
172
173/** Interface for the VLC */
174export interface VLC {
175 'constituent-cpd-id': CCI[];
176 'virtual-link-profile-id': string;
177}
178
179/** Interface for the CCI */
180export interface CCI {
181 'constituent-base-element-id': string;
182 'constituent-cpd-id': string;
183}
184/** Interface for NSDATACREATION */
185export interface NSDATACREATION {
186 nsd: NSDETAILDATA;
187}
188/** Interface for NSDETAILDATA */
189export interface NSDETAILDATA {
190 nsd: NSDDetails[];
191}