| |
| /* |
| * |
| * Copyright 2016-2017 RIFT.IO Inc |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * |
| */ |
| |
| module vlr |
| { |
| namespace "urn:ietf:params:xml:ns:yang:nfvo:vlr"; |
| prefix "vlr"; |
| |
| import ietf-yang-types { |
| prefix "yang"; |
| } |
| |
| import mano-types { |
| prefix "manotypes"; |
| } |
| |
| import rw-project { |
| prefix "rw-project"; |
| } |
| |
| revision 2017-02-08 { |
| description |
| "Update model to support projects."; |
| } |
| |
| revision 2015-09-10 { |
| description |
| "Initial revision. This YANG file defines |
| the Virtual Link Record (VLR)"; |
| reference |
| "Derived from earlier versions of base YANG files"; |
| } |
| |
| augment "/rw-project:project" { |
| container vlr-catalog { |
| config false; |
| |
| list vlr { |
| key "id"; |
| unique "name"; |
| |
| leaf id { |
| description "Identifier for the VLR."; |
| type yang:uuid; |
| } |
| |
| leaf name { |
| description "VLR name."; |
| type string; |
| } |
| |
| leaf nsr-id-ref { |
| description |
| "NS instance identifier. |
| This is a leafref /rw-project:project/nsr:ns-instance-config/nsr:nsr/nsr:id"; |
| type yang:uuid; |
| } |
| |
| leaf vld-ref { |
| description |
| "Reference to VLD |
| /rw-project:project/nsr:ns-instance-config/nsr:nsr[nsr:id=../nsr-id-ref] |
| /nsd/vld:vld/vld:id"; |
| type string; |
| } |
| |
| leaf res-id { |
| description "Identifier for resmgr id mapping"; |
| type yang:uuid; |
| } |
| |
| leaf short-name { |
| description "Short name to appear as label in the UI"; |
| type string; |
| } |
| |
| leaf vendor { |
| description "Provider of the VLR."; |
| type string; |
| } |
| |
| leaf description { |
| description "Description of the VLR."; |
| type string; |
| } |
| |
| leaf version { |
| description "Version of the VLR"; |
| type string; |
| } |
| |
| leaf type { |
| type manotypes:virtual-link-type; |
| } |
| |
| leaf root-bandwidth { |
| description |
| "For ELAN this is the aggregate bandwidth."; |
| type uint64; |
| } |
| |
| leaf leaf-bandwidth { |
| description |
| "For ELAN this is the bandwidth of branches."; |
| type uint64; |
| } |
| |
| leaf create-time { |
| description |
| "Creation timestamp of this Virtual Link. |
| The timestamp is expressed as seconds |
| since unix epoch - 1970-01-01T00:00:00Z"; |
| |
| type uint32; |
| } |
| |
| leaf uptime { |
| description |
| "Active period of this Virtual Link. |
| Uptime is expressed in seconds"; |
| |
| type uint32; |
| } |
| |
| leaf network-id { |
| description |
| "Identifier for the allocated network resource."; |
| type string; |
| } |
| |
| leaf vim-network-name { |
| description |
| "Name of network in VIM account. This is used to indicate |
| pre-provisioned network name in cloud account."; |
| type string; |
| } |
| |
| // replicate for pnfd container here |
| |
| uses manotypes:provider-network; |
| uses manotypes:ip-profile-info; |
| |
| leaf status { |
| description |
| "Status of the virtual link record."; |
| type enumeration { |
| enum LINK_UP; |
| enum DEGRADED; |
| enum LINK_DOWN; |
| } |
| } |
| leaf operational-status { |
| description |
| "The operational status of the Virtual Link |
| init : The VL is in init stat. |
| vl-alloc-pending : The VL alloc is pending in VIM |
| running : The VL is up and running in VM |
| vl-terminate-pending : The VL is being terminated in VIM. |
| terminated : The VL is terminated in the VM. |
| failed : The VL instantiation failed in VIM. |
| "; |
| |
| type enumeration { |
| enum init; |
| enum vl-alloc-pending; |
| enum running; |
| enum vl-terminate-pending; |
| enum terminated; |
| enum failed; |
| } |
| } |
| } |
| } |
| } |
| } |
| |