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 NS Instance related information.
22 import { CONSTITUENTVNFD, VLD, VNFDCONNECTIONPOINTREF } from 'NSDModel';
23 import { VNFDAdminDetails } from 'VNFDModel';
25 /** Interface for NSInstanceDetails */
26 export interface NSInstanceDetails {
27 'orchestration-progress': JSON;
28 'constituent-vnfr-ref': string[];
29 'operational-events': string[];
31 'ssh-authorized-key': string;
33 'admin-status': string;
34 'operational-status': string;
41 'nsd-name-ref': string;
43 'detailed-status': string;
44 'config-status': string;
45 'resource-orchestrator': string;
48 instantiate_params: InstantiateParam;
49 additionalParamsForNs: AdditionalParamForN;
53 /** Interface for Admin */
55 deployed: DeployedAdmin;
58 /** Interface for DeployedAdmin */
59 interface DeployedAdmin {
63 /** Interface for ROAdmin */
68 /** Interface for _Admin */
69 // tslint:disable-next-line:class-name
71 'projects_write': string[];
72 deployed: DeployedAdmin;
76 projects_read: string[];
80 /** Interface for Deployed_Admin */
81 interface DeployedAdmin {
86 /** Interface for RO_Admin */
94 /** Interface for VNFD */
96 'member-vnf-index': number;
100 /** Interface for NSD */
101 export interface NSD {
104 _admin: VNFDAdminDetails;
108 'short-name': string;
110 'constituent-vnfd': CONSTITUENTVNFD[];
113 'connection-point': CONNECTIONPOINT[];
116 /** Interface for _AdminDetails */
117 // tslint:disable-next-line:class-name
118 export interface _AdminDetails {
120 projects_write: string[];
121 projects_read: string[];
122 operationalState: string;
125 onboardingState: string;
126 userDefinedData: JSON;
130 /** Interface for Storage */
140 /** Interface for NSDVLD */
141 export interface NSDVLD {
143 'status-detailed': string;
146 'vim-network-name': string;
149 'vnfd-connection-point-ref': VNFDCONNECTIONPOINTREF[];
150 'short-name': string;
153 /** Interface for InstantiateParam */
154 interface InstantiateParam {
157 nsDescription: string;
158 vimAccountId: string;
161 /** Interface for AdditionalParamForN */
162 interface AdditionalParamForN {
164 'ns-instance-config-ref': string;
165 'crete-time': string;
168 /** interface for the History nsdInstanceData */
169 export interface NSDInstanceData {
171 lcmOperationType?: string;
172 operationState?: string;
174 statusEnteredTime?: number;
178 OperationalStatus: string;
179 ConfigStatus: string;
180 DetailedStatus: string;
182 memberIndex?: object;
186 /** Interface for the nsInfo */
187 export interface NSINFO {
188 nsInstanceID: string;
190 nsOperationalStatus: string;
191 nsConfigStatus: string;
192 nsDetailedStatus: string;
193 nsResourceOrchestrator: string;
196 /** Interface for the NSINSTANCENODES */
197 export interface NSINSTANCENODES {
199 nodeTypeRef?: string;
202 vnfdCP?: VNFDCONNECTIONPOINTREF[];
203 vimNetworkName?: string;
205 cp?: CONNECTIONPOINT[];
213 memberIndex?: string;
219 /** Interface for the connection-point */
220 export interface CONNECTIONPOINT {
221 'connection-point-id': string;
226 /** Interface for Exec NS Primitive */
227 export interface NSPrimitive {
229 'primitive_params': NSPrimitiveParams[];
230 'member_vnf_index': string;
233 /** Interface for Exec NS Primitive Params */
234 export interface NSPrimitiveParams {
235 primitive_params_name: string;
236 primitive_params_value: string;
239 /** Interface Nodes Creation */
240 export interface COMPOSERNODES {
252 vimNetworkName?: string;
255 memberIndex?: string;
263 /** Interface for the Virtual Link Info */
264 export interface VLINFO {
269 vimNetworkName: string;
272 /** Interface for the VNFR Info */
273 export interface VNFRINFO{