Feature 10911-Vertical scaling of VM instances from OSM
[osm/NG-UI.git] / src / models / NSInstanceModel.ts
index 6bafcdd..c10c5ce 100644 (file)
@@ -19,7 +19,7 @@
  * @file  Model for NS Instance related information.
  */
 // tslint:disable: completed-docs
-import { CONSTITUENTVNFD, DF, VLD } from 'NSDModel';
+import { DF, VLD } from 'NSDModel';
 import { VNFDAdminDetails } from 'VNFDModel';
 
 /** Interface for NSInstanceDetails */
@@ -34,6 +34,7 @@ export interface NSInstanceDetails {
     'operational-status': string;
     'datacenter': string;
     nsd: NSD;
+    'nsd-id': string;
     name: string;
     'name-ref': string;
     id: string;
@@ -47,6 +48,7 @@ export interface NSInstanceDetails {
     instantiate_params: InstantiateParam;
     additionalParamsForNs: AdditionalParamForN;
     _id?: string;
+    vcaStatus?: object;
 }
 
 /** Interface for Admin */
@@ -104,7 +106,6 @@ export interface NSD {
     version: string;
     _id: string;
     id: string;
-    'constituent-vnfd': CONSTITUENTVNFD[];
     vendor: string;
     vdur: string[];
     'connection-point': CONNECTIONPOINT[];
@@ -148,6 +149,87 @@ export interface NSDVLD {
     df: DF[];
 }
 
+/** Interface for Vm Migration */
+export interface VMMIGRATION {
+    lcmOperationType: string;
+    vnfInstanceId: string;
+    migrateToHost?: string;
+    vdu?: VDUPARAM;
+}
+
+/** Interface for vdu for Vm Migration */
+export interface VDUPARAM {
+    vduId?: string;
+    vduCountIndex?: string;
+}
+
+/** Interface for Ns Update */
+export interface NSUPDATE {
+    lcmOperationType: string;
+    updateType: string;
+    nsInstanceId: string;
+    changeVnfPackageData: CHANGEVNFDATA;
+}
+
+/** Interface for changeVnfPackageData in Ns Update */
+export interface CHANGEVNFDATA {
+    vnfdId: string;
+    vnfInstanceId: string;
+}
+
+/** Interface for terminate vnf in Ns Update */
+export interface TERMINATEVNF {
+    lcmOperationType: string;
+    updateType: string;
+    nsInstanceId: string;
+    removeVnfInstanceId: string;
+}
+
+/** Interface for Start, Stop & Rebuild */
+export interface StartStopRebuild {
+    updateType: string;
+    operateVnfData: OPERATEVNFDATA;
+}
+
+/** Interface for operateVnfData  in Start, Stop and Rebuild */
+export interface OPERATEVNFDATA {
+    additionalParam: ADDITIONALPARAMS;
+    vnfInstanceId: string;
+    changeStateTo: string;
+}
+
+/** Interface for additionalParam in Start, Stop and Rebuild */
+export interface ADDITIONALPARAMS {
+    'run-day1': boolean;
+    'vdu_id': string;
+    'count-index': string;
+}
+
+/** Interface for VerticalScaling */
+export interface VerticalScaling {
+    lcmOperationType: string;
+    verticalScale: string;
+    nsInstanceId: string;
+    changeVnfFlavorData: CHANGEVNFFLAVORDATAPARAM;
+}
+
+/** Interface for changeVnfFlavorData in Vertical Scaling */
+export interface CHANGEVNFFLAVORDATAPARAM {
+    vnfInstanceId: string;
+    additionalParams: ADDITIONALPARAM;
+
+}
+
+/** Interface for additionalParam in Vertical Scaling */
+export interface ADDITIONALPARAM {
+    vduid: string;
+    vduCountIndex: string;
+    virtualMemory: number;
+    sizeOfStorage: number;
+    numVirtualCpu: number;
+
+}
+
 /** Interface for InstantiateParam */
 interface InstantiateParam {
     nsdId: string;
@@ -179,6 +261,30 @@ export interface NSDInstanceData {
     state?: string;
     memberIndex?: DF[];
     nsConfig?: object;
+    vcaStatus?: object;
+    adminDetails?: object;
+    vnfID?: string[];
+    nsd?: NSD;
+    operationParams?: OPERATIONPARAMS;
+    'nsd-id': string;
+}
+
+/** Interface for the operationparams */
+export interface OPERATIONPARAMS {
+    scaleType?: string;
+    scaleVnfData?: SCALEVNFDATA;
+}
+
+/** Interface for the scaleVnfData */
+export interface SCALEVNFDATA {
+    scaleVnfType?: string;
+    scaleByStepData?: SCALEBYSTEPDATA;
+}
+
+/** Interface for the scaleByStepData */
+export interface SCALEBYSTEPDATA {
+    'scaling-group-descriptor'?: string;
+    'member-vnf-index'?: string;
 }
 
 /** Interface for the nsInfo */
@@ -270,7 +376,7 @@ export interface VLINFO {
 }
 
 /** Interface for the VNFR Info */
-export interface VNFRINFO{
+export interface VNFRINFO {
     vimID: string;
     _id: string;
     ip: string;