X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fnsd-base.yang;h=df995636dc935579b89115ef549706c967e52a99;hp=8403730c4d0ad193a45f5fc0cc5fc51a12d0fe97;hb=2b5a566395883b7d1959344bc725186bda441d01;hpb=b869fa14a97777a70130db6eaf37e06c5b8fff14 diff --git a/models/yang/nsd-base.yang b/models/yang/nsd-base.yang index 8403730..df99563 100644 --- a/models/yang/nsd-base.yang +++ b/models/yang/nsd-base.yang @@ -31,6 +31,10 @@ module nsd-base prefix "manotypes"; } + import vnfd { + prefix "vnfd"; + } + revision 2017-02-28 { description "Initial revision. This YANG file defines @@ -57,17 +61,6 @@ module nsd-base } } - typedef scaling-policy-type { - type enumeration { - enum manual { - value 1; - } - enum automatic { - value 2; - } - } - } - typedef scaling-criteria-operation { type enumeration { enum AND { @@ -184,6 +177,62 @@ module nsd-base It must be explicitly asked for a floating IP address to be allocated."; type boolean; } + + choice connection { + description "Logical connection of the CP to a VLD or to a VNF CP"; + + case vld-ref { + + leaf vld-id-ref { + description + "ID reference to a VLD in the NS"; + type leafref { + path "../../vld/id"; + } + } + + } + + case vnfd-connection-point-ref { + + leaf member-vnf-index-ref { + description "Reference to member-vnf within constituent-vnfd"; + type leafref { + path "../../constituent-vnfd/member-vnf-index"; + } + } + + leaf vnfd-id-ref { + description + "A reference to a vnfd. This is a leafref to path: + ../../nsd:constituent-vnfd + + [nsd:id = current()/../nsd:id-ref] + + /nsd:vnfd-id-ref"; + type leafref { + path "../../constituent-vnfd" + + "[member-vnf-index = current()/../member-vnf-index-ref]" + + "/vnfd-id-ref"; + } + } + + leaf vnfd-connection-point-ref { + description + "A reference to a connection point name + in a vnfd. This is a leafref to path: + /vnfd:vnfd-catalog/vnfd:vnfd + + [vnfd:id = current()/../nsd:vnfd-id-ref] + + /vnfd:connection-point/vnfd:name"; + type leafref { + path "/vnfd:vnfd-catalog/vnfd:vnfd" + + "[vnfd:id = current()/../vnfd-id-ref]" + + "/vnfd:connection-point/vnfd:name"; + } + } + + } + + } + } list scaling-group-descriptor { @@ -213,7 +262,7 @@ module nsd-base leaf scaling-type { description "Type of scaling"; - type scaling-policy-type; + type manotypes:scaling-policy-type; } leaf enabled { @@ -228,7 +277,7 @@ module nsd-base "Operation to be applied to check between scaling criterias to check if the scale in threshold condition has been met. Defaults to AND"; - type scaling-criteria-operation; + type manotypes:scaling-criteria-operation; default AND; } @@ -237,7 +286,7 @@ module nsd-base "Operation to be applied to check between scaling criterias to check if the scale out threshold condition has been met. Defauls to OR"; - type scaling-criteria-operation; + type manotypes:scaling-criteria-operation; default OR; } @@ -272,12 +321,28 @@ module nsd-base type uint64; } + leaf scale-in-relational-operation { + description + "The relational operator used to compare the monitoring param + against the scale-in-threshold."; + type manotypes:relational-operation-type; + default LE; + } + leaf scale-out-threshold { description "Value above which scale-out requests are generated"; type uint64; } + leaf scale-out-relational-operation { + description + "The relational operator used to compare the monitoring param + against the scale-out-threshold."; + type manotypes:relational-operation-type; + default GE; + } + leaf ns-monitoring-param-ref { description "Reference to the NS level monitoring parameter @@ -335,7 +400,7 @@ module nsd-base leaf trigger { description "scaling trigger"; - type scaling-trigger; + type manotypes:scaling-trigger; } leaf ns-service-primitive-name-ref {