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 { CONSTITUENTVNFD, 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;
40 'nsd-name-ref': string;
42 'detailed-status': string;
43 'config-status': string;
44 'resource-orchestrator': string;
47 instantiate_params: InstantiateParam;
48 additionalParamsForNs: AdditionalParamForN;
52 /** Interface for Admin */
54 deployed: DeployedAdmin;
57 /** Interface for DeployedAdmin */
58 interface DeployedAdmin {
62 /** Interface for ROAdmin */
67 /** Interface for _Admin */
68 // tslint:disable-next-line:class-name
70 'projects_write': string[];
71 deployed: DeployedAdmin;
75 projects_read: string[];
79 /** Interface for Deployed_Admin */
80 interface DeployedAdmin {
85 /** Interface for RO_Admin */
93 /** Interface for VNFD */
95 'member-vnf-index': number;
99 /** Interface for NSD */
100 export interface NSD {
102 _admin: VNFDAdminDetails;
107 'constituent-vnfd': CONSTITUENTVNFD[];
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;
184 /** Interface for the nsInfo */
185 export interface NSINFO {
186 nsInstanceID: string;
188 nsOperationalStatus: string;
189 nsConfigStatus: string;
190 nsDetailedStatus: string;
191 nsResourceOrchestrator: string;
194 /** Interface for the NSINSTANCENODES */
195 export interface NSINSTANCENODES {
197 nodeTypeRef?: string;
201 vimNetworkName?: string;
203 cp?: CONNECTIONPOINT[];
211 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{