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

  description
    "Models for NS according to ETSI GS NFV-IFA 014.";

Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
  revision 2020-02-11 {
    description
      "Version 3.3.1

       Common data structures to support NSD according to:
       ETSI GS NFV-IFA 014 Ed341v333.";
  }

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

Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
       Common data structures to support NSD according to:
       ETSI GS NFV-IFA 014 Ed271v264.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
  }
  revision 2019-04-25 {
    description
      "Initial revision
       Common data structure to support NSD according to:
       ETSI GS NFV-IFA 014 Ed261v252";
    reference
      "ETSI GS NFV-IFA 014 Ed261v252";
  }

  grouping resource-handle {
    leaf vim-id {
      type string;
    }
    leaf resource-provider-id {
      type string;
    }
    leaf resource-id {
      type string;
    }
  }

Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
  grouping ns-local-affinity-or-anti-affinity-rule {
    list local-affinity-or-anti-affinity-rule {
      key "type scope";

      leaf type {
        type affinity-type;
        description
          "Specifies whether the rule is an affinity rule or an
           anti-affinity rule.";
        reference
          "GS NFV IFA014: Section 6.3.8.2,
           LocalAffinityOrAntiAffinityRule information element.";
      }

      leaf scope {
        type affinity-scope;
        description
          "Specifies the scope of the rule, possible values are
           'NFVI-PoP', 'Zone', 'ZoneGroup', 'NFVI-node'.";
        reference
          "GS NFV IFA014: Section 6.3.8.2,
           LocalAffinityOrAntiAffinityRule information element.";
      }
    }
  }
  grouping nsd {
    leaf id {
      type string;
      description
        "Identifier of this NSD information element. It Globally
         uniquely identifies an instance of the NSD.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }
    leaf designer {
      type string;
      description
        "Identifies the designer of the NSD.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }

    leaf version {
      type string;
      description
        "Identifies the version of the NSD.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }

    leaf name {
      type string;
      description
        "Provides the human readable name of the NSD.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }

    leaf invariant-id {
      type string;
      description
        "Identifies an NSD in a version independent manner. This
         attribute is invariant across versions of the network
         service descriptor.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }

    leaf-list nested-nsd-id {
      must ". != ../id";
      type leafref {
        path "../../nsd/id";
      description
        "References the NSD of a constituent nested NS.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }
    leaf-list vnfd-id {
      type leafref {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        path "/nfv:nfv/nfv:vnfd/nfv:id";
      description
        "References the VNFD of a constituent VNF.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }
    leaf-list pnfd-id {
      type leafref {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        path "/nfv:nfv/nfv:pnfd/nfv:id";
      description
        "References the PNFD of a constituent PNF.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
    }

    list sapd {
      key "id";
      description
        "Provides the descriptor of a service access point of the
         network service.";
      reference
        "GS NFV IFA014: Section 6.2.2.2 Network Service Descriptor
         information element";
      leaf id {
        type string;
          "Identifier of this Cpd information element.";
          "GS NFV IFA014: Section 6.6.3.1 Cpd information element";
      leaf address-assignment {
        type boolean;
        description
          "Specify whether the SAP address assignment is under the
           responsibility of management and orchestration functions
           or not. If it is set to True, management and
           orchestration functions are responsible for assigning
           addresses to the access points instantiated from this
           SAPD.";
          "GS NFV IFA014: Section 6.2.3.2 Sapd information element";
      }
      choice cpd-or-virtual-link {
        leaf virtual-link-desc {
          type leafref {
            path "../../virtual-link-desc/id";
          }
          description
            "References the descriptor of the NS VL instance to
             which the SAP instantiated from this SAPD connects to.";
          reference
            "GS NFV IFA014: Section 6.2.3.2 Sapd information element";
Loading full blame...