diff --git a/example-data/nfv.xml b/example-data/nfv.xml
index f159e07562f930303171f37c37015e1d5ec68573..b397e0c93139212c3844c78618f2da06e4d0d2dc 100644
--- a/example-data/nfv.xml
+++ b/example-data/nfv.xml
@@ -36,7 +36,7 @@
asa-vsd
- root
+ root-storage
0
@@ -131,7 +131,7 @@
csr-vsd
- root
+ root-storage
0
diff --git a/src/yang/etsi-nfv-common.yang b/src/yang/etsi-nfv-common.yang
index d8c903780b03793e2e914b0741323951ca21e2eb..252959930eac9a9d9eee2dc6b8ccd8590815dd30 100644
--- a/src/yang/etsi-nfv-common.yang
+++ b/src/yang/etsi-nfv-common.yang
@@ -216,7 +216,30 @@ submodule etsi-nfv-common {
reference
"GS NFV IFA011: Section 7.1.6.10 Checksum information element.";
}
-
+
+ identity storage-type {
+ description
+ "Base type of storage that identities can derive from.";
+ }
+
+ identity root-storage {
+ base storage-type;
+ description
+ "Root type of storage.";
+ }
+
+ identity swap-storage {
+ base storage-type;
+ description
+ "Swap type of storage.";
+ }
+
+ identity ephemeral-storage {
+ base storage-type;
+ description
+ "Ephemeral type of storage.";
+ }
+
/*
* Typedefs
*/
diff --git a/src/yang/etsi-nfv-vnf.yang b/src/yang/etsi-nfv-vnf.yang
index 8ed449e68debe47fd7249dbb0068949bf142cc79..2e2a0ba8ec6faba020db739d591bf434d58c9eb5 100755
--- a/src/yang/etsi-nfv-vnf.yang
+++ b/src/yang/etsi-nfv-vnf.yang
@@ -727,12 +727,10 @@ submodule etsi-nfv-vnf {
leaf type-of-storage {
// Needed to be able to onboard images
- type enumeration {
- enum "root";
- enum "swap";
- enum "ephemeral";
- }
- default "root";
+ default "root-storage";
+ type identityref {
+ base storage-type;
+ }
description
"Type of virtualised storage resource (e.g. volume,
object).";