X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Fmodels%2FVNFDModel.ts;h=7029ace9eb84c65acff7c83271e634c907ad56e7;hb=refs%2Fchanges%2F65%2F10565%2F9;hp=364d37e12b7d872da4903a011e224bc5ea317ff4;hpb=79971eb04102e22baa15da92888bed74899e7d90;p=osm%2FNG-UI.git diff --git a/src/models/VNFDModel.ts b/src/models/VNFDModel.ts index 364d37e..7029ace 100644 --- a/src/models/VNFDModel.ts +++ b/src/models/VNFDModel.ts @@ -18,7 +18,7 @@ /** * @file Model for VNFD related information. */ - +// tslint:disable: completed-docs /** Interface for Project */ export interface ProjectModel { project_id: string; @@ -47,146 +47,184 @@ interface AdminDetails { created: string; } -/** Interface for VNFD NODE Details */ -export interface VNFDNODE { - nodeTypeRef?: string; - 'connection-point'?: CONNECTIONPOINT[]; +/** Interface for VNFD Details */ +export interface VNFD { description?: string; + df?: DF[]; + 'ext-cpd'?: EXTCPD[]; id: string; - 'internal-vld'?: InternalVLD[]; - version?: string; - name?: string; - 'mgmt-interface'?: MGMT; - _id?: string; + 'int-virtual-link-desc'?: IVLD[]; + 'mgmt-cp'?: string; + onboardingState?: string; + operationalState?: string; + 'product-name'?: string; + provider?: string; + 'sw-image-desc'?: SWIMAGEDESCRIPTION[]; + usageState?: string; vdu?: VDU[]; + version?: string; + 'virtual-compute-desc'?: string; + 'virtual-storage-desc'?: string[]; _admin?: VNFDAdminDetails; - 'short-name'?: string; - shortName?: string; - vendor?: string; - 'type'?: string; - 'cloud-init-file'?: string; - count?: number; - vduID?: string; - 'interface'?: VNFDInterface[]; - 'vm-flavor'?: VMFlavor; - intVLID?: string; - 'internal-connection-point'?: VLDInternalConnectionPoint[]; - 'monitoring-param'?: MonitoringParam[]; - 'ip-profile-ref'?: string; - 'id-ref'?: string; - 'ip-address'?: string; - reflexive?: boolean; - image?: string; + _id?: string; + _links?: string; + 'vnf-configuration'?: VNFCONFIG[]; + kdu?: []; } - -/** Interface for VNFDDetails */ -export interface VNFDDetails { - 'connection-point': CONNECTIONPOINT[]; - description: string; +/** Interface for DF */ +export interface VNFCONFIG { id: string; - 'internal-vld': InternalVLD[]; - version: string; + 'config-primitive'?: CONFIGPRIMITIVE[]; + 'initial-config-primitive'?: INITIALCONFIGPRIMITIVE[]; +} +/** Interface for DF */ +export interface DF { + id: string; + 'instantiation-level'?: INSTANTIATIONLEVEL[]; + 'vdu-profile'?: VDUPROFILE[]; + 'vnf-configuration-id'?: string; + 'scaling-aspect'?: SCALING[]; +} +/** Interface for INSTANTIATIONLEVEL */ +export interface INSTANTIATIONLEVEL { + id: string; + 'vdu-level': VDULEVEL[]; +} +/** Interface for VDULEVEL */ +export interface VDULEVEL { + 'number-of-instances': number; + 'vdu-id': string; +} +/** Interface for VDULEVEL */ +export interface VDUPROFILE { + id: string; + name?: string; + 'min-number-of-instances'?: number; + 'max-number-of-instances'?: number; + 'vdu-configuration-id'?: string; + 'vdu-configuration'?: VDUCONFIG; +} +/** Interface for SCALING */ +export interface SCALING { + 'aspect-delta-details'?: object; + id: string; + name?: string; + 'max-scale-level'?: number; + 'scaling-policy'?: SCALINGPOLICY[]; +} +/** Interface for SCALINGPOLICY */ +export interface SCALINGPOLICY { + 'cooldown-time': number; + name?: string; + 'scaling-criteria': SCALINGCRITERIA[]; + 'scaling-type'?: string; + 'threshold-time'?: number; +} +/** Interface for SCALINGCRITERIA */ +export interface SCALINGCRITERIA { + name?: string; + 'scale-in-relational-operation': string; + 'scale-in-threshold'?: string; + 'scale-out-relational-operation'?: string; + 'scale-out-threshold'?: string; + 'vnf-monitoring-param-ref'?: string; +} +/** Interface for VDUCONFIG */ +export interface VDUCONFIG { + id: string; + 'config-primitive': CONFIGPRIMITIVE[]; + 'initial-config-primitive': INITIALCONFIGPRIMITIVE[]; +} +/** Interface for CONFIGPRIMITIVE */ +export interface CONFIGPRIMITIVE { name: string; - 'mgmt-interface': MGMT; - _id: string; - vdu: VDU[]; - _admin: VNFDAdminDetails; - 'short-name': string; - vendor: string; - 'product-name'?: string; } - -/** Interface for MGMT */ -interface MGMT { - cp: string; +/** Interface for INITIALCONFIGPRIMITIVE */ +export interface INITIALCONFIGPRIMITIVE { + seq: string; + name: string; +} +/** Interface for the ext-cpd */ +export interface EXTCPD { + id?: string; + 'int-cpd'?: INTCPD; +} +/** Interface for the int-cpd */ +export interface INTCPD { + cpd?: string; + 'vdu-id'?: string; +} +/** Interface for IVLD */ +export interface IVLD { + id?: string; + description?: string; +} +/** Interface for SWIMAGEDESCRIPTION */ +export interface SWIMAGEDESCRIPTION { + id: string; + name: string; + version: string; } - /** Interface for VDU */ export interface VDU { - nodeTypeRef?: string; 'cloud-init-file'?: string; - count?: number; description?: string; id?: string; - image?: string; - 'interface'?: VNFDInterface[]; - 'internal-connection-point'?: VDUInternalConnectionPoint[]; + 'int-cpd'?: VDUINTCPD[]; + 'monitoring-parameter'?: MonitoringParam[]; name?: string; - 'vm-flavor'?: VMFlavor; - vduInterface?: string; - 'monitoring-param'?: MonitoringParam[]; + 'sw-image-desc'?: string; + 'virtual-compute-desc'?: string; + 'virtual-storage-desc'?: string[]; } - -/** Interface for VMFlavor */ -interface VMFlavor { - 'storage-gb'?: string; - 'memory-mb'?: string; - 'vcpu-count'?: string; +/** Interface for the vdu int-cpd */ +export interface VDUINTCPD { + id: string; + 'int-virtual-link-desc'?: string; + 'virtual-network-interface-requirement': VNIR[]; } - -/** Interface for VNFDInterface */ -export interface VNFDInterface { - 'external-connection-point-ref'?: string; - 'internal-connection-point-ref'?: string; - 'mgmt-interface'?: boolean; - name?: string; - 'type'?: string; - position?: boolean; - 'virtual-interface'?: VirtualInterface; +/** Interface for the vdu int-cpd => VNIR */ +export interface VNIR { + name: string; + position: number; + 'virtual-interface': VIRTUALINTERFACE; } - -/** Interface for VDU Internal Connection Point */ -export interface VDUInternalConnectionPoint { +/** Interface for the VIRTUALINTERFACE */ +export interface VIRTUALINTERFACE { + 'type': string; +} +/** Interface for monitoring params */ +export interface MonitoringParam { id: string; name?: string; - 'short-name'?: string; - 'type'?: string; + 'performance-metric'?: string; + 'collection-period'?: number; } - -/** Interface for VirutalInterface */ -interface VirtualInterface { - 'type': string; +/** Interface for VNFDATA */ +export interface VNFDATA { + vnfd?: VNFD; } -/** Interface for the connection-point */ -export interface CONNECTIONPOINT { - nodeTypeRef?: string; - 'connection-point-id'?: string; - name?: string; +/** Interface for VDU InternalCPD */ +export interface InternalCPD { id: string; - 'type'?: string; -} - -/** Interface for Internal VLD */ -export interface InternalVLD { - nodeTypeRef?: string; - id?: string; - 'internal-connection-point'?: VLDInternalConnectionPoint[]; - 'ip-profile-ref'?: string; - name?: string; - 'short-name'?: string; - 'type'?: string; - 'shortName'?: string; - 'ipProfileRef'?: string; + 'int-virtual-link-desc'?: string; + 'virtual-network-interface-requirement'?: VIRTUALNETWORKINTERFACEREQUIREMENT; } -/** Interface for VLD Internal Connection Point */ -export interface VLDInternalConnectionPoint { - nodeTypeRef?: string; - 'ip-address'?: string; - 'id-ref'?: string; - 'shortName'?: string; +/** Interface for VIRTUALNETWORKINTERFACEREQUIREMENT */ +export interface VIRTUALNETWORKINTERFACEREQUIREMENT { + name: string; + position?: number; + 'virtual-interface'?: VirtualInterface; } -/** Interface for monitoring params */ -export interface MonitoringParam { - id: string; - 'nfvi-metric'?: string; - 'interface-name-ref'?: string; +/** Interface for VirutalInterface */ +interface VirtualInterface { + 'type': string; } /** Interface for _AdminDetails */ -// tslint:disable-next-line:class-name export interface VNFDAdminDetails { created: number; modified: string; @@ -212,15 +250,14 @@ interface Storage { /** Interface for VNFData */ export interface VNFData { - name?: string; + identifier?: string; id?: string; - shortName?: string; - identifier: string; + name?: string; description: string; - vendor?: string; version: string; 'type'?: string; productName?: string; + provider?: string; } /** Interface for the Tick */ @@ -242,10 +279,11 @@ export interface TickPath { /** Interface Nodes Creation */ export interface COMPOSERNODES { id: string; - reflexive?: boolean; - 'type'?: string; + reflexive: Boolean; + 'type': string; name?: string; - nodeTypeRef?: string; + nodeIndex?: number; + selectorId?: string; x?: number; y?: number; fx?: number;