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;
39 /** Interface for ProjectDetails */
40 export interface ProjectDetails {
46 /** Interface for AdminDetails */
47 interface AdminDetails {
52 /** Interface for VNFD Details */
53 export interface VNFD {
58 'int-virtual-link-desc'?: IVLD[];
60 onboardingState?: string;
61 operationalState?: string;
62 'product-name'?: string;
64 'sw-image-desc'?: SWIMAGEDESCRIPTION[];
68 'software-version'?: string;
69 'virtual-compute-desc'?: string;
70 'virtual-storage-desc'?: string[];
71 _admin?: VNFDAdminDetails;
74 'vnf-configuration'?: VNFCONFIG[];
77 /** Interface for DF */
78 export interface VNFCONFIG {
80 'config-primitive'?: CONFIGPRIMITIVE[];
81 'initial-config-primitive'?: INITIALCONFIGPRIMITIVE[];
83 /** Interface for DF */
86 'instantiation-level'?: INSTANTIATIONLEVEL[];
87 'vdu-profile'?: VDUPROFILE[];
88 'vnf-configuration-id'?: string;
89 'scaling-aspect'?: SCALING[];
91 /** Interface for INSTANTIATIONLEVEL */
92 export interface INSTANTIATIONLEVEL {
94 'vdu-level': VDULEVEL[];
96 /** Interface for VDULEVEL */
97 export interface VDULEVEL {
98 'number-of-instances': number;
101 /** Interface for VDULEVEL */
102 export interface VDUPROFILE {
105 'min-number-of-instances'?: number;
106 'max-number-of-instances'?: number;
107 'vdu-configuration-id'?: string;
108 'vdu-configuration'?: VDUCONFIG;
110 /** Interface for SCALING */
111 export interface SCALING {
112 'aspect-delta-details'?: object;
115 'max-scale-level'?: number;
116 'scaling-policy'?: SCALINGPOLICY[];
118 /** Interface for SCALINGPOLICY */
119 export interface SCALINGPOLICY {
120 'cooldown-time': number;
122 'scaling-criteria': SCALINGCRITERIA[];
123 'scaling-type'?: string;
124 'threshold-time'?: number;
126 /** Interface for SCALINGCRITERIA */
127 export interface SCALINGCRITERIA {
129 'scale-in-relational-operation': string;
130 'scale-in-threshold'?: string;
131 'scale-out-relational-operation'?: string;
132 'scale-out-threshold'?: string;
133 'vnf-monitoring-param-ref'?: string;
135 /** Interface for VDUCONFIG */
136 export interface VDUCONFIG {
138 'config-primitive': CONFIGPRIMITIVE[];
139 'initial-config-primitive': INITIALCONFIGPRIMITIVE[];
141 /** Interface for CONFIGPRIMITIVE */
142 export interface CONFIGPRIMITIVE {
145 /** Interface for INITIALCONFIGPRIMITIVE */
146 export interface INITIALCONFIGPRIMITIVE {
150 /** Interface for the ext-cpd */
151 export interface EXTCPD {
155 /** Interface for the int-cpd */
156 export interface INTCPD {
160 /** Interface for IVLD */
161 export interface IVLD {
163 description?: string;
165 /** Interface for SWIMAGEDESCRIPTION */
166 export interface SWIMAGEDESCRIPTION {
171 /** Interface for VDU */
172 export interface VDU {
173 'cloud-init-file'?: string;
174 description?: string;
176 'int-cpd'?: VDUINTCPD[];
177 'monitoring-parameter'?: MonitoringParam[];
179 'sw-image-desc'?: string;
180 'virtual-compute-desc'?: string;
181 'virtual-storage-desc'?: string[];
183 /** Interface for the vdu int-cpd */
184 export interface VDUINTCPD {
186 'int-virtual-link-desc'?: string;
187 'virtual-network-interface-requirement': VNIR[];
189 /** Interface for the vdu int-cpd => VNIR */
190 export interface VNIR {
193 'virtual-interface': VIRTUALINTERFACE;
195 /** Interface for the VIRTUALINTERFACE */
196 export interface VIRTUALINTERFACE {
199 /** Interface for monitoring params */
200 export interface MonitoringParam {
203 'performance-metric'?: string;
204 'collection-period'?: number;
206 /** Interface for VNFDATA */
207 export interface VNFDATA {
211 /** Interface for VDU InternalCPD */
212 export interface InternalCPD {
214 'int-virtual-link-desc'?: string;
215 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT;
218 /** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */
219 export interface VIRTUALNETWORKINTERFACEREQUIREMENT {
222 'virtual-interface'?: VirtualInterface;
225 /** Interface for VirutalInterface */
226 interface VirtualInterface {
230 /** Interface for _AdminDetails */
231 export interface VNFDAdminDetails {
234 onboardingState: string;
235 operationalState: string;
236 projects_read: string[];
237 projects_write: string[];
241 userDefinedData: JSON;
244 /** Interface for Storage */
254 /** Interface for VNFData */
255 export interface VNFData {
262 productName?: string;
266 /** Interface for the Tick */
267 export interface Tick {
274 /** Interface for the Path */
275 export interface TickPath {
282 /** Interface Nodes Creation */
283 export interface COMPOSERNODES {
296 /** Interface for the GRAPHDETAILS */
297 export interface GRAPHDETAILS {
309 sourcePaddingYes: number;
310 sourcePaddingNo: number;
311 targetPaddingYes: number;
312 targetPaddingNo: number;
316 shiftKeyCode: number;