Skip to content
etsi-nfv-ns.yang 58.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.";

  revision 2022-03-08 {
    description
      "Version 3.6.1.

       NSD according to ETSI GS NFV-IFA 014 Release 3.";
  }

  revision 2021-07-05 {
    description
      "Version 3.5.1.

       NSD according to ETSI GS NFV-IFA 014 Release 3.";
  }

Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
    description
       NSD according to ETSI GS NFV-IFA 014 Release 3.";
  revision 2020-06-01 {
    description
      "Version 2.8.1.

       NSD according to ETSI GS NFV-IFA 014 271.";
  }

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

       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 the rule.
           Values:
             • AFFINITY
             • ANTI_AFFINITY.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        reference
          "GS NFV IFA014: Section 6.3.8.2,
           LocalAffinityOrAntiAffinityRule information element.";
      }

      leaf scope {
        type affinity-scope;
        description
          "Specifies the scope of the rule.
           Values:
             • NFVI_POP
             • ZONE
             • ZONE_GROUP
             • NFVI_NODE
             • etc.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
        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";
      choice cpd-or-virtual-link {
        leaf virtual-link-desc {
          type leafref {
            path "../../virtual-link-desc/id";
Loading
Loading full blame…