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;
98 /** Interface for MGMT */
103 /** Interface for VDU */
104 export interface VDU {
105 nodeTypeRef?: string;
106 'cloud-init-file'?: string;
108 description?: string;
111 'interface'?: VNFDInterface[];
112 'internal-connection-point'?: VDUInternalConnectionPoint[];
114 'vm-flavor'?: VMFlavor;
115 vduInterface?: string;
116 'monitoring-param'?: MonitoringParam[];
119 /** Interface for VMFlavor */
121 'storage-gb'?: string;
122 'memory-mb'?: string;
123 'vcpu-count'?: string;
126 /** Interface for VNFDInterface */
127 export interface VNFDInterface {
128 'external-connection-point-ref'?: string;
129 'internal-connection-point-ref'?: string;
130 'mgmt-interface'?: boolean;
134 'virtual-interface'?: VirtualInterface;
137 /** Interface for VDU Internal Connection Point */
138 export interface VDUInternalConnectionPoint {
141 'short-name'?: string;
145 /** Interface for VirutalInterface */
146 interface VirtualInterface {
150 /** Interface for the connection-point */
151 export interface CONNECTIONPOINT {
152 nodeTypeRef?: string;
153 'connection-point-id'?: string;
159 /** Interface for Internal VLD */
160 export interface InternalVLD {
161 nodeTypeRef?: string;
163 'internal-connection-point'?: VLDInternalConnectionPoint[];
164 'ip-profile-ref'?: string;
166 'short-name'?: string;
168 'shortName'?: string;
169 'ipProfileRef'?: string;
172 /** Interface for VLD Internal Connection Point */
173 export interface VLDInternalConnectionPoint {
174 nodeTypeRef?: string;
175 'ip-address'?: string;
177 'shortName'?: string;
180 /** Interface for monitoring params */
181 export interface MonitoringParam {
183 'nfvi-metric'?: string;
184 'interface-name-ref'?: string;
187 /** Interface for _AdminDetails */
188 // tslint:disable-next-line:class-name
189 export interface VNFDAdminDetails {
192 onboardingState: string;
193 operationalState: string;
194 projects_read: string[];
195 projects_write: string[];
199 userDefinedData: JSON;
202 /** Interface for Storage */
212 /** Interface for VNFData */
213 export interface VNFData {
224 /** Interface for the Tick */
225 export interface Tick {
232 /** Interface for the Path */
233 export interface TickPath {
240 /** Interface Nodes Creation */
241 export interface COMPOSERNODES {
246 nodeTypeRef?: string;
253 /** Interface for the GRAPHDETAILS */
254 export interface GRAPHDETAILS {
266 sourcePaddingYes: number;
267 sourcePaddingNo: number;
268 targetPaddingYes: number;
269 targetPaddingNo: number;
273 shiftKeyCode: number;