2 Copyright 2020 Whitestack LLC
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
14 See the License for the specific language governing permissions and
15 limitations under the License.
20 namespace "urn:etsi:osm:yang:augments:scaling";
23 import etsi-nfv-vnfd {
27 import common-augments {
39 grouping extended-scaling {
46 "Name of the scaling policy";
53 type common:scaling-policy-type;
58 "Specifies if the scaling policy can be applied";
63 leaf scale-in-operation-type {
65 "Operation to be applied to check between scaling criterias to
66 check if the scale in threshold condition has been met.
68 type common:scaling-criteria-operation;
72 leaf scale-out-operation-type {
74 "Operation to be applied to check between scaling criterias to
75 check if the scale out threshold condition has been met.
77 type common:scaling-criteria-operation;
83 "The duration for which the criteria must hold true";
90 "The duration after a scaling-in/scaling-out action has been
91 triggered, for which there will be no further optional";
96 list scaling-criteria {
98 "list of conditions to be met for generating scaling
106 leaf scale-in-threshold {
108 "Value below which scale-in requests are generated";
114 leaf scale-in-relational-operation {
116 "The relational operator used to compare the monitoring param
117 against the scale-in-threshold.";
118 type common:relational-operation-type;
122 leaf scale-out-threshold {
124 "Value above which scale-out requests are generated";
130 leaf scale-out-relational-operation {
132 "The relational operator used to compare the monitoring param
133 against the scale-out-threshold.";
134 type common:relational-operation-type;
138 leaf vnf-monitoring-param-ref {
140 "Reference to the VNF level monitoring parameter
148 list scaling-config-action {
150 "List of scaling config actions";
156 type common:scaling-trigger;
159 leaf vnf-config-primitive-name-ref {
161 "Reference to the VNF config primitive";
163 path "/vnfd:vnfd/vnfd:df/vnfd:lcm-operations-configuration/vnfd:operate-vnf-op-config/day1-2:day1-2/day1-2:config-primitive/day1-2:name";
169 grouping extended-kdu-resource-profile {
170 list kdu-resource-profile {
173 "The Kdu resource profile describes additional instantiation data for
174 a given KDU used in a deployment flavour.";
180 leaf min-number-of-instances {
184 "Minimum number of instances of the KNFC based on this
185 KDU resource that is permitted to exist for this flavour.";
188 leaf max-number-of-instances {
191 must ". >= ../min-number-of-instances";
197 "Name of the application of KDU";
202 path "/vnfd:vnfd/kdu:kdu/kdu:name";
210 grouping extended-deltas {
211 list kdu-resource-delta {
214 "The number of KNFC instances based on particular
215 KDUs to be created or removed.";
219 path "../../../../../kdu-resource-profile/id";
222 "Uniquely identifies a KDU profile.";
225 leaf number-of-instances {
230 "Number of instances of KNFC based on this KDU to
231 deploy for an instantiation level or for a
232 scaling delta. Shall be zero or greater.";
237 augment "/vnfd:vnfd/vnfd:df" {
238 uses extended-kdu-resource-profile;
241 augment "/vnfd:vnfd/vnfd:df/vnfd:scaling-aspect" {
242 uses extended-scaling;
245 augment "/vnfd:vnfd/vnfd:df/vnfd:scaling-aspect/vnfd:aspect-delta-details/vnfd:deltas" {
246 uses extended-deltas;