Skip to content
etsi-nfv-vnf.yang 104 KiB
Newer Older
submodule etsi-nfv-vnf {
  yang-version 1.1;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
  belongs-to etsi-nfv-descriptors {
  include etsi-nfv-common;

  import ietf-inet-types {
    prefix inet;
  }
  import ietf-yang-types {
    prefix yang;
  }

  description
    "Models for VNFD according to GS NFV-IFA 011.";

Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
  revision 2019-10-01 {
    description
      "Version 2.7.1.

       Common data structures to support VNFD and NSD according to:
       ETSI GS NFV-IFA 014 Ed271v264
       ETSI GS NFV-IFA 011 Ed271v264";
  }
  revision 2019-03-18 {
    description
      "Initial revision.

       Common data structure to support VNFD according to:
       VNFD according to ETSI GS NFV-IFA 011 Ed261v254";
      "ETSI GS NFV-IFA 011 Ed261v254";
  }

  grouping virtual-network-interface-requirements {
    list virtual-network-interface-requirement {
      key "name";
      description
        "Specifies requirements on a virtual network interface
         realising the CPs instantiated from this CPD.";
      reference
        "GS NFV-IFA011: Section 7.1.6.4, VduCpd information
         element";

      leaf name {
        type string;
        description
          "Provides a human readable name for the requirement.";
        reference
          "GS NFV-IFA011: Section 7.1.6.6,
           VirtualNetworkInterfaceRequirements information element";
      }
      leaf description {
        type string;
        description
          "Provides a human readable description of the requirement.";
        reference
          "GS NFV-IFA011: Section 7.1.6.6,
           VirtualNetworkInterfaceRequirements information element";
      }
      leaf support-mandatory {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        default "false";
        type boolean;
        description
          "Indicates whether fulfilling the constraint is
           mandatory (true) for successful operation or desirable
           (false).";
        reference
          "GS NFV-IFA011: Section 7.1.6.6,
           VirtualNetworkInterfaceRequirements information element";
      }
      list network-interface-requirements {
        key "key";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        min-elements "1";
        max-elements "1";
        leaf key {
          type string;
        }
        leaf value {
          type string;
        }
        description
          "The network interface requirements. An element from an
           array of key-value pairs that articulate the network
           interface deployment requirements.";
        reference
          "GS NFV-IFA011: Section 7.1.6.6,
           VirtualNetworkInterfaceRequirements information element";
      }
    }
  }

  grouping vnfd {
    leaf id {
      type string;
      description
        "Identifier of this VNFD information element. This attribute
         shall be globally unique. The format will be defined in the
         data model specification phase.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf provider {
      type string;
      mandatory true;
      description
        "Provider of the VNF and of the VNFD";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf product-name {
      type string;
      mandatory true;
      description
        "Name to identify the VNF Product. Invariant for the VNF
         Product lifetime.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf software-version {
      type string;
      mandatory true;
      description
        "Software version of the VNF. This is changed when there is
         any change to the software that is included in the VNF
         Package";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf version {
      type string;
      mandatory true;
      description
        "Identifies the version of the VNFD";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf product-info-name {
      type string;
      description
        "Human readable name of the VNFD. Can change
         during the VNF Product lifetime.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf product-info-description {
      type string;
      description
        "Human readable description of the VNFD. Can change during
         the VNF Product lifetime.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf-list vnfm-info {
      type string;
      min-elements 1;
      description
        "Identifies VNFM(s) compatible with the VNF described in
         this version of the VNFD.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf localization-language {
      type string;
      description
        "Information about the language of the VNF.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    leaf default-localization-language {
      when "../localization-language";
      type string;
      description
        "Default localization language that is instantiated if no
         information about selected localization language is
         available. Shall be present if 'localization-language'
         is present and shall be absent otherwise.";
      reference
        "GS NFV-IFA011: Section 7.1.2, VNFD information element";
    }

    list vdu {
      key "id";
Loading full blame...