netconfcentral logo

ietf-nvo-vpn@2016-10-24



  module ietf-nvo-vpn {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-nvo-vpn";

    prefix VPN;

    import ietf-yang-types {
      prefix yang;
    }
    import ietf-nvo-common-types {
      prefix CommonTypes;
    }
    import ietf-nvo-tp {
      prefix TP;
    }
    import ietf-nvo-vpn-types {
      prefix VPNTypes;
    }

    organization "";

    contact "";

    description "ietf-nvo-vpn";

    revision "2016-10-24" {
      reference
        "draft-chen-opsawg-composite-vpn-dm-00";

    }


    container nvoVPNMgr {
      description "";
      list composedVPNs {
        key "id";
        description "";
        uses VPN:ComposedVPN;
      }  // list composedVPNs
    }  // container nvoVPNMgr

    grouping ComposedVPN {
      description "ComposedVPN Grouping.";
      leaf id {
        type yang:uuid;
        description "UUID-STR for service .";
      }

      leaf name {
        type string {
          length "0..200";
        }
        description
          "Human-readable name for the service.";
      }

      leaf description {
        type string {
          length "0..200";
        }
        description
          "Detailed specification for the servcie.";
      }

      leaf tenantId {
        type yang:uuid;
        description "UUID-STR for tenant.";
      }

      leaf businessTypeID {
        type yang:uuid;
        description "business Type Name";
      }

      container vpnBasicInfo {
        description "VPN BASIC INFO";
        uses VPNTypes:VPNBasicInfo;
      }  // container vpnBasicInfo

      leaf operStatus {
        type CommonTypes:OperStatus;
        config false;
        description "Operational status.";
      }

      leaf syncStatus {
        type CommonTypes:SyncStatus;
        config false;
        description "Sync status.";
      }

      leaf startTime {
        type yang:date-and-time;
        description
          "Service lifecycle: request for service start
            time.";
      }

      list segVpnList {
        key "index";
        description "SegVpn list ";
        uses VPN:SegmentVPN;
      }  // list segVpnList

      list accessPointList {
        key "id";
        description
          "TP list of the access links which associated
            with CE and PE";
        uses TP:Tp;
      }  // list accessPointList
    }  // grouping ComposedVPN

    grouping SegmentVPN {
      description "SegmentVPN Grouping.";
      leaf index {
        type uint32;
        description
          "index of segment VPN in a composed VPN.";
      }

      leaf vpnType {
        type string {
          length "0..30";
        }
        description "value: nop/wanVpn";
      }

      leaf vpnRole {
        type VPNTypes:ProtectionRole;
        description "value: nop|vpn";
      }

      container vpnInfo {
        description "vpn information";
        choice vpnType {
          description "vpn type.";
          container vpn {
            description "vpn.";
            uses VPN:VPN;
          }  // container vpn
        }  // choice vpnType
      }  // container vpnInfo
    }  // grouping SegmentVPN

    grouping VPN {
      description "VPN Grouping.";
      leaf id {
        type yang:uuid;
        description "UUID-STR for VPN.";
      }

      leaf name {
        type string {
          length "0..200";
        }
        description
          "Human-readable name for the service.";
      }

      leaf description {
        type string {
          length "0..200";
        }
        description
          "Detailed specification for the servcie.";
      }

      container vpnBasicInfo {
        description "vpn basic info";
        uses VPNTypes:VPNBasicInfo;
      }  // container vpnBasicInfo

      leaf operStatus {
        type CommonTypes:OperStatus;
        config false;
        description "Operational status.";
      }

      leaf syncStatus {
        type CommonTypes:SyncStatus;
        config false;
        description "Sync status.";
      }

      list accessPointList {
        key "id";
        description
          "TP list of the access links which associated
            with CE and PE";
        uses TP:Tp;
      }  // list accessPointList
    }  // grouping VPN
  }  // module ietf-nvo-vpn