X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FIM.git;a=blobdiff_plain;f=models%2Fyang%2Fnsd-base.yang;h=f11ab2226ea61a6f63d20a7f74f7d5d9ba7707c2;hp=c332869403a21231303cf0c770a4e38a6374c14d;hb=66adc6d16af6cc9f8ae4194feca1ddb7454c4765;hpb=989442ed148edbd11f94e48a8ebb40ddd7d5d65b diff --git a/models/yang/nsd-base.yang b/models/yang/nsd-base.yang index c332869..f11ab22 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 { @@ -175,6 +168,71 @@ module nsd-base "Type of the connection point."; type manotypes:connection-point-type; } + + leaf floating-ip-required { + description + "Boolean parameter to indicate whether the CP must be exposed. + A public IP address will be allocated to this CP if exposed is true. + The default is false meaning a floating IP address is not required. + 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 { @@ -201,12 +259,6 @@ module nsd-base type string; } - leaf scaling-type { - description - "Type of scaling"; - type scaling-policy-type; - } - leaf enabled { description "Specifies if the scaling policy can be applied";