From a18c196cb82134df7c4020d5306a5b9674b5e7bb Mon Sep 17 00:00:00 2001 From: "ramu.n" Date: Thu, 21 Sep 2017 22:09:22 +0530 Subject: [PATCH] Fix VNF-API yang validation issues when validate VNF-API.yang with "pyang" has some issues Change-Id: I908a6bee90b24614f66df61afccf617a599b58db Issue-Id: SDNC-99 Signed-off-by: Ramu N --- vnfapi/model/src/main/yang/VNF-API.yang | 777 ++++++++++++++------------- vnfapi/model/src/main/yang/vnfsubmodule.yang | 397 +++++++------- 2 files changed, 592 insertions(+), 582 deletions(-) diff --git a/vnfapi/model/src/main/yang/VNF-API.yang b/vnfapi/model/src/main/yang/VNF-API.yang index 1b44413c..9b621aa2 100755 --- a/vnfapi/model/src/main/yang/VNF-API.yang +++ b/vnfapi/model/src/main/yang/VNF-API.yang @@ -22,14 +22,15 @@ module VNF-API { description "Initial draft"; } + // Last updated on 8-17-2016 - grouping sdnc-request-header { - container sdnc-request-header { - leaf svc-request-id { - type string; - } - leaf svc-action { - type enumeration { + grouping sdnc-request-header { + container sdnc-request-header { + leaf svc-request-id { + type string; + } + leaf svc-action { + type enumeration { enum "reserve"; enum "assign"; enum "activate"; // equal to commit @@ -37,21 +38,21 @@ module VNF-API { enum "changeassign"; enum "changedelete"; enum "rollback"; - } - } - leaf svc-notification-url { - type string; - } - } - } - - grouping request-information { - container request-information { - leaf request-id { - type string; - } - leaf request-action { - type enumeration { + } + } + leaf svc-notification-url { + type string; + } + } + } + + grouping request-information { + container request-information { + leaf request-id { + type string; + } + leaf request-action { + type enumeration { enum "PreloadNetworkRequest"; enum "DeletePreloadNetworkRequest"; enum "NetworkActivateRequest"; @@ -71,210 +72,211 @@ module VNF-API { enum "VfModuleActivateRequest"; enum "ChangeVfModuleActivateRequest"; enum "DisconnectVfModuleRequest"; - } - } - leaf request-sub-action { - type enumeration { + } + } + leaf request-sub-action { + type enumeration { enum "SUPP"; enum "CANCEL"; - } - } - leaf source { - type string; - } - leaf notification-url { - type string; - } - leaf order-number { - type string; - } - leaf order-version { - type string; - } - } - } - - grouping service-information { - container service-information { + } + } + leaf source { + type string; + } + leaf notification-url { + type string; + } + leaf order-number { + type string; + } + leaf order-version { + type string; + } + } + } + + grouping service-information { + container service-information { // 1610 use for AnAI subscription-service-type - leaf service-type { + leaf service-type { type string; description "AnAI subscription-service-type"; - } - leaf service-id { + } + leaf service-id { + type string; + } + leaf service-instance-id { type string; - } - leaf service-instance-id { - type string; description "A service instance that a VNF or a l3-network is associated with"; - } + } // 1610 use for global-customer-id - leaf subscriber-name { - type string; + leaf subscriber-name { + type string; description "AnAI global-customer-id"; - } - } - } + } + } + } - grouping vnf-request-information { - container vnf-request-information { + grouping vnf-request-information { + container vnf-request-information { leaf vnf-request-version { - type string; + type string; } leaf model-customization-uuid { - type string; + type string; description "customized resource, i.e. vf-module, for use within a given service"; } leaf use-preload { - type enumeration { + type enumeration { enum "Y"; enum "N"; } description "orchestrate vf-module with full preload data or TOSCA lookup plus EIPAM automation"; } leaf vnf-id { - type string; + type string; description "vf-module-id"; } - leaf vnf-type { - type string; + leaf vnf-type { + type string; description "vf-module-type"; - } - leaf vnf-name { - type string; + } + leaf vnf-name { + type string; description "vf-module-name"; - } + } leaf generic-vnf-id { - type string; + type string; description "generic vnf-id"; } - leaf generic-vnf-type { - type string; + leaf generic-vnf-type { + type string; description "generic vnf type"; - } - leaf generic-vnf-name { - type string; + } + leaf generic-vnf-name { + type string; description "generic vnf name"; - } - leaf tenant { - type string; - } - leaf aic-clli { - type string; - } - leaf aic-cloud-region { - type string; + } + leaf tenant { + type string; + } + leaf aic-clli { + type string; + } + leaf aic-cloud-region { + type string; description "The AIC cloud region which maps to contrail versions"; - } + } list vnf-networks { key network-role; uses vnf-network; description "Network List"; } } - } + } - grouping network-request-information { - container network-request-information { + grouping network-request-information { + container network-request-information { leaf network-id { - type string; - } - leaf network-type { - type string; - } - leaf network-name { - type string; - } - leaf tenant { - type string; - } - leaf aic-clli { - type string; - } - leaf aic-cloud-region { - type string; + type string; + } + leaf network-type { + type string; + } + leaf network-name { + type string; + } + leaf tenant { + type string; + } + leaf aic-clli { + type string; + } + leaf aic-cloud-region { + type string; description "The AIC cloud region which maps to contrail versions"; - } + } } - } + } /***********************************************************/ /* PRELOAD DATA */ /***********************************************************/ container preload-vnfs { - uses preload-model-information; - } - grouping preload-model-information { - list vnf-preload-list { - key "vnf-name vnf-type"; - leaf vnf-name { - type string; + uses preload-model-information; + } + grouping preload-model-information { + list vnf-preload-list { + key "vnf-name vnf-type"; + leaf vnf-name { + type string; description "vf-module-name"; - } - leaf vnf-type { - type string; + } + leaf vnf-type { + type string; description "vf-module-type"; - } - uses preload-data; - } - } + } + uses preload-data; + } + } // For preload networks it will have network-topology-information // For preload vnfs, it will have vnf-topology-information - grouping preload-data { - container preload-data { - uses vnf-topology-information; - uses network-topology-information; - uses oper-status; + grouping preload-data { + container preload-data { + uses vnf-topology-information; + uses network-topology-information; + uses oper-status; } - } + } - grouping vnf-topology-information { - container vnf-topology-information { + grouping vnf-topology-information { + container vnf-topology-information { uses vnf-topology-identifier; - uses vnf-assignments; - uses vnf-parameters; + uses vnf-assignments; + uses vnf-parameters; } - } + } - grouping vnf-topology-identifier { - container vnf-topology-identifier { - leaf service-type { + grouping vnf-topology-identifier { + container vnf-topology-identifier { + leaf service-type { type string; - } - leaf service-id { + } + leaf service-id { + type string; + } + leaf vnf-name { type string; - } - leaf vnf-name { - type string; description "vf-module-name"; - } - leaf vnf-type { - type string; + } + leaf vnf-type { + type string; description "vf-module-type"; - } - leaf generic-vnf-name { - type string; - } - leaf generic-vnf-type { - type string; - } - leaf generic-vnf-id { - type string; - } - } - } + } + leaf generic-vnf-name { + type string; + } + leaf generic-vnf-type { + type string; + } + leaf generic-vnf-id { + type string; + } + } + } grouping vnf-assignments { - container vnf-assignments { + container vnf-assignments { leaf vnf-status { type string; description "Orchestration Status from AAI - to be set by SDNC"; } list availability-zones { + key "availability-zone"; ordered-by user; leaf availability-zone { type string; @@ -290,25 +292,26 @@ module VNF-API { } uses vm-topology; } - } + } grouping vm-topology { list vnf-vms { key vm-type; - leaf vm-type { - type string; - } - leaf vm-count { - type uint8; - } + leaf vm-type { + type string; + } + leaf vm-count { + type uint8; + } list vm-names { + key "vm-name"; ordered-by user; - leaf vm-name{ - type string; - } + leaf vm-name { + type string; + } } //leaf-list vm-names { - // type string; + // type string; // ordered-by user; //} list vm-networks { @@ -320,24 +323,24 @@ module VNF-API { } grouping vnf-network { - leaf network-role { - type string; + leaf network-role { + type string; description "A Network Role to which a VNF must connect"; - } - leaf network-name { - type string; + } + leaf network-name { + type string; description "Unique Neutron UUID of an instance of the network role "; - } - leaf neutron-id { - type string; + } + leaf neutron-id { + type string; description "Unique Neutron UUID of an instance of the network role "; - } - leaf network-id { - type string; + } + leaf network-id { + type string; description "Unique Neutron UUID of an instance of the network role "; - } - leaf subnet-id { - type string; + } + leaf subnet-id { + type string; description "ipv4 subnet UUID to be passed into the HEAT template for DHCP assignment"; } leaf contrail-network-fqdn { @@ -345,16 +348,16 @@ module VNF-API { description "contrail network policy object"; } // 1610 - leaf ipv6-subnet-id { - type string; + leaf ipv6-subnet-id { + type string; description "ipv6 subnet UUID to be passed into the HEAT template for DHCP assignment"; } - leaf ipv6-subnet-name { - type string; + leaf ipv6-subnet-name { + type string; description "ipv6 subnet-name that corresponds to the ipv6 subnet-id"; } - leaf subnet-name { - type string; + leaf subnet-name { + type string; description "ipv4 subnet-name that corresponds to the ipv4 subnet-id"; } } @@ -362,6 +365,7 @@ module VNF-API { // 1610 grouping sriov-vlan-filter-list { list sriov-vlan-filter-list { + key "sriov-vlan-filter"; leaf sriov-vlan-filter { type string; } @@ -372,13 +376,13 @@ module VNF-API { leaf network-role { type string; description "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF"; - + } leaf use-dhcp { - type enumeration { + type enumeration { enum "Y"; enum "N"; - } + } description "Indicator to use DHCP on this network for this VM"; } leaf ip-count { @@ -386,6 +390,7 @@ module VNF-API { description "The number of ip addresses to be assigned per vm for this network role"; } list network-ips { + key "ip-address"; ordered-by user; leaf ip-address { //type string; @@ -394,6 +399,7 @@ module VNF-API { } } list network-ips-v6 { + key "ip-address-ipv6"; ordered-by user; leaf ip-address-ipv6 { //type string; @@ -402,6 +408,7 @@ module VNF-API { } } list network-macs { + key "mac-address"; ordered-by user; leaf mac-address { type string; @@ -419,6 +426,7 @@ module VNF-API { description "Floating ipv6 for VMs of a given type on this network"; } list interface-route-prefixes { + key "interface-route-prefix-cidr"; ordered-by user; leaf interface-route-prefix { type ietf:ip-address; @@ -434,47 +442,47 @@ module VNF-API { grouping vnf-parameters { list vnf-parameters { key vnf-parameter-name; - leaf vnf-parameter-name { - type string; + leaf vnf-parameter-name { + type string; description "The name of an arbitrary instance-specific vnf-parameters"; - } - leaf vnf-parameter-value { - type string; + } + leaf vnf-parameter-value { + type string; description "The value of an arbitrary instance-specific vnf-parameters "; - } + } } } - grouping network-topology-information { - container network-topology-information { + grouping network-topology-information { + container network-topology-information { uses network-topology-identifier; - uses subnets; - uses vpn-bindings; + uses subnets; + uses vpn-bindings; uses network-policy; uses route-table-reference; uses provider-network-information; } - } - - grouping network-topology-identifier { - container network-topology-identifier { - leaf service-type { - type string; - } - leaf network-name { - type string; - } - leaf network-role { - type string; - } - leaf network-type { - type string; - } - leaf network-technology{ - type string; - } - } - } + } + + grouping network-topology-identifier { + container network-topology-identifier { + leaf service-type { + type string; + } + leaf network-name { + type string; + } + leaf network-role { + type string; + } + leaf network-type { + type string; + } + leaf network-technology{ + type string; + } + } + } grouping subnets { list subnets { key start-address; @@ -508,9 +516,9 @@ module VNF-API { leaf subnet-name { type string; } - + } - } + } grouping vpn-bindings { list vpn-bindings { @@ -522,7 +530,7 @@ module VNF-API { type string; } } - } + } grouping network-policy { list network-policy { @@ -534,11 +542,12 @@ module VNF-API { type string; } } - } + } //1610 grouping route-table-reference { list route-table-reference { + key "route-table-reference-id"; leaf route-table-reference-id { type string; } @@ -570,46 +579,46 @@ module VNF-API { /* SERVICE_DATA */ /***********************************************************/ container vnfs { - uses vnf-model-infrastructure; - } - grouping vnf-model-infrastructure { - list vnf-list { - key vnf-id; - leaf vnf-id { - type string; - mandatory true; + uses vnf-model-infrastructure; + } + grouping vnf-model-infrastructure { + list vnf-list { + key vnf-id; + leaf vnf-id { + type string; + mandatory true; description "vf-module-id"; - } - uses service-data; - uses service-status; - } - } - grouping service-data { - container service-data { - uses vnf-configuration-information; - uses oper-status; - } - } - grouping service-status { - container service-status { - leaf response-code { - type string; - } - leaf response-message { - type string; - } - leaf final-indicator { - type string; - } - leaf request-status { - type enumeration { + } + uses service-data; + uses service-status; + } + } + grouping service-data { + container service-data { + uses vnf-configuration-information; + uses oper-status; + } + } + grouping service-status { + container service-status { + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf final-indicator { + type string; + } + leaf request-status { + type enumeration { enum "synccomplete"; enum "asynccomplete"; enum "notifycomplete"; - } - } - leaf vnfsdn-action { - type enumeration { + } + } + leaf vnfsdn-action { + type enumeration { enum "PreloadNetworkRequest"; enum "DeletePreloadNetworkRequest"; enum "NetworkActivateRequest"; @@ -629,26 +638,26 @@ module VNF-API { enum "VfModuleActivateRequest"; enum "ChangeVfModuleActivateRequest"; enum "DisconnectVfModuleRequest"; - } - } - leaf vnfsdn-subaction { - type enumeration { + } + } + leaf vnfsdn-subaction { + type enumeration { enum "SUPP"; enum "CANCEL"; - } + } } - leaf rpc-name { - type enumeration { + leaf rpc-name { + type enumeration { enum "vnf-topology-operation"; enum "preload-vnf-topology-operation"; enum "vnf-instance-topology-operation"; enum "preload-vnf-instance-topology-operation"; enum "vf-module-topology-operation"; enum "preload-vf-module-topology-operation"; - } - } - leaf rpc-action { - type enumeration { + } + } + leaf rpc-action { + type enumeration { enum "reserve"; enum "assign"; enum "activate"; // equal to commit @@ -656,75 +665,75 @@ module VNF-API { enum "changeassign"; enum "changedelete"; enum "rollback"; - } - } - leaf response-timestamp { - type string; - } - } - } - grouping vnf-configuration-information { - uses sdnc-request-header; - uses request-information; + } + } + leaf response-timestamp { + type string; + } + } + } + grouping vnf-configuration-information { + uses sdnc-request-header; + uses request-information; uses service-information; uses vnf-request-information; - uses vnf-topology; - } - grouping vnf-topology-response-body { - leaf svc-request-id { - type string; - } - leaf response-code { - type string; - } - leaf response-message { - type string; - } - leaf ack-final-indicator { - type string; - } - } - - grouping vnf-information { - container vnf-information { - leaf vnf-service-type { - type string; - } - leaf vnf-id { - type string; + uses vnf-topology; + } + grouping vnf-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + + grouping vnf-information { + container vnf-information { + leaf vnf-service-type { + type string; + } + leaf vnf-id { + type string; description "vf-module-id"; - } - } - } + } + } + } - grouping network-information { - container network-information { - leaf network-service-type { + grouping network-information { + container network-information { + leaf network-service-type { type string; - } - leaf network-id { - type string; - } - } - } + } + leaf network-id { + type string; + } + } + } // Carried over from l3sdn and potentially not needed - grouping oper-status { - container oper-status { - leaf order-status { - type enumeration { + grouping oper-status { + container oper-status { + leaf order-status { + type enumeration { enum "Active"; enum "PendingAssignment"; enum "PendingCreate"; enum "PendingUpdate"; enum "PendingDelete"; enum "Deleted"; - - } + + } } - leaf last-action { - type enumeration { + leaf last-action { + type enumeration { enum "VNFActivateRequest"; enum "ChangeVNFActivateRequest"; enum "VnfInstanceActivateRequest"; @@ -740,91 +749,91 @@ module VNF-API { enum "DeletePreloadVnfInstanceRequest"; enum "PreloadVfModuleRequest"; enum "DeletePreloadVfModuleRequest"; - } - } - leaf last-svc-request-id { - type string; - } - leaf last-order-status { - type enumeration { + } + } + leaf last-svc-request-id { + type string; + } + leaf last-order-status { + type enumeration { enum "Active"; enum "PendingAssignment"; enum "PendingCreate"; enum "PendingUpdate"; enum "PendingDelete"; enum "Deleted"; - } - } - leaf create-timestamp { - type string; - } - leaf modify-timestamp { - type string; - } - leaf maintenance-indicator { - type enumeration { + } + } + leaf create-timestamp { + type string; + } + leaf modify-timestamp { + type string; + } + leaf maintenance-indicator { + type enumeration { enum "Y"; enum "N"; - } - } - } - } - grouping vnf-topology { + } + } + } + } + grouping vnf-topology { leaf vnf-id { - type string; + type string; description "vf-module-id"; } - uses vnf-topology-information; - } - - + uses vnf-topology-information; + } + + rpc vnf-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses service-information; - uses vnf-request-information; - } - output { - uses vnf-topology-response-body; + uses vnf-request-information; + } + output { + uses vnf-topology-response-body; uses vnf-information; uses service-information; - } - } + } + } rpc network-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses service-information; - uses network-request-information; - } - output { - uses vnf-topology-response-body; + uses network-request-information; + } + output { + uses vnf-topology-response-body; uses network-information; uses service-information; - } - } + } + } rpc preload-vnf-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses vnf-topology-information; - } - output { - uses vnf-topology-response-body; - } + } + output { + uses vnf-topology-response-body; + } } rpc preload-network-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses network-topology-information; - } - output { - uses vnf-topology-response-body; - } + } + output { + uses vnf-topology-response-body; + } } } diff --git a/vnfapi/model/src/main/yang/vnfsubmodule.yang b/vnfapi/model/src/main/yang/vnfsubmodule.yang index 1c573d21..7899d52f 100755 --- a/vnfapi/model/src/main/yang/vnfsubmodule.yang +++ b/vnfapi/model/src/main/yang/vnfsubmodule.yang @@ -6,8 +6,8 @@ submodule vnfsubmodule { /********************************************/ /* vnf-instance */ /********************************************/ - grouping vnf-instance-request-information { - container vnf-instance-request-information { + grouping vnf-instance-request-information { + container vnf-instance-request-information { leaf request-version { type string; } @@ -19,7 +19,7 @@ submodule vnfsubmodule { description "List of vnf networks to override preload"; } } - } + } grouping region-identifier { leaf tenant { @@ -37,51 +37,51 @@ submodule vnfsubmodule { /***********************************************************/ container preload-vnf-instances { - uses preload-vnf-instance-model-information; - } - grouping preload-vnf-instance-model-information { - list vnf-instance-preload-list { - key "vnf-instance-name vnf-model-id"; - leaf vnf-instance-name { - type string; + uses preload-vnf-instance-model-information; + } + grouping preload-vnf-instance-model-information { + list vnf-instance-preload-list { + key "vnf-instance-name vnf-model-id"; + leaf vnf-instance-name { + type string; description "vnf-instance-name, aka generic-vnf-name"; - } - leaf vnf-model-id { - type string; + } + leaf vnf-model-id { + type string; description "vnf-model-id, aka generic-vnf-type"; - } - uses vnf-instance-preload-data; - } - } + } + uses vnf-instance-preload-data; + } + } - grouping vnf-instance-preload-data { - container vnf-instance-preload-data { - uses vnf-instance-topology-information; - uses vnfapi:oper-status; + grouping vnf-instance-preload-data { + container vnf-instance-preload-data { + uses vnf-instance-topology-information; + uses vnfapi:oper-status; } - } + } - grouping vnf-instance-topology-information { - container vnf-instance-topology-information { + grouping vnf-instance-topology-information { + container vnf-instance-topology-information { uses vnf-instance-identifiers; - uses vnfapi:service-information; - uses vnfapi:vnf-assignments; - uses vnfapi:vnf-parameters; + uses vnfapi:service-information; + uses vnfapi:vnf-assignments; + uses vnfapi:vnf-parameters; } - } + } // This is used by MSO request for assign,rollback,activate,delete, etc - grouping vnf-instance-topology-identifier { - leaf vnf-instance-name { - type string; - } - leaf vnf-model-id { - type string; - } - leaf vnf-instance-id { - type string; - } - } + grouping vnf-instance-topology-identifier { + leaf vnf-instance-name { + type string; + } + leaf vnf-model-id { + type string; + } + leaf vnf-instance-id { + type string; + } + } // container used in preload identifiers grouping vnf-instance-identifiers { @@ -94,20 +94,20 @@ submodule vnfsubmodule { /* SERVICE_DATA - vnf-instance */ /***********************************************************/ container vnf-instances { - uses vnf-instance-model-infrastructure; - } - grouping vnf-instance-model-infrastructure { - list vnf-instance-list { - key vnf-instance-id; - leaf vnf-instance-id { - type string; - mandatory true; + uses vnf-instance-model-infrastructure; + } + grouping vnf-instance-model-infrastructure { + list vnf-instance-list { + key vnf-instance-id; + leaf vnf-instance-id { + type string; + mandatory true; description "generic-vnf-id"; - } + } uses vnf-instance-service-data; - uses vnfapi:service-status; - } - } + uses vnfapi:service-status; + } + } grouping vnf-instance-service-data { container vnf-instance-service-data { @@ -117,16 +117,17 @@ submodule vnfsubmodule { } } - grouping vnf-instance-configuration-information { - uses vnfapi:sdnc-request-header; - uses vnfapi:request-information; + grouping vnf-instance-configuration-information { + uses vnfapi:sdnc-request-header; + uses vnfapi:request-information; uses vnfapi:service-information; uses vnf-instance-request-information; - uses vnf-instance-topology; - } + uses vnf-instance-topology; + } grouping vf-module-relationship-list { list vf-module-relationship-list { + key "vf-module-id"; leaf vf-module-id { type string; description "vf-module-id"; @@ -134,74 +135,74 @@ submodule vnfsubmodule { } } - grouping vnf-instance-topology-response-body { - leaf svc-request-id { - type string; - } - leaf response-code { - type string; - } - leaf response-message { - type string; - } - leaf ack-final-indicator { - type string; - } - } - - grouping vnf-instance-information { - container vnf-instance-information { - leaf vnf-instance-id { - type string; + grouping vnf-instance-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + + grouping vnf-instance-information { + container vnf-instance-information { + leaf vnf-instance-id { + type string; description "vnf-instance-id"; - } - } - } + } + } + } - grouping vnf-instance-topology { + grouping vnf-instance-topology { leaf vnf-instance-id { - type string; + type string; description "vnf-instance-id"; } - uses vnf-instance-topology-information; - } - - + uses vnf-instance-topology-information; + } + + rpc vnf-instance-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses service-information; - uses vnf-instance-request-information; - } - output { - uses vnf-instance-topology-response-body; + uses vnf-instance-request-information; + } + output { + uses vnf-instance-topology-response-body; uses vnf-instance-information; uses service-information; - } - } + } + } rpc preload-vnf-instance-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses vnf-instance-topology-information; - } - output { - uses vnf-instance-topology-response-body; - } + } + output { + uses vnf-instance-topology-response-body; + } } /********************************************/ /* vf-module */ /********************************************/ - grouping vf-module-request-information { - container vf-module-request-information { + grouping vf-module-request-information { + container vf-module-request-information { uses vnf-instance-topology-identifier; uses region-identifier; uses vf-module-topology-identifier; } - } + } grouping vf-module-identifiers { container vf-module-identifiers { @@ -211,146 +212,146 @@ submodule vnfsubmodule { grouping vf-module-topology-identifier { leaf vf-module-id { - type string; + type string; description "vf-module id"; } - leaf vf-module-name { - type string; + leaf vf-module-name { + type string; description "vf-module-name"; - } - leaf vf-module-model-id { - type string; + } + leaf vf-module-model-id { + type string; description "vf-module-type"; } - } + } /***********************************************************/ /* PRELOAD DATA - vfmodule */ /***********************************************************/ container preload-vf-modules { - uses preload-vf-module-model-information; - } - - grouping preload-vf-module-model-information { - list vf-module-preload-list { - key "vf-module-name vf-module-model-id"; - leaf vf-module-name { - type string; + uses preload-vf-module-model-information; + } + + grouping preload-vf-module-model-information { + list vf-module-preload-list { + key "vf-module-name vf-module-model-id"; + leaf vf-module-name { + type string; description "vf-module-name"; - } - leaf vf-module-model-id { - type string; + } + leaf vf-module-model-id { + type string; description "vf-module-type"; - } - uses vf-module-preload-data; - } - } + } + uses vf-module-preload-data; + } + } - grouping vf-module-preload-data { - container vf-module-preload-data { - uses vf-module-topology-information; - uses vnfapi:oper-status; + grouping vf-module-preload-data { + container vf-module-preload-data { + uses vf-module-topology-information; + uses vnfapi:oper-status; } - } + } - grouping vf-module-topology-information { - container vf-module-topology-information { + grouping vf-module-topology-information { + container vf-module-topology-information { uses vf-module-identifiers; - uses vnfapi:vnf-assignments; - uses vnfapi:vnf-parameters; + uses vnfapi:vnf-assignments; + uses vnfapi:vnf-parameters; } - } + } /***********************************************************/ /* SERVICE_DATA - vfmodule */ /***********************************************************/ container vf-modules { - uses vf-module-model-infrastructure; - } - grouping vf-module-model-infrastructure { - list vf-module-list { - key vf-module-id; - leaf vf-module-id { - type string; - mandatory true; + uses vf-module-model-infrastructure; + } + grouping vf-module-model-infrastructure { + list vf-module-list { + key vf-module-id; + leaf vf-module-id { + type string; + mandatory true; description "vf-module-id"; - } + } uses vf-module-service-data; - uses vnfapi:service-status; - } - } + uses vnfapi:service-status; + } + } grouping vf-module-service-data { container vf-module-service-data { uses vf-module-configuration-information; uses vnfapi:oper-status; } - } + } - grouping vf-module-configuration-information { - uses vnfapi:sdnc-request-header; - uses vnfapi:request-information; + grouping vf-module-configuration-information { + uses vnfapi:sdnc-request-header; + uses vnfapi:request-information; uses vnfapi:service-information; uses vf-module-request-information; - uses vf-module-topology; - } - - grouping vf-module-topology-response-body { - leaf svc-request-id { - type string; - } - leaf response-code { - type string; - } - leaf response-message { - type string; - } - leaf ack-final-indicator { - type string; - } - } - - grouping vf-module-information { - container vf-module-information { - leaf vf-module-id { - type string; + uses vf-module-topology; + } + + grouping vf-module-topology-response-body { + leaf svc-request-id { + type string; + } + leaf response-code { + type string; + } + leaf response-message { + type string; + } + leaf ack-final-indicator { + type string; + } + } + + grouping vf-module-information { + container vf-module-information { + leaf vf-module-id { + type string; description "vf-module-id"; - } - } - } + } + } + } - grouping vf-module-topology { + grouping vf-module-topology { leaf vf-module-id { - type string; + type string; description "vf-module-id"; } - uses vf-module-topology-information; - } - - + uses vf-module-topology-information; + } + + rpc vf-module-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses service-information; - uses vf-module-request-information; - } - output { - uses vf-module-topology-response-body; + uses vf-module-request-information; + } + output { + uses vf-module-topology-response-body; uses vf-module-information; uses service-information; - } - } + } + } rpc preload-vf-module-topology-operation { - input { - uses sdnc-request-header; - uses request-information; + input { + uses sdnc-request-header; + uses request-information; uses vf-module-topology-information; - } - output { - uses vf-module-topology-response-body; - } + } + output { + uses vf-module-topology-response-body; + } } } -- 2.16.6