2 Copyright 2020 TATA ELXSI
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
8 http://www.apache.org/licenses/LICENSE-2.0
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.
16 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
19 * @file Model for VNFD related information.
21 /** Interface for Project */
22 export interface ProjectModel {
25 project_name?: string;
43 /** Interface for Roles */
44 export interface RolesData {
49 /** Interface for ProjectDetails */
50 export interface ProjectDetails {
56 /** Interface for AdminDetails */
57 interface AdminDetails {
62 /** Interface for VNFD Details */
63 export interface VNFD {
68 'int-virtual-link-desc'?: IVLD[];
70 onboardingState?: string;
71 operationalState?: string;
72 'product-name'?: string;
74 'sw-image-desc'?: SWIMAGEDESCRIPTION[];
78 'software-version'?: string;
79 'virtual-compute-desc'?: string;
80 'virtual-storage-desc'?: string[];
81 _admin?: VNFDAdminDetails;
84 'vnf-configuration'?: VNFCONFIG[];
87 /** Interface for DF */
88 export interface VNFCONFIG {
90 'config-primitive'?: CONFIGPRIMITIVE[];
91 'initial-config-primitive'?: INITIALCONFIGPRIMITIVE[];
93 /** Interface for DF */
96 'instantiation-level'?: INSTANTIATIONLEVEL[];
97 'vdu-profile'?: VDUPROFILE[];
98 'vnf-configuration-id'?: string;
99 'scaling-aspect'?: SCALING[];
101 /** Interface for INSTANTIATIONLEVEL */
102 export interface INSTANTIATIONLEVEL {
104 'vdu-level': VDULEVEL[];
106 /** Interface for VDULEVEL */
107 export interface VDULEVEL {
108 'number-of-instances': number;
111 /** Interface for VDULEVEL */
112 export interface VDUPROFILE {
115 'min-number-of-instances'?: number;
116 'max-number-of-instances'?: number;
117 'vdu-configuration-id'?: string;
118 'vdu-configuration'?: VDUCONFIG;
120 /** Interface for SCALING */
121 export interface SCALING {
122 'aspect-delta-details'?: object;
125 'max-scale-level'?: number;
126 'scaling-policy'?: SCALINGPOLICY[];
128 /** Interface for SCALINGPOLICY */
129 export interface SCALINGPOLICY {
130 'cooldown-time': number;
132 'scaling-criteria': SCALINGCRITERIA[];
133 'scaling-type'?: string;
134 'threshold-time'?: number;
136 /** Interface for SCALINGCRITERIA */
137 export interface SCALINGCRITERIA {
139 'scale-in-relational-operation': string;
140 'scale-in-threshold'?: string;
141 'scale-out-relational-operation'?: string;
142 'scale-out-threshold'?: string;
143 'vnf-monitoring-param-ref'?: string;
145 /** Interface for VDUCONFIG */
146 export interface VDUCONFIG {
148 'config-primitive': CONFIGPRIMITIVE[];
149 'initial-config-primitive': INITIALCONFIGPRIMITIVE[];
151 /** Interface for CONFIGPRIMITIVE */
152 export interface CONFIGPRIMITIVE {
155 /** Interface for INITIALCONFIGPRIMITIVE */
156 export interface INITIALCONFIGPRIMITIVE {
160 /** Interface for the ext-cpd */
161 export interface EXTCPD {
165 /** Interface for the int-cpd */
166 export interface INTCPD {
170 /** Interface for IVLD */
171 export interface IVLD {
173 description?: string;
175 /** Interface for SWIMAGEDESCRIPTION */
176 export interface SWIMAGEDESCRIPTION {
181 /** Interface for VDU */
182 export interface VDU {
183 'cloud-init-file'?: string;
184 description?: string;
186 'int-cpd'?: VDUINTCPD[];
187 'monitoring-parameter'?: MonitoringParam[];
189 'sw-image-desc'?: string;
190 'virtual-compute-desc'?: string;
191 'virtual-storage-desc'?: string[];
193 /** Interface for the vdu int-cpd */
194 export interface VDUINTCPD {
196 'int-virtual-link-desc'?: string;
197 'virtual-network-interface-requirement': VNIR[];
199 /** Interface for the vdu int-cpd => VNIR */
200 export interface VNIR {
203 'virtual-interface': VIRTUALINTERFACE;
205 /** Interface for the VIRTUALINTERFACE */
206 export interface VIRTUALINTERFACE {
209 /** Interface for monitoring params */
210 export interface MonitoringParam {
213 'performance-metric'?: string;
214 'collection-period'?: number;
216 /** Interface for VNFDATA */
217 export interface VNFDATA {
221 /** Interface for VDU InternalCPD */
222 export interface InternalCPD {
224 'int-virtual-link-desc'?: string;
225 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT;
228 /** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */
229 export interface VIRTUALNETWORKINTERFACEREQUIREMENT {
232 'virtual-interface'?: VirtualInterface;
235 /** Interface for VirutalInterface */
236 interface VirtualInterface {
240 /** Interface for _AdminDetails */
241 export interface VNFDAdminDetails {
244 onboardingState: string;
245 operationalState: string;
246 projects_read: string[];
247 projects_write: string[];
251 userDefinedData: JSON;
254 /** Interface for Storage */
264 /** Interface for VNFData */
265 export interface VNFData {
272 productName?: string;
276 /** Interface for the Tick */
277 export interface Tick {
284 /** Interface for the Path */
285 export interface TickPath {
292 /** Interface Nodes Creation */
293 export interface COMPOSERNODES {
306 /** Interface for the GRAPHDETAILS */
307 export interface GRAPHDETAILS {
319 sourcePaddingYes: number;
320 sourcePaddingNo: number;
321 targetPaddingYes: number;
322 targetPaddingNo: number;
326 shiftKeyCode: number;