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.
21 // tslint:disable: completed-docs
22 import { DF, VLD } 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;
54 /** Interface for Admin */
56 deployed: DeployedAdmin;
59 /** Interface for DeployedAdmin */
60 interface DeployedAdmin {
64 /** Interface for ROAdmin */
69 /** Interface for _Admin */
70 // tslint:disable-next-line:class-name
72 'projects_write': string[];
73 deployed: DeployedAdmin;
77 projects_read: string[];
81 /** Interface for Deployed_Admin */
82 interface DeployedAdmin {
87 /** Interface for RO_Admin */
95 /** Interface for VNFD */
97 'member-vnf-index': number;
101 /** Interface for NSD */
102 export interface NSD {
104 _admin: VNFDAdminDetails;
111 'connection-point': CONNECTIONPOINT[];
112 'virtual-link-desc': NSDVLD[];
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;
152 /** Interface for Vm Migration */
153 export interface VMMIGRATION {
154 lcmOperationType: string;
155 vnfInstanceId: string;
156 migrateToHost?: string;
160 /** Interface for vdu for Vm Migration */
161 export interface VDUPARAM {
163 vduCountIndex?: string;
166 /** Interface for InstantiateParam */
167 interface InstantiateParam {
170 nsDescription: string;
171 vimAccountId: string;
174 /** Interface for AdditionalParamForN */
175 interface AdditionalParamForN {
177 'ns-instance-config-ref': string;
178 'crete-time': string;
181 /** interface for the History nsdInstanceData */
182 export interface NSDInstanceData {
184 lcmOperationType?: string;
185 operationState?: string;
187 statusEnteredTime?: number;
191 OperationalStatus: string;
192 ConfigStatus: string;
193 DetailedStatus: string;
198 adminDetails?: object;
201 operationParams?: OPERATIONPARAMS;
205 /** Interface for the operationparams */
206 export interface OPERATIONPARAMS {
208 scaleVnfData?: SCALEVNFDATA;
211 /** Interface for the scaleVnfData */
212 export interface SCALEVNFDATA {
213 scaleVnfType?: string;
214 scaleByStepData?: SCALEBYSTEPDATA;
217 /** Interface for the scaleByStepData */
218 export interface SCALEBYSTEPDATA {
219 'scaling-group-descriptor'?: string;
220 'member-vnf-index'?: string;
223 /** Interface for the nsInfo */
224 export interface NSINFO {
225 nsInstanceID: string;
227 nsOperationalStatus: string;
228 nsConfigStatus: string;
229 nsDetailedStatus: string;
230 nsResourceOrchestrator: string;
233 /** Interface for the NSINSTANCENODES */
234 export interface NSINSTANCENODES {
236 nodeTypeRef?: string;
240 vimNetworkName?: string;
242 cp?: CONNECTIONPOINT[];
250 memberIndex?: string;
258 /** Interface for the connection-point */
259 export interface CONNECTIONPOINT {
260 'connection-point-id': string;
265 /** Interface for Exec NS Primitive */
266 export interface NSPrimitive {
268 'primitive_params': NSPrimitiveParams[];
269 'member_vnf_index': string;
272 /** Interface for Exec NS Primitive Params */
273 export interface NSPrimitiveParams {
274 primitive_params_name: string;
275 primitive_params_value: string;
278 /** Interface Nodes Creation */
279 export interface COMPOSERNODES {
291 vimNetworkName?: string;
294 memberIndex?: string;
302 /** Interface for the Virtual Link Info */
303 export interface VLINFO {
308 vimNetworkName: string;
311 /** Interface for the VNFR Info */
312 export interface VNFRINFO {