+++ /dev/null
-/*
- Copyright 2020 Whitestack LLC
-
- 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 kdu {
- yang-version 1.1;
- namespace "urn:etsi:osm:yang:augments:kdu";
- prefix "kdu";
-
- import etsi-nfv-vnfd {
- prefix vnfd;
- }
-
- import common-augments {
- prefix common;
- }
-
- grouping extended-ext-cpd {
- leaf k8s-cluster-net {
- description
- "Reference to the K8s cluster network
- to which CPs instantiated from this external CP
- Descriptor (CPD) connect.";
- type leafref {
- path "/vnfd:vnfd/kdu:k8s-cluster/kdu:nets/kdu:id";
- }
- }
- }
-
- grouping extended-kdu-configuration {
- list kdu-configuration {
- key "id";
- leaf id {
- description
- "Internal identifier for the KDU configuration";
- type string;
- }
- uses common:vnfc-configuration;
- uses common:vdu-config-access;
-
- leaf-list blacklist-config-primitive {
- description
- "List of blacklisted config primitives from the list of
- default kdu config primitives";
-
- type enumeration {
- enum upgrade;
- enum rollback;
- }
- }
- }
- }
-
- grouping extended-kdu-model {
- list kdu-model {
- key "id";
-
- leaf id {
- description
- "Internal identifier for the KDU model";
- type string;
- }
-
- leaf kdu-model-type {
- description
- "Indicates the KDU model, either as a helm-chart or as a juju-bundle.";
-
- type enumeration {
- enum helm-chart;
- enum juju-bundle;
- }
- }
-
- leaf kdu-model-locator {
- description
- "Indicates the KDU model location, either as a path to a folder in the
- package or as a URL where to fetch the model.";
-
- type string;
- }
- }
- }
-
- grouping extended-kdu {
- list kdu {
- description
- "List of K8s Deployment Units";
- key "name";
-
- leaf name {
- description
- "Unique name for the KDU";
- type string;
- }
-
- leaf description {
- description
- "Description of the KDU.";
- type string;
- }
- }
-
- container k8s-cluster {
- leaf-list version {
- description
- "List of supported K8s versions.
- The cluster where the KDUs will be deployed will have to match
- one of these versions.";
-
- type string;
- }
-
- leaf-list cni {
- description
- "List of supported CNI plugins.
- The cluster where the KDUs will be deployed will have to use
- one of these CNI plugins.";
-
- type enumeration {
- enum calico;
- enum flannel;
- enum multus;
- }
- }
-
- list nets {
- description
- "List of required networks in the K8s cluster.
- The cluster where the KDUs will be deployed will have to use
- one of these CNI plugins.";
-
- key "id";
-
- leaf id {
- description
- "Internal identifier for the K8s cluster network in this VNF";
- type string;
- }
- }
- }
- }
-
- augment "/vnfd:vnfd" {
- uses extended-kdu;
- uses extended-kdu-configuration;
- uses extended-kdu-model;
- }
-
- augment "/vnfd:vnfd/vnfd:ext-cpd/vnfd:cp-connection" {
- uses extended-ext-cpd;
- }
-}
\ No newline at end of file