From 3f570691f8d2230d6d49c87815f628077fd6ef58 Mon Sep 17 00:00:00 2001
From: Matias Richart <mrichart@fing.edu.uy>
Date: Thu, 17 Nov 2022 17:43:00 -0300
Subject: [PATCH] Agrego hypervisor al modelo

---
 ietf-dcpop-dc@2022-07-11.yang | 121 ++++++++++++++++++++++++++++++++--
 1 file changed, 115 insertions(+), 6 deletions(-)

diff --git a/ietf-dcpop-dc@2022-07-11.yang b/ietf-dcpop-dc@2022-07-11.yang
index 15de4ab..e1cfd13 100644
--- a/ietf-dcpop-dc@2022-07-11.yang
+++ b/ietf-dcpop-dc@2022-07-11.yang
@@ -50,7 +50,7 @@ module ietf-dcpop-dc {
       "Draft-ietf-teas-actn-vn-yang-16: YANG module for the VN";
   }
 
- organization
+  organization
     "IETF Traffic Engineering Architecture and Signaling (TEAS)
      Working Group";
   contact
@@ -80,7 +80,7 @@ module ietf-dcpop-dc {
      described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
      they appear in all capitals, as shown here.";
 
- revision 2022-11-16 {
+  revision 2022-07-11 {
     description
       "initial version.";
     reference
@@ -98,7 +98,19 @@ module ietf-dcpop-dc {
 
   /* Typedef */
 
- typedef dc-id {
+  typedef dc-id {
+    type string;
+    description
+      "Defines a type of datacenter (dc) identifier.";
+  }
+
+  typedef hyp-id {
+    type string;
+    description
+      "Defines a type of datacenter (dc) identifier.";
+  }
+
+  typedef instance-id {
     type string;
     description
       "Defines a type of datacenter (dc) identifier.";
@@ -107,7 +119,7 @@ module ietf-dcpop-dc {
 
 /* Groupings */
 
- grouping datacenter {
+  grouping datacenter {
     description
       "Datacenter related information";
     leaf dc-id {
@@ -116,16 +128,113 @@ module ietf-dcpop-dc {
         "A unique identifier for the referred datacenter";
     }
 
-leaf-list ap {
+    list hypervisor{
+      key "hyp-id";
+      description
+        "access-point identifier";
+      uses hypervisor {
+        description
+          "The access-point information";
+      }
+    }
+
+    leaf-list ap {
       type leafref {
         path "/actn-vn:access-point/actn-vn:ap/actn-vn:ap-id";
       }
       description
         "A reference to the PE node in the native TE Topology";
     }
+  } //datacenter
 
+  grouping hypervisor {
+    description
+      "Hypervisor related information";
+    container ram {
+      description
+        "The RAM characteristics of the DC";
+      leaf total {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf used {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf free {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }  
+    }
+    container disk {
+      description
+        "The RAM characteristics of the DC";
+      leaf total {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf used {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf free {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }  
+    }
+    container vcpu {
+      description
+        "The RAM characteristics of the DC";
+      leaf total {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf used {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }
+      leaf free {
+        type uint32;
+        description
+          "A unique identifier for the referred hypervisor";
+      }  
+    }
+    leaf-list instance {
+      type leafref {
+        path "/dcpop/dc/instance/id";
+      }
+      description
+        "A reference to the PE node in the native TE Topology";
+    }
+    leaf hyp-id {
+      type hyp-id;
+      description
+        "A unique identifier for the referred hypervisor";
+    }
+    leaf name {
+      type string;
+      description
+        "A unique identifier for the referred hypervisor";
+    }
+  } //hypervisor
 
-  } //datacenter
+  grouping instance {
+    description
+      "Instance related information";
+    leaf instance-id {
+      type instance-id;
+      description
+        "A unique identifier for the referred hypervisor";
+    }
+  } //instance
 
 
 /* Configuration data nodes */
-- 
GitLab