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 InstantiateParam */
153 interface InstantiateParam {
156 nsDescription: string;
157 vimAccountId: string;
160 /** Interface for AdditionalParamForN */
161 interface AdditionalParamForN {
163 'ns-instance-config-ref': string;
164 'crete-time': string;
167 /** interface for the History nsdInstanceData */
168 export interface NSDInstanceData {
170 lcmOperationType?: string;
171 operationState?: string;
173 statusEnteredTime?: number;
177 OperationalStatus: string;
178 ConfigStatus: string;
179 DetailedStatus: string;
184 adminDetails?: object;
187 operationParams?: OPERATIONPARAMS;
191 /** Interface for the operationparams */
192 export interface OPERATIONPARAMS{
194 scaleVnfData?: SCALEVNFDATA;
197 /** Interface for the scaleVnfData */
198 export interface SCALEVNFDATA{
199 scaleVnfType?: string;
200 scaleByStepData?: SCALEBYSTEPDATA;
203 /** Interface for the scaleByStepData */
204 export interface SCALEBYSTEPDATA{
205 'scaling-group-descriptor'?: string;
206 'member-vnf-index'?: string;
209 /** Interface for the nsInfo */
210 export interface NSINFO {
211 nsInstanceID: string;
213 nsOperationalStatus: string;
214 nsConfigStatus: string;
215 nsDetailedStatus: string;
216 nsResourceOrchestrator: string;
219 /** Interface for the NSINSTANCENODES */
220 export interface NSINSTANCENODES {
222 nodeTypeRef?: string;
226 vimNetworkName?: string;
228 cp?: CONNECTIONPOINT[];
236 memberIndex?: string;
244 /** Interface for the connection-point */
245 export interface CONNECTIONPOINT {
246 'connection-point-id': string;
251 /** Interface for Exec NS Primitive */
252 export interface NSPrimitive {
254 'primitive_params': NSPrimitiveParams[];
255 'member_vnf_index': string;
258 /** Interface for Exec NS Primitive Params */
259 export interface NSPrimitiveParams {
260 primitive_params_name: string;
261 primitive_params_value: string;
264 /** Interface Nodes Creation */
265 export interface COMPOSERNODES {
277 vimNetworkName?: string;
280 memberIndex?: string;
288 /** Interface for the Virtual Link Info */
289 export interface VLINFO {
294 vimNetworkName: string;
297 /** Interface for the VNFR Info */
298 export interface VNFRINFO{