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 // tslint:disable: completed-docs
22 /** Interface for Project */
23 export interface ProjectModel {
26 project_name?: string;
37 /** Interface for ProjectDetails */
38 export interface ProjectDetails {
44 /** Interface for AdminDetails */
45 interface AdminDetails {
50 /** Interface for VNFD Details */
51 export interface VNFD {
56 'int-virtual-link-desc'?: IVLD[];
58 onboardingState?: string;
59 operationalState?: string;
60 'product-name'?: string;
62 'sw-image-desc'?: SWIMAGEDESCRIPTION[];
66 'virtual-compute-desc'?: string;
67 'virtual-storage-desc'?: string[];
68 _admin?: VNFDAdminDetails;
71 'vnf-configuration'?: VNFCONFIG[];
74 /** Interface for DF */
75 export interface VNFCONFIG {
77 'config-primitive'?: CONFIGPRIMITIVE[];
78 'initial-config-primitive'?: INITIALCONFIGPRIMITIVE[];
80 /** Interface for DF */
83 'instantiation-level'?: INSTANTIATIONLEVEL[];
84 'vdu-profile'?: VDUPROFILE[];
85 'vnf-configuration-id'?: string;
86 'scaling-aspect'?: SCALING[];
88 /** Interface for INSTANTIATIONLEVEL */
89 export interface INSTANTIATIONLEVEL {
91 'vdu-level': VDULEVEL[];
93 /** Interface for VDULEVEL */
94 export interface VDULEVEL {
95 'number-of-instances': number;
98 /** Interface for VDULEVEL */
99 export interface VDUPROFILE {
102 'min-number-of-instances'?: number;
103 'max-number-of-instances'?: number;
104 'vdu-configuration-id'?: string;
105 'vdu-configuration'?: VDUCONFIG;
107 /** Interface for SCALING */
108 export interface SCALING {
109 'aspect-delta-details'?: object;
112 'max-scale-level'?: number;
113 'scaling-policy'?: SCALINGPOLICY[];
115 /** Interface for SCALINGPOLICY */
116 export interface SCALINGPOLICY {
117 'cooldown-time': number;
119 'scaling-criteria': SCALINGCRITERIA[];
120 'scaling-type'?: string;
121 'threshold-time'?: number;
123 /** Interface for SCALINGCRITERIA */
124 export interface SCALINGCRITERIA {
126 'scale-in-relational-operation': string;
127 'scale-in-threshold'?: string;
128 'scale-out-relational-operation'?: string;
129 'scale-out-threshold'?: string;
130 'vnf-monitoring-param-ref'?: string;
132 /** Interface for VDUCONFIG */
133 export interface VDUCONFIG {
135 'config-primitive': CONFIGPRIMITIVE[];
136 'initial-config-primitive': INITIALCONFIGPRIMITIVE[];
138 /** Interface for CONFIGPRIMITIVE */
139 export interface CONFIGPRIMITIVE {
142 /** Interface for INITIALCONFIGPRIMITIVE */
143 export interface INITIALCONFIGPRIMITIVE {
147 /** Interface for the ext-cpd */
148 export interface EXTCPD {
152 /** Interface for the int-cpd */
153 export interface INTCPD {
157 /** Interface for IVLD */
158 export interface IVLD {
160 description?: string;
162 /** Interface for SWIMAGEDESCRIPTION */
163 export interface SWIMAGEDESCRIPTION {
168 /** Interface for VDU */
169 export interface VDU {
170 'cloud-init-file'?: string;
171 description?: string;
173 'int-cpd'?: VDUINTCPD[];
174 'monitoring-parameter'?: MonitoringParam[];
176 'sw-image-desc'?: string;
177 'virtual-compute-desc'?: string;
178 'virtual-storage-desc'?: string[];
180 /** Interface for the vdu int-cpd */
181 export interface VDUINTCPD {
183 'int-virtual-link-desc'?: string;
184 'virtual-network-interface-requirement': VNIR[];
186 /** Interface for the vdu int-cpd => VNIR */
187 export interface VNIR {
190 'virtual-interface': VIRTUALINTERFACE;
192 /** Interface for the VIRTUALINTERFACE */
193 export interface VIRTUALINTERFACE {
196 /** Interface for monitoring params */
197 export interface MonitoringParam {
200 'performance-metric'?: string;
201 'collection-period'?: number;
203 /** Interface for VNFDATA */
204 export interface VNFDATA {
208 /** Interface for VDU InternalCPD */
209 export interface InternalCPD {
211 'int-virtual-link-desc'?: string;
212 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT;
215 /** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */
216 export interface VIRTUALNETWORKINTERFACEREQUIREMENT {
219 'virtual-interface'?: VirtualInterface;
222 /** Interface for VirutalInterface */
223 interface VirtualInterface {
227 /** Interface for _AdminDetails */
228 export interface VNFDAdminDetails {
231 onboardingState: string;
232 operationalState: string;
233 projects_read: string[];
234 projects_write: string[];
238 userDefinedData: JSON;
241 /** Interface for Storage */
251 /** Interface for VNFData */
252 export interface VNFData {
259 productName?: string;
263 /** Interface for the Tick */
264 export interface Tick {
271 /** Interface for the Path */
272 export interface TickPath {
279 /** Interface Nodes Creation */
280 export interface COMPOSERNODES {
293 /** Interface for the GRAPHDETAILS */
294 export interface GRAPHDETAILS {
306 sourcePaddingYes: number;
307 sourcePaddingNo: number;
308 targetPaddingYes: number;
309 targetPaddingNo: number;
313 shiftKeyCode: number;