blob: 48e7387269bfe4a16faf33b25e308791bd029ae1 [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[];
kumaran.m3b4814a2020-05-01 19:48:54 +053037 description: string;
38 id: string;
39 logo: string;
40 name: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053041 version: string;
42 vld: VLD[];
43 _admin: VNFDAdminDetails;
44 _id: string;
Barath Kumar R218e8812020-09-02 16:43:05 +053045 _links?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053046 'constituent-vnfr-ref': string[];
Barath Kumar R063a3f12020-12-29 16:35:09 +053047 'virtual-link-desc': VLD[];
48 df: DF[];
49 'vnfd-id': string[];
50 designer?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053051}
52
53/** Interface for the connection-point */
54export interface CONNECTIONPOINT {
55 name: string;
56 'vld-id-ref': string;
57}
58
kumaran.m3b4814a2020-05-01 19:48:54 +053059/** Interface for the vld */
60export interface VLD {
61 id: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053062 'mgmt-network'?: boolean;
kumaran.m3b4814a2020-05-01 19:48:54 +053063}
64
kumaran.m3b4814a2020-05-01 19:48:54 +053065/** Interface Nodes Creation */
66export interface COMPOSERNODES {
67 id: string;
68 reflexive: Boolean;
69 'type': string;
70 name?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053071 nodeIndex?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053072 selectorId?: string;
73 x?: number;
74 y?: number;
75 fx?: number;
76 fy?: number;
77}
78
79/** Interface for the Tick */
80export interface Tick {
81 target: TickPath;
82 source: TickPath;
83 left: boolean;
84 right: boolean;
85}
86
87/** Interface for the Path */
88export interface TickPath {
89 x: number;
90 y: number;
91 id: string;
92 'type'?: string;
Barath Kumar R063a3f12020-12-29 16:35:09 +053093 name?: string;
94 nodeIndex?: string;
kumaran.m3b4814a2020-05-01 19:48:54 +053095}
96/** Interface for the GRAPHDETAILS */
97export interface GRAPHDETAILS {
98 width: number;
99 height: number;
100 nodeHeight: number;
101 nodeWidth: number;
102 textX: number;
103 textY: number;
104 radius: number;
105 distance: number;
106 strength: number;
107 forcex: number;
108 forcey: number;
109 sourcePaddingYes: number;
110 sourcePaddingNo: number;
111 targetPaddingYes: number;
112 targetPaddingNo: number;
113 alphaTarget: number;
114 imageX: number;
115 imageY: number;
116 shiftKeyCode: number;
117}
118
119/** Interface for the NS Create params */
120export interface NSCREATEPARAMS {
121 nsName: string;
122 nsDescription: string;
123 nsdId: string;
124 vimAccountId: string;
125 vld: string;
126 ssh_keys: string[];
127}
128
129/** Interface for the NSI Create params */
130export interface NSICREATEPARAMS {
131 nsName: string;
132 nsDescription: string;
133 nstId: string;
134 vimAccountId: string;
135 'netslice-vld': string;
136 ssh_keys: string[];
137}
Barath Kumar R6e96d1b2020-07-10 12:10:15 +0530138
139/** Interface for the VDU Primitive Levels */
140export interface VDUPRIMITIVELEVEL {
141 id: string;
142 name: string;
143 'vdu-configuration': {};
144}
Barath Kumar R5d75d512020-09-02 17:00:07 +0530145
146/** Interface for the KDU Primitive Levels */
147export interface KDUPRIMITIVELEVEL {
148 name: string;
149 'juju-bundle': string;
150 'kdu-configuration': {};
151}
Barath Kumar R063a3f12020-12-29 16:35:09 +0530152
153/** Interface for the DF */
154export interface DF {
155 id: string;
156 'vnf-profile': VNFPROFILE[];
157}
158
159/** Interface for the DF */
160export interface VNFPROFILE {
161 id: string;
162 'virtual-link-connectivity': VLC[];
163 'vnfd-id': string;
164}
165
166/** Interface for the VLC */
167export interface VLC {
168 'constituent-cpd-id': CCI[];
169 'virtual-link-profile-id': string;
170}
171
172/** Interface for the CCI */
173export interface CCI {
174 'constituent-base-element-id': string;
175 'constituent-cpd-id': string;
176}
177/** Interface for NSDATACREATION */
178export interface NSDATACREATION {
179 nsd: NSDETAILDATA;
180}
181/** Interface for NSDETAILDATA */
182export interface NSDETAILDATA {
183 nsd: NSDDetails[];
184}