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.
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 NODE Details */
51 export interface VNFDNODE {
53 'connection-point'?: CONNECTIONPOINT[];
56 'internal-vld'?: InternalVLD[];
59 'mgmt-interface'?: MGMT;
62 _admin?: VNFDAdminDetails;
63 'short-name'?: string;
67 'cloud-init-file'?: string;
70 'interface'?: VNFDInterface[];
71 'vm-flavor'?: VMFlavor;
73 'internal-connection-point'?: VLDInternalConnectionPoint[];
74 'monitoring-param'?: MonitoringParam[];
75 'ip-profile-ref'?: string;
77 'ip-address'?: string;
82 /** Interface for VNFDDetails */
83 export interface VNFDDetails {
84 'connection-point': CONNECTIONPOINT[];
87 'internal-vld': InternalVLD[];
90 'mgmt-interface': MGMT;
93 _admin: VNFDAdminDetails;
96 'product-name'?: string;
99 /** Interface for MGMT */
104 /** Interface for VDU */
105 export interface VDU {
106 nodeTypeRef?: string;
107 'cloud-init-file'?: string;
109 description?: string;
112 'interface'?: VNFDInterface[];
113 'internal-connection-point'?: VDUInternalConnectionPoint[];
115 'vm-flavor'?: VMFlavor;
116 vduInterface?: string;
117 'monitoring-param'?: MonitoringParam[];
120 /** Interface for VMFlavor */
122 'storage-gb'?: string;
123 'memory-mb'?: string;
124 'vcpu-count'?: string;
127 /** Interface for VNFDInterface */
128 export interface VNFDInterface {
129 'external-connection-point-ref'?: string;
130 'internal-connection-point-ref'?: string;
131 'mgmt-interface'?: boolean;
135 'virtual-interface'?: VirtualInterface;
138 /** Interface for VDU Internal Connection Point */
139 export interface VDUInternalConnectionPoint {
142 'short-name'?: string;
146 /** Interface for VirutalInterface */
147 interface VirtualInterface {
151 /** Interface for the connection-point */
152 export interface CONNECTIONPOINT {
153 nodeTypeRef?: string;
154 'connection-point-id'?: string;
160 /** Interface for Internal VLD */
161 export interface InternalVLD {
162 nodeTypeRef?: string;
164 'internal-connection-point'?: VLDInternalConnectionPoint[];
165 'ip-profile-ref'?: string;
167 'short-name'?: string;
169 'shortName'?: string;
170 'ipProfileRef'?: string;
173 /** Interface for VLD Internal Connection Point */
174 export interface VLDInternalConnectionPoint {
175 nodeTypeRef?: string;
176 'ip-address'?: string;
178 'shortName'?: string;
181 /** Interface for monitoring params */
182 export interface MonitoringParam {
184 'nfvi-metric'?: string;
185 'interface-name-ref'?: string;
188 /** Interface for _AdminDetails */
189 // tslint:disable-next-line:class-name
190 export interface VNFDAdminDetails {
193 onboardingState: string;
194 operationalState: string;
195 projects_read: string[];
196 projects_write: string[];
200 userDefinedData: JSON;
203 /** Interface for Storage */
213 /** Interface for VNFData */
214 export interface VNFData {
223 productName?: string;
226 /** Interface for the Tick */
227 export interface Tick {
234 /** Interface for the Path */
235 export interface TickPath {
242 /** Interface Nodes Creation */
243 export interface COMPOSERNODES {
248 nodeTypeRef?: string;
255 /** Interface for the GRAPHDETAILS */
256 export interface GRAPHDETAILS {
268 sourcePaddingYes: number;
269 sourcePaddingNo: number;
270 targetPaddingYes: number;
271 targetPaddingNo: number;
275 shiftKeyCode: number;