| |
| /* |
| * |
| * Copyright 2016 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 rw-vnfd |
| { |
| namespace "http://riftio.com/ns/riftware-1.0/rw-vnfd"; |
| prefix "rw-vnfd"; |
| |
| import vnfd { |
| prefix "vnfd"; |
| } |
| |
| import rwvcs-types { |
| prefix "rwvcstypes"; |
| } |
| |
| import rw-pb-ext { prefix "rwpb"; } |
| |
| import ietf-yang-types { |
| prefix "yang"; |
| } |
| |
| import mano-types { |
| prefix "manotypes"; |
| } |
| |
| revision 2015-09-10 { |
| description |
| "Initial revision. This YANG file augments |
| the base MANO VNFD"; |
| reference |
| "Derived from earlier versions of base YANG files"; |
| } |
| |
| augment /vnfd:vnfd-catalog/vnfd:vnfd { |
| uses manotypes:control-param; |
| uses manotypes:action-param; |
| leaf meta { |
| description |
| "Any meta-data needed by the UI"; |
| type string; |
| } |
| list component { |
| description |
| "This section defines the RIFT.ware |
| virtual components"; |
| key "component-name"; |
| rwpb:msg-new VcsComponent; |
| rwpb:application-request-point; |
| |
| leaf component-name { |
| description ""; |
| type string; |
| } |
| |
| leaf component-type { |
| description ""; |
| type rwvcstypes:component_type; |
| mandatory true; |
| } |
| |
| choice component { |
| case rwvcs-rwcollection { |
| uses rwvcstypes:rwvcs-rwcollection; |
| } |
| case rwvcs-rwvm { |
| uses rwvcstypes:rwvcs-rwvm; |
| } |
| case rwvcs-rwproc { |
| uses rwvcstypes:rwvcs-rwproc; |
| } |
| case native-proc { |
| uses rwvcstypes:native-proc; |
| } |
| case rwvcs-rwtasklet { |
| uses rwvcstypes:rwvcs-rwtasklet; |
| } |
| } |
| } // list component |
| } |
| |
| augment /vnfd:vnfd-catalog/vnfd:vnfd/vnfd:vdu { |
| leaf vcs-component-ref { |
| description |
| "This defines the software components using the |
| RIFT.ware Virtual Component System (VCS). This |
| also allows specifying a state machine during |
| the VM startup. |
| NOTE: This is an significant addition to MANO, |
| since MANO doesn't clearly specify a method to |
| identify various software components in a VM. |
| Also using a state machine is not something that |
| is well described in MANO."; |
| type leafref { |
| path "/vnfd:vnfd-catalog/vnfd:vnfd/rw-vnfd:component/rw-vnfd:component-name"; |
| } |
| } |
| } |
| } |
| // vim: sw=2 |