X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fmodels%2FNSDModel.ts;fp=src%2Fmodels%2FNSDModel.ts;h=95331a212110bc3ae27553222eb9c48940464e37;hb=3b4814aa2d3dec621dadb52f058ba95a3dc3a86a;hp=0000000000000000000000000000000000000000;hpb=1434673f8f8dc53bce5c350f04ac8df67b2ff84f;p=osm%2FNG-UI.git diff --git a/src/models/NSDModel.ts b/src/models/NSDModel.ts new file mode 100644 index 0000000..95331a2 --- /dev/null +++ b/src/models/NSDModel.ts @@ -0,0 +1,168 @@ +/* + Copyright 2020 TATA ELXSI + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in) + */ +/** + * @file Model for NSD related information. + */ + +import { VNFDAdminDetails } from './VNFDModel'; + +/** Interface for NSData */ +export interface NSData { + shortName: string; + identifier: string; + description: string; + vendor: string; + version: string; + page?: string; + name?: string; + projectName?: string; + userName?: string; + username?: string; +} + +/** Interface for the nscompose descriptors content */ +export interface NSDDetails { + 'connection-point': CONNECTIONPOINT[]; + 'constituent-vnfd': CONSTITUENTVNFD[]; + description: string; + id: string; + logo: string; + name: string; + 'short-name': string; + vendor: string; + version: string; + vld: VLD[]; + _admin: VNFDAdminDetails; + _id: string; + 'constituent-vnfr-ref': string[]; +} + +/** Interface for the connection-point */ +export interface CONNECTIONPOINT { + name: string; + 'vld-id-ref': string; +} + +/** Interface for the constituent-vnfd */ +export interface CONSTITUENTVNFD { + 'member-vnf-index': number; + 'vnfd-id-ref': string; +} + +/** Interface for the vld */ +export interface VLD { + id: string; + 'mgmt-network': boolean; + name: string; + 'short-name'?: string; + 'type': string; + 'vnfd-connection-point-ref'?: VNFDCONNECTIONPOINTREF[]; + 'vim-network-name': string; +} + +/** Interface for VNFDCONNECTIONPOINTREF */ +export interface VNFDCONNECTIONPOINTREF { + 'member-vnf-index-ref': number; + 'vnfd-connection-point-ref': string; + 'vnfd-id-ref': string; +} +/** Interface Nodes Creation */ +export interface COMPOSERNODES { + id: string; + reflexive: Boolean; + 'type': string; + name?: string; + nodeIndex?: number; + selectorId?: string; + x?: number; + y?: number; + fx?: number; + fy?: number; +} + +/** Interface for the Tick */ +export interface Tick { + target: TickPath; + source: TickPath; + left: boolean; + right: boolean; +} + +/** Interface for the Path */ +export interface TickPath { + x: number; + y: number; + id: string; + 'type'?: string; +} + +/** Interface for the NSD */ +interface NSD { + 'constituent-vnfd': CONSTITUENTVNFD[]; + description: string; + id: string; + name: string; + 'short-name': string; + vendor: string; + version: string; + vld: VLD[]; + _admin: VNFDAdminDetails; + _id: string; +} +/** Interface for the GRAPHDETAILS */ +export interface GRAPHDETAILS { + width: number; + height: number; + nodeHeight: number; + nodeWidth: number; + textX: number; + textY: number; + radius: number; + distance: number; + strength: number; + forcex: number; + forcey: number; + sourcePaddingYes: number; + sourcePaddingNo: number; + targetPaddingYes: number; + targetPaddingNo: number; + alphaTarget: number; + imageX: number; + imageY: number; + shiftKeyCode: number; +} + +/** Interface for the NS Create params */ +export interface NSCREATEPARAMS { + nsName: string; + nsDescription: string; + nsdId: string; + vimAccountId: string; + vld: string; + ssh_keys: string[]; +} + +/** Interface for the NSI Create params */ +export interface NSICREATEPARAMS { + nsName: string; + nsDescription: string; + nstId: string; + vimAccountId: string; + 'netslice-vld': string; + ssh_keys: string[]; +}