blob: 8a43cb7ef1f50b881e56eb2f9c084656bd3a6d6f [file] [log] [blame]
Rajesh Velandye27e0b22017-09-18 17:21:48 -04001
2/*
3 *
4 * Copyright 2017 RIFT.IO Inc
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 *
19 */
20
21module vnfd-base
22{
23 namespace "http://riftio.com/ns/riftware-1.0/vnfd-base";
24 prefix "vnfd-base";
25
26 import mano-types {
27 prefix "manotypes";
28 }
29
30 import ietf-inet-types {
31 prefix "inet";
32 }
33
34 revision 2017-02-28 {
35 description
36 "Initial revision. This YANG file defines
37 the common types for Virtual Network Function
38 (VNF) descriptor";
39 reference
40 "Derived from earlier versions of base YANG files";
41 }
42
43 grouping common-connection-point {
44 leaf name {
45 description "Name of the connection point";
46 type string;
47 }
48
49 leaf id {
50 description "Identifier for the internal connection points";
51 type string;
52 }
53
54 leaf short-name {
55 description "Short name to appear as label in the UI";
56 type string;
57 }
58
59 leaf type {
60 description "Type of the connection point.";
61 type manotypes:connection-point-type;
62 }
63
64 leaf port-security-enabled {
garciadeblas0ec676d2017-12-18 18:22:27 +010065 description "Enables the port security for the port.";
Rajesh Velandye27e0b22017-09-18 17:21:48 -040066 type boolean;
tiernod4f15a72017-10-14 14:28:30 +020067 default true;
Rajesh Velandye27e0b22017-09-18 17:21:48 -040068 }
69 }
70
71 typedef interface-type {
72 type enumeration {
73 enum INTERNAL;
74 enum EXTERNAL;
75 }
76 }
77
Adam Israelfcfb1cb2017-10-10 12:12:30 -040078 typedef vnf-operational-status {
79 type enumeration {
80 enum init;
81 enum running;
82 enum upgrading;
83 enum terminate;
84 enum terminated;
85 enum failed;
86 }
87 }
88
Rajesh Velandye27e0b22017-09-18 17:21:48 -040089 grouping virtual-interface {
90 container virtual-interface {
91 description
92 "Container for the virtual interface properties";
93
94 leaf type {
95 description
96 "Specifies the type of virtual interface
97 between VM and host.
garciadeblasc0a20492018-10-11 16:26:04 +020098 PARAVIRT : Use the default paravirtualized interface for the VIM (virtio, vmxnet3, etc.).
99 VIRTIO : Deprecated! Use the traditional VIRTIO interface.
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400100 PCI-PASSTHROUGH : Use PCI-PASSTHROUGH interface.
101 SR-IOV : Use SR-IOV interface.
102 E1000 : Emulate E1000 interface.
103 RTL8139 : Emulate RTL8139 interface.
104 PCNET : Emulate PCNET interface.
garciadeblasc0a20492018-10-11 16:26:04 +0200105 OM-MGMT : Deprecated! Use PARAVIRT instead and set the VNF management interface at vnfd:mgmt-interface:cp";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400106
107 type enumeration {
garciadeblasc0a20492018-10-11 16:26:04 +0200108 enum PARAVIRT;
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400109 enum OM-MGMT;
110 enum PCI-PASSTHROUGH;
111 enum SR-IOV;
112 enum VIRTIO;
113 enum E1000;
114 enum RTL8139;
115 enum PCNET;
116 }
garciadeblasc0a20492018-10-11 16:26:04 +0200117 default "PARAVIRT";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400118 }
119
120 leaf vpci {
121 description
122 "Specifies the virtual PCI address. Expressed in
123 the following format dddd:dd:dd.d. For example
124 0000:00:12.0. This information can be used to
125 pass as metadata during the VM creation.";
126 type string;
127 }
128
129 leaf bandwidth {
130 description
131 "Aggregate bandwidth of the NIC.";
132 type uint64;
133 }
134 }
135 }
136
137 grouping vnfd-descriptor {
138 leaf id {
139 description "Identifier for the VNFD.";
140 type string {
141 length "1..63";
142 }
143 }
144
145 leaf name {
146 description "VNFD name.";
147 mandatory true;
148 type string;
149 }
150
151 leaf short-name {
152 description "Short name to appear as label in the UI";
153 type string;
154 }
155
156 leaf vendor {
157 description "Vendor of the VNFD.";
158 type string;
159 }
160
161 leaf logo {
162 description
163 "Vendor logo for the Virtual Network Function";
164 type string;
165 }
166
167 leaf description {
168 description "Description of the VNFD.";
169 type string;
170 }
171
172 leaf version {
173 description "Version of the VNFD";
174 type string;
175 }
176
Rajesh Velandyce30ffe2017-09-25 15:15:25 +0000177 container vnf-configuration {
178 uses manotypes:vca-configuration;
179 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400180
Adam Israelfcfb1cb2017-10-10 12:12:30 -0400181 leaf operational-status {
182 description
183 "The operational status of the VNF
184 init : The VNF has just started.
185 running : The VNF is active in VM
186 upgrading : The VNF is being upgraded (EXPERIMENTAL)
187 terminate : The VNF is being terminated
188 terminated : The VNF is in the terminated state.
189 failed : The VNF instantiation failed.
190 ";
191 type vnf-operational-status;
192 }
193
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400194 container mgmt-interface {
195 description
196 "Interface over which the VNF is managed.";
197
198 choice endpoint-type {
199 description
200 "Indicates the type of management endpoint.";
201
202 case ip {
203 description
204 "Specifies the static IP address for managing the VNF.";
205 leaf ip-address {
206 type inet:ip-address;
207 }
208 }
209
210 case vdu-id {
211 description
212 "Use the default management interface on this VDU.";
213 leaf vdu-id {
214 type leafref {
215 path "../../vdu/id";
216 }
217 }
218 }
219
220 case cp {
221 description
tierno19a20de2017-11-03 16:29:05 +0100222 "Use the ip address associated with this connection point. This cp is then considered as management.";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400223 leaf cp {
224 type leafref {
225 path "../../connection-point/name";
226 }
227 }
228 }
229 }
230
231 leaf port {
232 description
233 "Port for the management interface.";
234 type inet:port-number;
235 }
236
237 container dashboard-params {
238 description "Parameters for the VNF dashboard";
239
240 leaf path {
241 description "The HTTP path for the dashboard";
242 type string;
243 }
244
245 leaf https {
246 description "Pick HTTPS instead of HTTP , Default is false";
247 type boolean;
248 }
249
250 leaf port {
251 description "The HTTP port for the dashboard";
252 type inet:port-number;
253 }
254 }
255 }
256
257 list internal-vld {
258 key "id";
259 description
260 "List of Internal Virtual Link Descriptors (VLD).
261 The internal VLD describes the basic topology of
262 the connectivity such as E-LAN, E-Line, E-Tree.
263 between internal VNF components of the system.";
264
265 leaf id {
266 description "Identifier for the VLD";
267 type string;
268 }
269
270 leaf name {
271 description "Name of the internal VLD";
272 type string;
273 }
274
275 leaf short-name {
276 description "Short name to appear as label in the UI";
277 type string;
278 }
279
280 leaf description {
281 type string;
282 }
283
284 leaf type {
285 type manotypes:virtual-link-type;
286 }
287
288 leaf root-bandwidth {
289 description
290 "For ELAN this is the aggregate bandwidth.";
291 type uint64;
292 }
293
294 leaf leaf-bandwidth {
295 description
296 "For ELAN this is the bandwidth of branches.";
297 type uint64;
298 }
299
300 list internal-connection-point {
301 key "id-ref";
302 description "List of internal connection points in this VLD";
303 leaf id-ref {
garciadeblas0ec676d2017-12-18 18:22:27 +0100304 description "Reference to the internal connection point id";
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400305 type leafref {
306 path "../../../vdu/internal-connection-point/id";
307 }
308 }
garciadeblas0ec676d2017-12-18 18:22:27 +0100309
garciadeblas1edb98c2017-12-05 13:47:09 +0100310 leaf ip-address {
311 description "IP address of the internal connection point";
312 type inet:ip-address;
313 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400314 }
315
316 uses manotypes:provider-network;
317 choice init-params {
318 description "Extra parameters for VLD instantiation";
319
320 case vim-network-ref {
321 leaf vim-network-name {
322 description
323 "Name of network in VIM account. This is used to indicate
324 pre-provisioned network name in cloud account.";
325 type string;
326 }
327 }
328
329 case vim-network-profile {
330 leaf ip-profile-ref {
331 description "Named reference to IP-profile object";
332 type string;
333 }
334 }
335
336 }
337 }
338
339 uses manotypes:ip-profile-list;
340
341 list connection-point {
342 key "name";
343 description
344 "List for external connection points. Each VNF has one
345 or more external connection points that connect the VNF
346 to other VNFs or to external networks. Each VNF exposes
347 connection points to the orchestrator, which can construct
348 network services by connecting the connection points
349 between different VNFs. The NFVO will use VLDs and VNFFGs
350 at the network service level to construct network services.";
351
352 uses common-connection-point;
garciadeblasa75e0bb2017-12-12 13:33:33 +0100353
354 leaf internal-vld-ref {
355 description
356 "Reference to an internal VLD of the VNF. This field is
357 optional. It allows exposing an internal VLD through a
358 connection point. When building a NS, this VNF CP might be
359 connected to a NS VLD, then both VLDs (the i-VLD of the VNF and the
360 VLD of the NS) will become the same network and the IP profile will
361 be the one configured at NS level.";
362 type leafref {
363 path "../../internal-vld/id";
364 }
365 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400366 }
367
368 list vdu {
369 description "List of Virtual Deployment Units";
370 key "id";
371
372 leaf id {
373 description "Unique id for the VDU";
374 type string;
375 }
376
377 leaf name {
378 description "Unique name for the VDU";
379 type string;
380 }
381
382 leaf description {
383 description "Description of the VDU.";
384 type string;
385 }
386
garciadeblas0ec676d2017-12-18 18:22:27 +0100387 leaf pdu-type {
388 description
389 "Type of PDU. If this field exists, the deployment unit must be
390 understood as a PDU, not as a VDU. This field is used to identify
391 the category of PDU instances to be used at instantiation time. For
392 the instantiation to be successful, there must be available
393 PDU instances of this type in the selected datacenter.";
394 type string;
395 }
396
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400397 leaf count {
398 description "Number of instances of VDU";
399 type uint64;
400 }
401
402 leaf mgmt-vpci {
403 description
404 "Specifies the virtual PCI address. Expressed in
405 the following format dddd:dd:dd.d. For example
406 0000:00:12.0. This information can be used to
407 pass as metadata during the VM creation.";
408 type string;
409 }
410
411 uses manotypes:vm-flavor;
412 uses manotypes:guest-epa;
413 uses manotypes:vswitch-epa;
414 uses manotypes:hypervisor-epa;
415 uses manotypes:host-epa;
416
417 list alarm {
418 key "alarm-id";
419
420 uses manotypes:alarm;
421 }
422
423 uses manotypes:image-properties;
424
garciadeblase304a4d2017-12-05 12:30:17 +0100425 list alternative-images {
426 key "vim-type";
427 description
428 "List of alternative images per VIM type.
429 Different images can be used for specific types of VIMs instead
430 of the default image. This allows deployments in sites where the
431 image identifier in the VIM is given by the VIM provider and
432 cannot be modified.
433 If an alternative image is specified for a VIM type, it will prevail
434 over the default image";
435
436 leaf vim-type {
437 description "VIM type: openvim, openstack, vmware, aws, etc.";
438 type string;
439 }
440
441 uses manotypes:image-properties;
442 }
443
Rajesh Velandyce30ffe2017-09-25 15:15:25 +0000444 container vdu-configuration {
445 uses manotypes:vca-configuration;
446 }
447
garciadeblas8efd85e2018-04-02 17:29:08 +0200448 list monitoring-param {
449 description
450 "List of VDU-related monitoring parameters at NFVI level";
451 key id;
452 leaf id {
453 description "The unique id of the monitoring param at VDU level";
454 type string;
455 }
456
457 leaf nfvi-metric {
458 description "The associated NFVI metric to be monitored";
459 type manotypes:nfvi-metric-type;
460 }
461
462 leaf interface-name-ref {
463 description
464 "Reference to a VDU interface name. Applicable only when the nfvi-metric
465 refers to an interface and not to the VM";
466 type leafref {
467 path "../../interface/name";
468 }
469 }
470 }
471
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400472 choice cloud-init-input {
473 description
474 "Indicates how the contents of cloud-init script are provided.
475 There are 2 choices - inline or in a file";
476
477 case inline {
478 leaf cloud-init {
479 description
480 "Contents of cloud-init script, provided inline, in cloud-config format";
481 type string;
482 }
483 }
484
485 case filename {
486 leaf cloud-init-file {
487 description
488 "Name of file with contents of cloud-init script in cloud-config format";
489 type string;
490 }
491 }
492 }
493
494 uses manotypes:supplemental-boot-data;
495
496 list internal-connection-point {
497 key "id";
498 description
499 "List for internal connection points. Each VNFC
500 has zero or more internal connection points.
501 Internal connection points are used for connecting
502 the VNF with components internal to the VNF. If a VNF
503 has only one VNFC, it may not have any internal
504 connection points.";
505
506 uses common-connection-point;
507
508 leaf internal-vld-ref {
509 type leafref {
510 path "../../../internal-vld/id";
511 }
512 }
513 }
514
515 list interface {
516 description
517 "List of Interfaces (external and internal) for the VNF";
518 key name;
519
520 leaf name {
521 description
522 "Name of the interface. Note that this
523 name has only local significance to the VDU.";
524 type string;
525 }
526
527 leaf position {
528 description
529 "Explicit Position of the interface within the list";
530 type uint32;
531 }
532
garciadeblas0f6bb772018-04-13 00:58:00 +0200533 leaf mgmt-interface {
534 description
535 "Flag to indicate that this is the mgmt interface
536 to be used for VDU configuration";
537 type boolean;
538 default false;
539 }
540
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400541 leaf type {
542 description
543 "Type of the Interface";
544 type interface-type;
545
546 default "EXTERNAL";
547 }
548
garciadeblas98048d22017-12-05 10:30:26 +0100549 leaf mac-address {
550 description
551 "MAC address of the interface.
552 Some VNFs require a specific MAC address to be configured
553 in the interface. While this is not recommended at all in
554 NFV environments, this parameter exists to allow those
555 scenarios.
556 This parameter will be likely deprecated in the future.";
557 type string;
558 }
559
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400560 choice connection-point-type {
561 case internal {
562 leaf internal-connection-point-ref {
563 description
564 "Leaf Ref to the particular internal connection point";
565 type leafref {
566 path "../../internal-connection-point/id";
567 }
568 }
569 }
570 case external {
571 leaf external-connection-point-ref {
572 description
573 "Leaf Ref to the particular external connection point";
574 type leafref {
575 path "../../../connection-point/name";
576 }
577 }
578 }
579 }
580
581 uses virtual-interface;
582 }
583
584
585 list volumes {
586 key "name";
587
588 leaf name {
589 description "Name of the disk-volumes, e.g. vda, vdb etc";
590 type string;
591 }
592
593 uses manotypes:volume-info;
594 }
595 }
596
597 list vdu-dependency {
598 description
599 "List of VDU dependencies.";
600
601 key vdu-source-ref;
602 leaf vdu-source-ref {
603 type leafref {
604 path "../../vdu/id";
605 }
606 }
607
608 leaf vdu-depends-on-ref {
609 description
610 "Reference to the VDU on which
611 the source VDU depends.";
612 type leafref {
613 path "../../vdu/id";
614 }
615 }
616 }
617
618 leaf service-function-chain {
619 description "Type of node in Service Function Chaining Architecture";
620
621 type enumeration {
622 enum UNAWARE;
623 enum CLASSIFIER;
624 enum SF;
625 enum SFF;
626 }
627 default "UNAWARE";
628 }
629
630 leaf service-function-type {
631 description
632 "Type of Service Function.
633 NOTE: This needs to map with Service Function Type in ODL to
634 support VNFFG. Service Function Type is mandatory param in ODL
635 SFC. This is temporarily set to string for ease of use";
636 type string;
637 }
638
garciadeblas8efd85e2018-04-02 17:29:08 +0200639 uses manotypes:http-endpoints;
640
641 list scaling-group-descriptor {
642 description
643 "scaling group descriptor within the VNF.
644 The scaling group defines a group of VDUs,
645 and the ratio of VDUs in the VNF
646 that is used as target for scaling action";
647
648 key "name";
649
650 leaf name {
651 description "Name of this scaling group.";
652 type string;
653 }
654
655 list scaling-policy {
656
657 key "name";
658
659 leaf name {
660 description
661 "Name of the scaling policy";
662 type string;
663 }
664
665 leaf scaling-type {
666 description
667 "Type of scaling";
668 type manotypes:scaling-policy-type;
669 }
670
671 leaf enabled {
672 description
673 "Specifies if the scaling policy can be applied";
674 type boolean;
675 default true;
676 }
677
678 leaf scale-in-operation-type {
679 description
680 "Operation to be applied to check between scaling criterias to
681 check if the scale in threshold condition has been met.
682 Defaults to AND";
683 type manotypes:scaling-criteria-operation;
684 default AND;
685 }
686
687 leaf scale-out-operation-type {
688 description
689 "Operation to be applied to check between scaling criterias to
690 check if the scale out threshold condition has been met.
691 Defauls to OR";
692 type manotypes:scaling-criteria-operation;
693 default OR;
694 }
695
696 leaf threshold-time {
697 description
698 "The duration for which the criteria must hold true";
699 type uint32;
700 mandatory true;
701 }
702
703 leaf cooldown-time {
704 description
705 "The duration after a scaling-in/scaling-out action has been
706 triggered, for which there will be no further optional";
707 type uint32;
708 mandatory true;
709 }
710
711 list scaling-criteria {
712 description
713 "list of conditions to be met for generating scaling
714 requests";
715 key "name";
716
717 leaf name {
718 type string;
719 }
720
721 leaf scale-in-threshold {
722 description
723 "Value below which scale-in requests are generated";
vijay.r64a85fd2019-01-23 16:32:10 +0530724 type decimal64{
725 fraction-digits 10;
726 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200727 }
728
729 leaf scale-in-relational-operation {
730 description
731 "The relational operator used to compare the monitoring param
732 against the scale-in-threshold.";
733 type manotypes:relational-operation-type;
734 default LE;
735 }
736
737 leaf scale-out-threshold {
738 description
739 "Value above which scale-out requests are generated";
vijay.r64a85fd2019-01-23 16:32:10 +0530740 type decimal64{
741 fraction-digits 10;
742 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200743 }
744
745 leaf scale-out-relational-operation {
746 description
747 "The relational operator used to compare the monitoring param
748 against the scale-out-threshold.";
749 type manotypes:relational-operation-type;
750 default GE;
751 }
752
753 leaf vnf-monitoring-param-ref {
754 description
755 "Reference to the VNF level monitoring parameter
756 that is aggregated";
757 type leafref {
758 path "../../../../monitoring-param/id";
759 }
760 }
761 }
762 }
763
764 list vdu {
765 description "List of VDUs in this scaling group";
766 key "vdu-id-ref";
767
768 leaf vdu-id-ref {
769 description "Reference to the VDU id";
770 type leafref {
771 path "../../../vdu/id";
772 }
773 }
774
775 leaf count {
776 description
777 "count of this VDU id within this scaling group.
778 The count allows to define the number of instances
779 when a scaling action targets this scaling group";
780 type uint32;
781 default 1;
782 }
783 }
784
785 leaf min-instance-count {
786 description
787 "Minimum instances of the scaling group which are allowed.
788 These instances are created by default when the network service
789 is instantiated.";
790 type uint32;
791 default 0;
792 }
793
794 leaf max-instance-count {
795 description
796 "Maximum instances of this scaling group that are allowed
797 in a single network service. The network service scaling
798 will fail, when the number of service group instances
799 exceed the max-instance-count specified.";
800 type uint32;
801 default 10;
802 }
803
804 list scaling-config-action {
805 description "List of scaling config actions";
806 key "trigger";
807
808 leaf trigger {
809 description "scaling trigger";
810 type manotypes:scaling-trigger;
811 }
812
813 leaf vnf-config-primitive-name-ref {
814 description "Reference to the VNF config primitive";
815 type leafref {
816 path "../../../vnf-configuration/config-primitive/name";
817 }
818 }
819 }
820 }
821
822 list monitoring-param {
823 description
824 "List of monitoring parameters at the network service level";
825 key id;
826 leaf id {
827 type string;
828 }
829
830 leaf name {
831 type string;
832 }
833
834 uses manotypes:monitoring-param-aggregation;
835
836 choice monitoring-type {
837 description
838 "Defines the type of monitoring param to be used:
839 * vdu-monitorin-param: VDU-related metric (from NFVI)
840 * vnf-metric: VNF-related metric (from VCA)
841 * vdu-metric: VDU-related metric (from VCA)
842 ";
843
844 case vdu-monitoring-param {
845 description "VDU-related metric from the infrastructure";
garciadeblas18e4ca52018-06-12 15:42:01 +0200846 container vdu-monitoring-param {
847 leaf vdu-ref {
848 type leafref {
849 path "../../../vdu/id";
850 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200851 }
garciadeblas18e4ca52018-06-12 15:42:01 +0200852 leaf vdu-monitoring-param-ref {
853 type leafref {
854 path "../../../vdu[id = current()/../vdu-ref]/monitoring-param/id";
855 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200856 }
857 }
858 }
859
860 case vnf-metric {
861 description "VNF-related metric (from VCA)";
garciadeblas18e4ca52018-06-12 15:42:01 +0200862 container vnf-metric {
863 leaf vnf-metric-name-ref {
864 type leafref {
865 path "../../../vnf-configuration/metrics/name";
866 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200867 }
868 }
869 }
870
871 case vdu-metric {
872 description "VDU-related metric (from VCA)";
garciadeblas18e4ca52018-06-12 15:42:01 +0200873 container vdu-metric {
874 leaf vdu-ref {
875 type leafref {
876 path "../../../vdu/id";
877 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200878 }
garciadeblas18e4ca52018-06-12 15:42:01 +0200879 leaf vdu-metric-name-ref {
880 type leafref {
881 path "../../../vdu[id = current()/../vdu-ref]/vdu-configuration/metrics/name";
882 }
garciadeblas8efd85e2018-04-02 17:29:08 +0200883 }
884 }
885 }
886
887 }
888
889 leaf http-endpoint-ref {
890 type leafref {
891 path "../../http-endpoint/path";
892 }
893 }
894
895 leaf json-query-method {
896 type manotypes:json-query-method;
897 default "NAMEKEY";
898 }
899
900 container json-query-params {
901 leaf json-path {
902 description
903 "The jsonpath to use to extract value from JSON structure";
904 type string;
905 }
906 leaf object-path {
907 description
908 "The objectpath to use to extract value from JSON structure";
909 type string;
910 }
911 }
912
913 uses manotypes:monitoring-param-ui-data;
914 uses manotypes:monitoring-param-value;
915
916 }
Rajesh Velandye27e0b22017-09-18 17:21:48 -0400917
918 list placement-groups {
919 description "List of placement groups at VNF level";
920
921 key "name";
922 uses manotypes:placement-group-info;
923
924 list member-vdus {
925
926 description
927 "List of VDUs that are part of this placement group";
928 key "member-vdu-ref";
929
930 leaf member-vdu-ref {
931 type leafref {
932 path "../../../vdu/id";
933 }
934 }
935 }
936 }
937 }
938}
939
940// vim: sw=2