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;
87 /** Interface for INSTANTIATIONLEVEL */
88 export interface INSTANTIATIONLEVEL {
90 'vdu-level': VDULEVEL[];
92 /** Interface for VDULEVEL */
93 export interface VDULEVEL {
94 'number-of-instances': number;
97 /** Interface for VDULEVEL */
98 export interface VDUPROFILE {
101 'min-number-of-instances'?: number;
102 'max-number-of-instances'?: number;
103 'vdu-configuration-id'?: string;
104 'vdu-configuration'?: VDUCONFIG;
106 /** Interface for VDUCONFIG */
107 export interface VDUCONFIG {
109 'config-primitive': CONFIGPRIMITIVE[];
110 'initial-config-primitive': INITIALCONFIGPRIMITIVE[];
112 /** Interface for CONFIGPRIMITIVE */
113 export interface CONFIGPRIMITIVE {
116 /** Interface for INITIALCONFIGPRIMITIVE */
117 export interface INITIALCONFIGPRIMITIVE {
121 /** Interface for the ext-cpd */
122 export interface EXTCPD {
126 /** Interface for the int-cpd */
127 export interface INTCPD {
131 /** Interface for IVLD */
132 export interface IVLD {
134 description?: string;
136 /** Interface for SWIMAGEDESCRIPTION */
137 export interface SWIMAGEDESCRIPTION {
142 /** Interface for VDU */
143 export interface VDU {
144 'cloud-init-file'?: string;
145 description?: string;
147 'int-cpd'?: VDUINTCPD[];
148 'monitoring-parameter'?: MonitoringParam[];
150 'sw-image-desc'?: string;
151 'virtual-compute-desc'?: string;
152 'virtual-storage-desc'?: string[];
154 /** Interface for the vdu int-cpd */
155 export interface VDUINTCPD {
157 'int-virtual-link-desc'?: string;
158 'virtual-network-interface-requirement': VNIR[];
160 /** Interface for the vdu int-cpd => VNIR */
161 export interface VNIR {
164 'virtual-interface': VIRTUALINTERFACE;
166 /** Interface for the VIRTUALINTERFACE */
167 export interface VIRTUALINTERFACE {
170 /** Interface for monitoring params */
171 export interface MonitoringParam {
174 'performance-metric'?: string;
175 'collection-period'?: number;
177 /** Interface for VNFDATA */
178 export interface VNFDATA {
182 /** Interface for VDU InternalCPD */
183 export interface InternalCPD {
185 'int-virtual-link-desc'?: string;
186 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT;
189 /** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */
190 export interface VIRTUALNETWORKINTERFACEREQUIREMENT {
193 'virtual-interface'?: VirtualInterface;
196 /** Interface for VirutalInterface */
197 interface VirtualInterface {
201 /** Interface for _AdminDetails */
202 export interface VNFDAdminDetails {
205 onboardingState: string;
206 operationalState: string;
207 projects_read: string[];
208 projects_write: string[];
212 userDefinedData: JSON;
215 /** Interface for Storage */
225 /** Interface for VNFData */
226 export interface VNFData {
233 productName?: string;
237 /** Interface for the Tick */
238 export interface Tick {
245 /** Interface for the Path */
246 export interface TickPath {
253 /** Interface Nodes Creation */
254 export interface COMPOSERNODES {
267 /** Interface for the GRAPHDETAILS */
268 export interface GRAPHDETAILS {
280 sourcePaddingYes: number;
281 sourcePaddingNo: number;
282 targetPaddingYes: number;
283 targetPaddingNo: number;
287 shiftKeyCode: number;