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;
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 {
103 _admin: VNFDAdminDetails;
110 'connection-point': CONNECTIONPOINT[];
111 'virtual-link-desc': NSDVLD[];
115 /** Interface for _AdminDetails */
116 // tslint:disable-next-line:class-name
117 export interface _AdminDetails {
119 projects_write: string[];
120 projects_read: string[];
121 operationalState: string;
124 onboardingState: string;
125 userDefinedData: JSON;
129 /** Interface for Storage */
139 /** Interface for NSDVLD */
140 export interface NSDVLD {
142 'status-detailed': string;
145 'vim-network-name': string;
151 /** Interface for InstantiateParam */
152 interface InstantiateParam {
155 nsDescription: string;
156 vimAccountId: string;
159 /** Interface for AdditionalParamForN */
160 interface AdditionalParamForN {
162 'ns-instance-config-ref': string;
163 'crete-time': string;
166 /** interface for the History nsdInstanceData */
167 export interface NSDInstanceData {
169 lcmOperationType?: string;
170 operationState?: string;
172 statusEnteredTime?: number;
176 OperationalStatus: string;
177 ConfigStatus: string;
178 DetailedStatus: string;
182 adminDetails?: object;
185 operationParams?: OPERATIONPARAMS;
189 /** Interface for the operationparams */
190 export interface OPERATIONPARAMS{
192 scaleVnfData?: SCALEVNFDATA;
195 /** Interface for the scaleVnfData */
196 export interface SCALEVNFDATA{
197 scaleVnfType?: string;
198 scaleByStepData?: SCALEBYSTEPDATA;
201 /** Interface for the scaleByStepData */
202 export interface SCALEBYSTEPDATA{
203 'scaling-group-descriptor'?: string;
204 'member-vnf-index'?: string;
207 /** Interface for the nsInfo */
208 export interface NSINFO {
209 nsInstanceID: string;
211 nsOperationalStatus: string;
212 nsConfigStatus: string;
213 nsDetailedStatus: string;
214 nsResourceOrchestrator: string;
217 /** Interface for the NSINSTANCENODES */
218 export interface NSINSTANCENODES {
220 nodeTypeRef?: string;
224 vimNetworkName?: string;
226 cp?: CONNECTIONPOINT[];
234 memberIndex?: string;
242 /** Interface for the connection-point */
243 export interface CONNECTIONPOINT {
244 'connection-point-id': string;
249 /** Interface for Exec NS Primitive */
250 export interface NSPrimitive {
252 'primitive_params': NSPrimitiveParams[];
253 'member_vnf_index': string;
256 /** Interface for Exec NS Primitive Params */
257 export interface NSPrimitiveParams {
258 primitive_params_name: string;
259 primitive_params_value: string;
262 /** Interface Nodes Creation */
263 export interface COMPOSERNODES {
275 vimNetworkName?: string;
278 memberIndex?: string;
286 /** Interface for the Virtual Link Info */
287 export interface VLINFO {
292 vimNetworkName: string;
295 /** Interface for the VNFR Info */
296 export interface VNFRINFO{