blob: 29eb852f9bfd1941219deb235b65ab1108b563b4 [file] [log] [blame]
/*
*
* 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