3 * Copyright 2016 RIFT.IO Inc
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 * Created by onvelocity on 11/23/15.
24 import DescriptorModel
from '../DescriptorModel'
25 import DescriptorModelFactory
from '../DescriptorModelFactory'
27 export default class ConstituentVnfd
extends DescriptorModel
{
30 return 'constituent-vnfd';
33 static get className() {
34 return 'ConstituentVnfd';
37 constructor(model
, parent
) {
39 this.type
= 'constituent-vnfd';
40 this.uiState
['qualified-type'] = 'nsd.constituent-vnfd';
41 this.className
= 'ConstituentVnfd';
42 this.addProp('vnfdRef', DescriptorModelFactory
.newVirtualNetworkFunctionReadOnlyWrapper({}, this));
46 return this.vnfdIndex
;
51 return this.vnfdRef
.vld
;
56 get connectionPoint() {
58 return this.vnfdRef
.connectionPoint
;
64 return this.connectionPoint
68 return this.getProp('vnfdRef');
72 this.addProp('vnfdRef', DescriptorModelFactory
.newVirtualNetworkFunctionReadOnlyWrapper(ref
, this));
73 // since this vnfd reference is not part of
74 // the YANG, we need to provide info needed
75 // for the details editor to manipulate it.
76 this.uiState
.vnfdIndex
= this.vnfdIndex
;
77 this.uiState
.displayName
= this.title
;
81 return this.model
['member-vnf-index'];
84 set vnfdIndex(index
) {
85 this.model
['member-vnf-index'] = index
;
89 return this.model
['vnfd-id-ref'];
93 this.model
['vnfd-id-ref'] = id
;
97 return this.vnfdRef
.name
;
101 return this.vnfdRef
['short-name'];
105 return (this['short-name'] || this.name
) + `/${this.vnfdIndex}`;
108 get vnfdServiceFunctionChain() {
109 return this.vnfdRef
.model
['service-function-chain'] || 'UNAWARE';
113 return this.parent
.removeConstituentVnfd(this);