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;
44 /** Interface for Roles */
45 export interface RolesData {
50 /** Interface for ProjectDetails */
51 export interface ProjectDetails {
57 /** Interface for AdminDetails */
58 interface AdminDetails {
63 /** Interface for VNFD Details */
64 export interface VNFD {
69 'int-virtual-link-desc'?: IVLD[];
71 onboardingState?: string;
72 operationalState?: string;
73 'product-name'?: string;
75 'sw-image-desc'?: SWIMAGEDESCRIPTION[];
79 'software-version'?: string;
80 'virtual-compute-desc'?: string;
81 'virtual-storage-desc'?: string[];
82 _admin?: VNFDAdminDetails;
85 'vnf-configuration'?: VNFCONFIG[];
88 /** Interface for DF */
89 export interface VNFCONFIG {
91 'config-primitive'?: CONFIGPRIMITIVE[];
92 'initial-config-primitive'?: INITIALCONFIGPRIMITIVE[];
94 /** Interface for DF */
97 'instantiation-level'?: INSTANTIATIONLEVEL[];
98 'vdu-profile'?: VDUPROFILE[];
99 'vnf-configuration-id'?: string;
100 'scaling-aspect'?: SCALING[];
102 /** Interface for INSTANTIATIONLEVEL */
103 export interface INSTANTIATIONLEVEL {
105 'vdu-level': VDULEVEL[];
107 /** Interface for VDULEVEL */
108 export interface VDULEVEL {
109 'number-of-instances': number;
112 /** Interface for VDULEVEL */
113 export interface VDUPROFILE {
116 'min-number-of-instances'?: number;
117 'max-number-of-instances'?: number;
118 'vdu-configuration-id'?: string;
119 'vdu-configuration'?: VDUCONFIG;
121 /** Interface for SCALING */
122 export interface SCALING {
123 'aspect-delta-details'?: object;
126 'max-scale-level'?: number;
127 'scaling-policy'?: SCALINGPOLICY[];
129 /** Interface for SCALINGPOLICY */
130 export interface SCALINGPOLICY {
131 'cooldown-time': number;
133 'scaling-criteria': SCALINGCRITERIA[];
134 'scaling-type'?: string;
135 'threshold-time'?: number;
137 /** Interface for SCALINGCRITERIA */
138 export interface SCALINGCRITERIA {
140 'scale-in-relational-operation': string;
141 'scale-in-threshold'?: string;
142 'scale-out-relational-operation'?: string;
143 'scale-out-threshold'?: string;
144 'vnf-monitoring-param-ref'?: string;
146 /** Interface for VDUCONFIG */
147 export interface VDUCONFIG {
149 'config-primitive': CONFIGPRIMITIVE[];
150 'initial-config-primitive': INITIALCONFIGPRIMITIVE[];
152 /** Interface for CONFIGPRIMITIVE */
153 export interface CONFIGPRIMITIVE {
156 /** Interface for INITIALCONFIGPRIMITIVE */
157 export interface INITIALCONFIGPRIMITIVE {
161 /** Interface for the ext-cpd */
162 export interface EXTCPD {
166 /** Interface for the int-cpd */
167 export interface INTCPD {
171 /** Interface for IVLD */
172 export interface IVLD {
174 description?: string;
176 /** Interface for SWIMAGEDESCRIPTION */
177 export interface SWIMAGEDESCRIPTION {
182 /** Interface for VDU */
183 export interface VDU {
184 'cloud-init-file'?: string;
185 description?: string;
187 'int-cpd'?: VDUINTCPD[];
188 'monitoring-parameter'?: MonitoringParam[];
190 'sw-image-desc'?: string;
191 'virtual-compute-desc'?: string;
192 'virtual-storage-desc'?: string[];
194 /** Interface for the vdu int-cpd */
195 export interface VDUINTCPD {
197 'int-virtual-link-desc'?: string;
198 'virtual-network-interface-requirement': VNIR[];
200 /** Interface for the vdu int-cpd => VNIR */
201 export interface VNIR {
204 'virtual-interface': VIRTUALINTERFACE;
206 /** Interface for the VIRTUALINTERFACE */
207 export interface VIRTUALINTERFACE {
210 /** Interface for monitoring params */
211 export interface MonitoringParam {
214 'performance-metric'?: string;
215 'collection-period'?: number;
217 /** Interface for VNFDATA */
218 export interface VNFDATA {
222 /** Interface for VDU InternalCPD */
223 export interface InternalCPD {
225 'int-virtual-link-desc'?: string;
226 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT;
229 /** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */
230 export interface VIRTUALNETWORKINTERFACEREQUIREMENT {
233 'virtual-interface'?: VirtualInterface;
236 /** Interface for VirutalInterface */
237 interface VirtualInterface {
241 /** Interface for _AdminDetails */
242 export interface VNFDAdminDetails {
245 onboardingState: string;
246 operationalState: string;
247 projects_read: string[];
248 projects_write: string[];
252 userDefinedData: JSON;
255 /** Interface for Storage */
265 /** Interface for VNFData */
266 export interface VNFData {
273 productName?: string;
277 /** Interface for the Tick */
278 export interface Tick {
285 /** Interface for the Path */
286 export interface TickPath {
293 /** Interface Nodes Creation */
294 export interface COMPOSERNODES {
307 /** Interface for the GRAPHDETAILS */
308 export interface GRAPHDETAILS {
320 sourcePaddingYes: number;
321 sourcePaddingNo: number;
322 targetPaddingYes: number;
323 targetPaddingNo: number;
327 shiftKeyCode: number;