1 module GENERIC-RESOURCE-API {
\r
3 namespace "org:onap:sdnc:northbound:generic-resource";
\r
5 prefix generic-resource-api;
\r
7 import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }
\r
9 import ietf-yang-types { prefix yang; }
\r
11 revision "2017-08-24" {
\r
13 "ONAP Amsterdam version";
\r
16 grouping service-model-infrastructure {
\r
18 key "service-instance-id";
\r
19 leaf service-instance-id {
\r
20 description "Keep as M";
\r
25 uses service-status;
\r
28 grouping service-data {
\r
29 container service-data {
\r
30 uses service-operation-information;
\r
31 uses service-topology;
\r
32 uses service-level-oper-status;
\r
33 container networks {
\r
40 container network-data {
\r
41 uses network-operation-information;
\r
42 uses network-topology;
\r
43 container network-provided-allotted-resources {
\r
44 leaf-list network-provided-ar-id {
\r
45 description "List of allotted resources using capacity from this network";
\r
50 uses network-level-oper-status;
\r
61 container vnf-data {
\r
62 uses vnf-operation-information;
\r
64 container vnf-provided-allotted-resources {
\r
65 leaf-list vnf-provided-ar-id {
\r
66 description "List of allotted resources using capacity from this vnf";
\r
71 uses vnf-level-oper-status;
\r
72 container vf-modules {
\r
79 container vf-module-data {
\r
80 uses vf-module-operation-information;
\r
81 uses vf-module-topology;
\r
82 uses vf-module-level-oper-status;
\r
89 container consumed-allotted-resources {
\r
90 list consumed-allotted-resource {
\r
91 key "allotted-resource-id";
\r
92 uses allotted-resource-info;
\r
95 container provided-allotted-resources {
\r
96 list provided-allotted-resource {
\r
97 key "allotted-resource-id";
\r
98 uses allotted-resource-info;
\r
103 grouping service-status {
\r
104 container service-status {
\r
105 leaf response-code {
\r
108 leaf response-message {
\r
111 leaf final-indicator {
\r
114 leaf request-status {
\r
116 enum "synccomplete";
\r
117 enum "asynccomplete";
\r
118 enum "notifycomplete";
\r
122 description "value would one of possible request-actions; match the list in service-data oper-status";
\r
129 description "this is the svc-action from the incoming request";
\r
139 leaf response-timestamp {
\r
144 grouping service-operation-information {
\r
145 uses sdnc-request-header;
\r
146 uses request-information;
\r
147 uses service-information;
\r
148 uses service-request-input;
\r
150 grouping service-request-input {
\r
151 container service-request-input {
\r
152 leaf service-instance-name {
\r
155 container service-input-parameters {
\r
160 grouping service-topology {
\r
161 container service-topology {
\r
162 uses service-topology-identifier;
\r
163 uses ecomp-model-information;
\r
164 uses service-assignments;
\r
165 uses service-parameters;
\r
168 grouping service-topology-identifier {
\r
169 container service-topology-identifier {
\r
170 leaf service-instance-id {
\r
171 description "repeated";
\r
174 leaf service-type {
\r
175 description "tag labeled subscription-service-type in the service-information input";
\r
179 description "from MSO input on STO assign";
\r
182 leaf service-instance-name {
\r
183 description "optionally comes from service-request-input container or is assigned by sdn-c";
\r
186 leaf global-customer-id {
\r
191 grouping service-assignments {
\r
192 container service-assignments {
\r
195 grouping service-parameters {
\r
196 container service-parameters {
\r
197 list service-parameter {
\r
198 key "service-parameter-name";
\r
199 leaf service-parameter-name {
\r
202 leaf service-parameter-value {
\r
208 grouping service-level-oper-status {
\r
209 container service-level-oper-status {
\r
210 uses oper-status-data;
\r
213 grouping network-operation-information {
\r
214 uses sdnc-request-header;
\r
215 uses request-information;
\r
216 uses service-information;
\r
217 uses network-information;
\r
218 uses network-request-input;
\r
220 grouping network-information {
\r
221 container network-information {
\r
225 leaf network-type {
\r
228 uses ecomp-model-information;
\r
231 grouping network-request-input {
\r
232 container network-request-input {
\r
233 leaf network-name {
\r
236 uses region-identifier;
\r
237 container network-input-parameters {
\r
242 grouping network-topology {
\r
243 container network-topology {
\r
244 uses network-topology-identifier-structure;
\r
245 uses region-identifier;
\r
246 uses ecomp-model-information;
\r
247 uses network-assignments;
\r
248 uses network-parameters;
\r
251 grouping network-topology-identifier-structure {
\r
252 container network-topology-identifier-structure {
\r
256 leaf network-name {
\r
259 leaf network-role {
\r
262 leaf network-type {
\r
265 leaf network-technology {
\r
266 description "should we keep this?";
\r
269 leaf eipam-v4-address-plan {
\r
273 leaf eipam-v6-address-plan {
\r
278 grouping network-assignments {
\r
279 container network-assignments {
\r
282 grouping network-parameters {
\r
283 container network-parameters {
\r
284 list network-parameter {
\r
285 key "network-parameter-name";
\r
286 leaf network-parameter-name {
\r
289 leaf network-parameter-value {
\r
295 grouping network-level-oper-status {
\r
296 container network-level-oper-status {
\r
297 uses oper-status-data;
\r
300 grouping vnf-operation-information {
\r
301 uses sdnc-request-header;
\r
302 uses request-information;
\r
303 uses service-information;
\r
304 uses vnf-information;
\r
305 uses vnf-request-input;
\r
307 grouping vnf-information {
\r
308 container vnf-information {
\r
313 description "vnf-model-id in Pats model?in Pats vnf submodule, contained within vnf-instance-topology-identifier grouping (along with vnf-name and vnf-instance-id)";
\r
316 uses ecomp-model-information;
\r
319 grouping vnf-request-input {
\r
320 container vnf-request-input {
\r
321 leaf request-version {
\r
322 description "keep this? e.g. 1702";
\r
326 description "in Pats vnf submodule, contained within vnf-instance-topology-identifier (along with vnf-model-id and vnf-instance-id)";
\r
329 uses region-identifier;
\r
330 container vnf-networks {
\r
332 key "network-role";
\r
333 uses vnf-network-data;
\r
336 container vnf-input-parameters {
\r
341 grouping vnf-topology {
\r
342 container vnf-topology {
\r
343 uses vnf-topology-identifier-structure;
\r
344 uses region-identifier;
\r
345 uses ecomp-model-information;
\r
346 uses vnf-resource-assignments;
\r
347 container vnf-parameters-data {
\r
352 grouping vnf-topology-identifier-structure {
\r
353 container vnf-topology-identifier-structure {
\r
358 description "In preload tree, this label is used for the vf-module-type";
\r
371 description "used in vnf naming";
\r
375 description "optionally comes from vnf-request-input container or is assigned by sdn-c";
\r
380 grouping vnf-resource-assignments {
\r
381 container vnf-resource-assignments {
\r
383 description "Do we need this?Orchestration status from AAI - to be set by SDNCWill not be used for vIPR.";
\r
386 container availability-zones {
\r
387 leaf-list availability-zone {
\r
388 description "Openstack availability zone name or UUID";
\r
393 description "From the TOSCA data. Indicates the largest availability zone count needed by any vf-module in the VNF.";
\r
397 container vnf-networks {
\r
399 key "network-role";
\r
400 uses vnf-network-data;
\r
405 grouping vnf-network-data {
\r
406 leaf network-role {
\r
407 description "A Network Role to which a VNF must connect";
\r
410 leaf network-name {
\r
411 description "Unique Neutron UUID of an instance of the network role ";
\r
415 description "Unique Neutron UUID of an instance of the network role ";
\r
419 description "Unique Neutron UUID of an instance of the network role ";
\r
422 leaf contrail-network-fqdn {
\r
423 description "contrail network policy object";
\r
426 container subnets-data {
\r
430 description "Should be ipv4 or ipv6";
\r
434 description "subnet UUID to be passed into the HEAT template";
\r
440 grouping vnf-level-oper-status {
\r
441 container vnf-level-oper-status {
\r
442 uses oper-status-data;
\r
445 grouping vf-module-operation-information {
\r
446 uses sdnc-request-header;
\r
447 uses request-information;
\r
448 uses service-information;
\r
449 uses vnf-information;
\r
450 uses vf-module-information;
\r
451 uses vf-module-request-input;
\r
453 grouping vf-module-information {
\r
454 container vf-module-information {
\r
455 leaf vf-module-id {
\r
458 leaf vf-module-type {
\r
461 uses ecomp-model-information;
\r
464 grouping vf-module-request-input {
\r
465 container vf-module-request-input {
\r
466 leaf request-version {
\r
467 description "keep this?";
\r
470 leaf vf-module-name {
\r
473 uses region-identifier;
\r
474 container vf-module-input-parameters {
\r
479 grouping vf-module-topology {
\r
480 container vf-module-topology {
\r
481 uses vf-module-topology-identifier;
\r
482 uses region-identifier;
\r
483 uses ecomp-model-information;
\r
484 uses vf-module-assignments;
\r
485 container vf-module-parameters {
\r
490 grouping vf-module-topology-identifier {
\r
491 container vf-module-topology-identifier {
\r
492 leaf vf-module-id {
\r
493 description "vf-module id";
\r
496 leaf vf-module-name {
\r
497 description "vf-module-name";
\r
500 leaf vf-module-type {
\r
501 description "In Pats model referred to as model-id";
\r
506 grouping vf-module-assignments {
\r
507 container vf-module-assignments {
\r
508 leaf vf-module-status {
\r
509 description "Do we need this?Orchestration status from AAI - to be set by SDNCNot being used for vIPR.";
\r
515 uses vm-topology-data;
\r
520 grouping vm-topology-data {
\r
525 leaf nfc-naming-code {
\r
526 description "used in vm naming(draft 29: changed from nfc-code)";
\r
530 description "from tosca data on vfc";
\r
536 container vm-names {
\r
537 leaf-list vm-name {
\r
538 description "ordered-by: user";
\r
543 container vm-networks {
\r
545 key "network-role";
\r
546 uses vm-network-data;
\r
550 grouping vm-network-data {
\r
551 leaf network-role {
\r
552 description "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF";
\r
556 leaf network-role-tag {
\r
559 container network-information-items {
\r
560 list network-information-item {
\r
563 description "Use ipv4 or ipv6";
\r
567 description "Indicator to use DHCP on this network for this VM";
\r
574 description "The number of ip addresses to be assigned per vm for this network role";
\r
577 container network-ips {
\r
578 leaf-list network-ip {
\r
579 description "List of assigned ip addresses of type ip-version on a network. Is there a way to specify format to indicate ipv4 or ipv6 format?";
\r
586 container mac-addresses {
\r
587 leaf-list mac-address {
\r
588 description "List of network assignments for this vm-type";
\r
593 container floating-ips {
\r
594 leaf-list floating-ip-v4 {
\r
595 description "Floating ipv4 for VMs of a given type on this network";
\r
596 type inet:ip-address;
\r
599 leaf-list floating-ip-v6 {
\r
600 description "Floating ipv6 for VMs of a given type on this network";
\r
601 type inet:ipv6-address;
\r
605 container interface-route-prefixes {
\r
606 leaf-list interface-route-prefix {
\r
607 description "ordered-by: user";
\r
612 container sriov-parameters {
\r
613 container heat-vlan-filters {
\r
614 leaf-list heat-vlan-filter {
\r
619 container application-tags {
\r
635 grouping vf-module-level-oper-status {
\r
636 container vf-module-level-oper-status {
\r
637 uses oper-status-data;
\r
640 grouping allotted-resource-info {
\r
641 leaf allotted-resource-id {
\r
644 leaf allotted-resource-type {
\r
645 description "Not an enum, but expected values are contrail-route and security-zone.";
\r
648 leaf allotted-resource-pointer {
\r
649 description "Pointer to the allotted-resources topology";
\r
653 grouping contrail-route-operation-information {
\r
654 uses sdnc-request-header;
\r
655 uses request-information;
\r
656 uses service-information;
\r
657 uses allotted-resource-information;
\r
658 uses contrail-route-request-input;
\r
660 grouping contrail-route-request-input {
\r
661 container contrail-route-request-input {
\r
662 container source-network {
\r
665 container dest-network {
\r
668 container contrail-applied-service-info {
\r
669 leaf service-instance-id {
\r
670 description "The service-instance-id of the service in which the resource(s) providing the applied-service are. For vIPR, this is the service-instance-id of the vIPR-ATM service in which the vIPR-ATM VNF Contrail service is the applied service. MSO will populate with the input data.";
\r
673 leaf contrail-fqdn {
\r
674 description "For future use by MSO on input; MSO not expected to populate in 1707. If MSO can identify the contrail-fqdn of the Contrail applied service for this contrail-route, then it would be specified here on input. Otherwise, SDN-C will look it up by the vIPR-ATM VNF in the service-instance-id of the contrail-applied-service-info grouing.";
\r
678 container contrail-route-input-parameters {
\r
683 grouping network-info {
\r
687 leaf network-role {
\r
691 grouping contrail-route-topology {
\r
692 container contrail-route-topology {
\r
693 uses allotted-resource-identifiers;
\r
694 uses ecomp-model-information;
\r
695 uses contrail-route-assignments;
\r
696 container contrail-route-parameters {
\r
701 grouping contrail-route-assignments {
\r
702 container contrail-route-assignments {
\r
704 description "The Contrail fq-name of the network policy";
\r
708 description "The ID assigned by Contrail to the network-policy (one for one with the fq-name)";
\r
711 container source-network {
\r
714 container dest-network {
\r
717 container contrail-applied-service {
\r
718 leaf service-instance-id {
\r
719 description "The service-instance-id of the vnf from which the contrail applied service is coming";
\r
723 description "The vnf representing the contrail applied service";
\r
726 leaf contrail-fqdn {
\r
727 description "This is the fq-name of the Contrail service instance through which the route is passing.";
\r
732 description "Contrail-assigned vlan-tag to the vipr vm interface for this route.";
\r
737 grouping security-zone-operation-information {
\r
738 uses sdnc-request-header;
\r
739 uses request-information;
\r
740 uses service-information;
\r
741 uses allotted-resource-information;
\r
742 uses security-zone-request-input;
\r
744 grouping security-zone-request-input {
\r
745 container security-zone-request-input {
\r
749 leaf trusted-network-role {
\r
750 description "In the case of vIPR, this is the landing networks network-role; used in naming";
\r
753 leaf untrusted-network-role {
\r
754 description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";
\r
757 container security-zone-input-parameters {
\r
762 grouping security-zone-topology {
\r
763 container security-zone-topology {
\r
764 uses allotted-resource-identifiers;
\r
765 uses ecomp-model-information;
\r
766 uses security-zone-assignments;
\r
767 container security-zone-parameters {
\r
772 grouping security-zone-assignments {
\r
773 container security-zone-assignments {
\r
774 leaf trusted-network-role {
\r
775 description "In the case of vIPR, this is the landing networks network-role; used in naming";
\r
778 leaf security-zone-name-trusted {
\r
781 leaf untrusted-network-role {
\r
782 description "In the case of vIPR, this is the tenant oam networks network-role; used in naming";
\r
785 leaf security-zone-name-untrusted {
\r
788 leaf security-zone-service-instance-id {
\r
789 description "Will be the same as the parent-service-instance-id";
\r
792 leaf security-zone-vnf-id {
\r
793 description "Selected by SDNC from the security-zone-service-instance-id";
\r
801 grouping allotted-resource-information {
\r
802 container allotted-resource-information {
\r
803 leaf allotted-resource-id {
\r
806 leaf allotted-resource-type {
\r
807 description "Not an enum, but expected values are contrail-route and security-zone.";
\r
810 leaf parent-service-instance-id {
\r
811 description "Service-instance-id of the parent service to which this allotted resource belongs.";
\r
814 uses ecomp-model-information;
\r
817 grouping allotted-resource-identifiers {
\r
818 container allotted-resource-identifiers {
\r
819 leaf allotted-resource-id {
\r
822 leaf allotted-resource-name {
\r
823 description "For a contrail-route, the network policy name.";
\r
826 leaf allotted-resource-type {
\r
827 description "(Added in draft 32)Expected to be contrail-route or security-zone.";
\r
830 leaf consuming-service-instance-id {
\r
831 description "The service-instance-id of the consuming service of this allotted resource";
\r
834 leaf parent-service-instance-id {
\r
835 description "Service-instance-id of the parent service to which this allotted resource belongs.";
\r
840 grouping allotted-resource-oper-status {
\r
841 container allotted-resource-oper-status {
\r
842 uses oper-status-data;
\r
845 grouping allotted-resource-status {
\r
846 container allotted-resource-status {
\r
847 leaf response-code {
\r
850 leaf response-message {
\r
853 leaf final-indicator {
\r
856 leaf request-status {
\r
858 enum "synccomplete";
\r
859 enum "asynccomplete";
\r
860 enum "notifycomplete";
\r
864 description "value would one of possible request-actions; match the list in service-data oper-status";
\r
871 description "this is the svc-action from the incoming request";
\r
881 leaf response-timestamp {
\r
886 grouping topology-response-common {
\r
887 leaf svc-request-id {
\r
888 description "the request id from the request message for which this is the responseKeep as M";
\r
891 leaf response-code {
\r
892 description "a success code or an defined error codeKeep as M";
\r
895 leaf response-message {
\r
896 description "message included for error code";
\r
899 leaf ack-final-indicator {
\r
900 description "Expected to be Y or N.";
\r
904 grouping sdnc-request-header {
\r
905 container sdnc-request-header {
\r
906 leaf svc-request-id {
\r
907 description "Uniquely generated by calling system (e.g. MSO or SDN-GP)";
\r
911 description "Enumerated listThis is the rpcAction";
\r
917 enum "changeassign";
\r
918 enum "changedelete";
\r
925 leaf svc-notification-url {
\r
926 description "Contains URL for asynchronous response";
\r
931 grouping request-information {
\r
932 container request-information {
\r
934 description "Request ID generated upstream of MSO";
\r
937 leaf request-action {
\r
938 description "still need to work Disconnect";
\r
940 enum "CreateNetworkInstance";
\r
941 enum "ActivateNetworkInstance";
\r
942 enum "CreateServiceInstance";
\r
943 enum "DeleteServiceInstance";
\r
944 enum "DeleteNetworkInstance";
\r
945 enum "CreateVnfInstance";
\r
946 enum "ActivateVnfInstance";
\r
947 enum "DeleteVnfInstance";
\r
948 enum "CreateVfModuleInstance";
\r
949 enum "ActivateVfModuleInstance";
\r
950 enum "DeleteVfModuleInstance";
\r
951 enum "CreateContrailRouteInstance";
\r
952 enum "DeleteContrailRouteInstance";
\r
953 enum "CreateSecurityZoneInstance";
\r
954 enum "DeleteSecurityZoneInstance";
\r
960 leaf notification-url {
\r
963 leaf order-number {
\r
966 leaf order-version {
\r
971 grouping service-information {
\r
972 container service-information {
\r
974 description "This maps to the product-family-id in A&AI";
\r
977 leaf subscription-service-type {
\r
978 description "used to reference a&ai subscription-service-type. For example, we show as vIPR-ATM in example.";
\r
981 uses ecomp-model-information;
\r
982 leaf service-instance-id {
\r
985 leaf global-customer-id {
\r
986 description "need for put of data to AnAI (MSO provides)";
\r
989 leaf subscriber-name {
\r
990 description "Would not be expected for vIPR-ATM or mobility services.";
\r
995 grouping ecomp-model-information {
\r
996 container ecomp-model-information {
\r
997 leaf model-invariant-uuid {
\r
998 description "identifies the invariant uuid for this service or resource";
\r
1001 leaf model-customization-uuid {
\r
1002 description "customized resource for use within a given service.Would not be present at the service level but would be present for the resource level";
\r
1006 description "identifies the uuid for this service or resource, which is version specific";
\r
1009 leaf model-version {
\r
1017 grouping region-identifier {
\r
1021 leaf aic-cloud-region {
\r
1022 description "The AIC cloud region which maps to contrail versions";
\r
1026 description "Not expected to be used";
\r
1041 grouping instance-reference {
\r
1042 leaf instance-id {
\r
1045 leaf object-path {
\r
1046 description "restconf retrieval path to this particular objectE.g. restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/service-topology/";
\r
1050 grouping oper-status-data {
\r
1051 leaf order-status {
\r
1052 description "TBD - do we need Request failed statuses? RequestFailed | InProgressTimeout";
\r
1053 type enumeration {
\r
1055 enum "PendingAssignment";
\r
1056 enum "PendingCreate";
\r
1057 enum "PendingUpdate";
\r
1058 enum "PendingDelete";
\r
1063 leaf last-rpc-action {
\r
1064 type enumeration {
\r
1069 enum "deactivate";
\r
1073 leaf last-action {
\r
1074 description "should be list of possible request-actions";
\r
1075 type enumeration {
\r
1076 enum "CreateNetworkInstance";
\r
1077 enum "ActivateNetworkInstance";
\r
1078 enum "CreateServiceInstance";
\r
1079 enum "DeleteServiceInstance";
\r
1080 enum "DeleteNetworkInstance";
\r
1081 enum "CreateVnfInstance";
\r
1082 enum "ActivateVnfInstance";
\r
1083 enum "DeleteVnfInstance";
\r
1084 enum "CreateVfModuleInstance";
\r
1085 enum "ActivateVfModuleInstance";
\r
1086 enum "DeleteVfModuleInstance";
\r
1087 enum "CreateContrailRouteInstance";
\r
1088 enum "DeleteContrailRouteInstance";
\r
1089 enum "CreateSecurityZoneInstance";
\r
1090 enum "DeleteSecurityZoneInstance";
\r
1093 leaf last-svc-request-id {
\r
1094 description "Not currently populated in service data.";
\r
1097 leaf last-order-status {
\r
1098 description "fieldused by generic-resource-api";
\r
1099 type enumeration {
\r
1101 enum "PendingAssignment";
\r
1102 enum "PendingCreate";
\r
1103 enum "PendingUpdate";
\r
1104 enum "PendingDelete";
\r
1109 leaf create-timestamp {
\r
1110 description "Not currently populated in service data.";
\r
1113 leaf modify-timestamp {
\r
1117 grouping service-response-information {
\r
1118 container service-response-information {
\r
1119 uses instance-reference;
\r
1122 grouping network-response-information {
\r
1123 container network-response-information {
\r
1124 uses instance-reference;
\r
1127 grouping vnf-response-information {
\r
1128 container vnf-response-information {
\r
1129 uses instance-reference;
\r
1132 grouping vf-module-response-information {
\r
1133 container vf-module-response-information {
\r
1134 uses instance-reference;
\r
1137 grouping contrail-route-response-information {
\r
1138 container contrail-route-response-information {
\r
1139 uses instance-reference;
\r
1142 grouping security-zone-response-information {
\r
1143 container security-zone-response-information {
\r
1144 uses instance-reference;
\r
1147 grouping preload-model-information {
\r
1148 list vnf-preload-list {
\r
1149 key "vnf-name vnf-type";
\r
1151 description "vf-module-name or network name";
\r
1156 description "vf-module-type or network type";
\r
1160 uses preload-data;
\r
1163 grouping vnf-topology-response-body {
\r
1164 leaf svc-request-id {
\r
1167 leaf response-code {
\r
1170 leaf response-message {
\r
1173 leaf ack-final-indicator {
\r
1177 grouping preload-data {
\r
1178 container preload-data {
\r
1179 uses vnf-topology-information;
\r
1180 uses network-topology-information;
\r
1184 grouping vnf-topology-information {
\r
1185 container vnf-topology-information {
\r
1186 uses vnf-topology-identifier;
\r
1187 uses vnf-assignments;
\r
1188 uses vnf-parameters;
\r
1191 grouping vnf-topology-identifier {
\r
1192 container vnf-topology-identifier {
\r
1193 leaf service-type {
\r
1200 description "vf-module-name";
\r
1204 description "vf-module-type";
\r
1207 leaf generic-vnf-name {
\r
1210 leaf generic-vnf-type {
\r
1213 leaf generic-vnf-id {
\r
1218 grouping vnf-assignments {
\r
1219 container vnf-assignments {
\r
1221 description "Orchestration Status from AAI - to be set by SDNC";
\r
1224 list availability-zones {
\r
1225 key "availability-zone";
\r
1226 leaf availability-zone {
\r
1227 description "Openstack availability zone name or UUID";
\r
1231 list vnf-networks {
\r
1232 key "network-role";
\r
1234 uses sriov-vlan-filter-list;
\r
1239 grouping vm-topology {
\r
1255 list vm-networks {
\r
1256 key "network-role";
\r
1261 grouping vnf-network {
\r
1262 leaf network-role {
\r
1263 description "A Network Role to which a VNF must connect";
\r
1267 leaf network-name {
\r
1268 description "Unique Neutron UUID of an instance of the network role ";
\r
1272 description "Unique Neutron UUID of an instance of the network role ";
\r
1276 description "Unique Neutron UUID of an instance of the network role ";
\r
1280 description "ipv4 subnet UUID to be passed into the HEAT template";
\r
1283 leaf subnet-name {
\r
1284 description "ipv4 subnet-name that corresponds to the ipv4 subnet-id";
\r
1287 leaf contrail-network-fqdn {
\r
1288 description "contrail network policy object";
\r
1291 leaf ipv6-subnet-id {
\r
1292 description "ipv6 subnet UUID to be passed into the HEAT template";
\r
1295 leaf ipv6-subnet-name {
\r
1296 description "ipv6 subnet-name that corresponds to the ipv6 subnet-id";
\r
1300 grouping sriov-vlan-filter-list {
\r
1301 list sriov-vlan-filter-list {
\r
1302 key "sriov-vlan-filter";
\r
1303 leaf sriov-vlan-filter {
\r
1308 grouping vm-network {
\r
1309 leaf network-role {
\r
1310 description "network (identified by role) that this VM connects to. Should also be included in the vnf-networks for the containing VNF";
\r
1314 description "Indicator to use DHCP on this network for this VM";
\r
1315 type enumeration {
\r
1321 description "The number of ip addresses to be assigned per vm for this network role";
\r
1324 list network-ips {
\r
1327 description "List of assigned ipv4 addresses on a network";
\r
1328 type inet:ip-address;
\r
1331 list network-ips-v6 {
\r
1332 key "ip-address-ipv6";
\r
1333 leaf ip-address-ipv6 {
\r
1334 description "List of assigned ipv6 addresses on a network";
\r
1335 type inet:ipv6-address;
\r
1338 list network-macs {
\r
1339 key "mac-address";
\r
1340 leaf mac-address {
\r
1341 description "List of network assignments for this VM (one per network)";
\r
1345 leaf floating-ip {
\r
1346 description "Floating ipv4 for VMs of a given type on this network";
\r
1347 type inet:ip-address;
\r
1349 leaf floating-ip-v6 {
\r
1350 description "Floating ipv6 for VMs of a given type on this network";
\r
1351 type inet:ipv6-address;
\r
1353 list interface-route-prefixes {
\r
1354 key "interface-route-prefix-cidr";
\r
1355 leaf interface-route-prefix-cidr {
\r
1356 description "route prefixes (CIDRs) in ip/cidr format to be provided to MSO in vnf-topology as a list of static routes";
\r
1360 leaf interface-route-prefix {
\r
1361 description "route prefixes (CIDRs) to be provided to MSO in vnf-topology as a list of static routes";
\r
1362 type inet:ip-address;
\r
1366 grouping vnf-parameters {
\r
1367 list vnf-parameters {
\r
1368 key "vnf-parameter-name";
\r
1369 leaf vnf-parameter-name {
\r
1370 description "The name of an arbitrary instance-specific vnf-parameters";
\r
1373 leaf vnf-parameter-value {
\r
1374 description "The value of an arbitrary instance-specific vnf-parameters ";
\r
1379 grouping network-topology-information {
\r
1380 container network-topology-information {
\r
1381 uses network-topology-identifier;
\r
1383 uses vpn-bindings;
\r
1384 uses network-policy;
\r
1385 uses route-table-reference;
\r
1386 uses provider-network-information;
\r
1389 grouping network-topology-identifier {
\r
1390 container network-topology-identifier {
\r
1391 leaf service-type {
\r
1394 leaf network-name {
\r
1397 leaf network-role {
\r
1400 leaf network-type {
\r
1403 leaf network-technology {
\r
1408 grouping subnets {
\r
1410 key "start-address";
\r
1411 leaf start-address {
\r
1412 type inet:ip-address;
\r
1414 leaf gateway-address {
\r
1415 type inet:ip-address;
\r
1423 leaf dhcp-enabled {
\r
1424 type enumeration {
\r
1429 leaf dhcp-start-address {
\r
1432 leaf dhcp-end-address {
\r
1435 leaf subnet-name {
\r
1440 grouping vpn-bindings {
\r
1441 list vpn-bindings {
\r
1442 key "vpn-binding-id";
\r
1443 leaf vpn-binding-id {
\r
1446 leaf global-route-target {
\r
1451 grouping network-policy {
\r
1452 list network-policy {
\r
1453 key "network-policy-fqdn";
\r
1454 leaf network-policy-fqdn {
\r
1457 leaf network-policy-id {
\r
1462 grouping route-table-reference {
\r
1463 list route-table-reference {
\r
1464 key "route-table-reference-fqdn";
\r
1465 leaf route-table-reference-fqdn {
\r
1469 leaf route-table-reference-id {
\r
1474 grouping provider-network-information {
\r
1475 leaf physical-network-name {
\r
1478 leaf is-provider-network {
\r
1481 leaf is-shared-network {
\r
1484 leaf is-external-network {
\r
1488 grouping oper-status {
\r
1489 container oper-status {
\r
1490 leaf order-status {
\r
1491 type enumeration {
\r
1493 enum "PendingAssignment";
\r
1494 enum "PendingCreate";
\r
1495 enum "PendingUpdate";
\r
1496 enum "PendingDelete";
\r
1500 leaf last-action {
\r
1501 description "this is preload request actions";
\r
1502 type enumeration {
\r
1503 enum "VNFActivateRequest";
\r
1504 enum "ChangeVNFActivateRequest";
\r
1505 enum "VnfInstanceActivateRequest";
\r
1506 enum "ChangeVnfInstanceActivateRequest";
\r
1507 enum "VfModuleActivateRequest";
\r
1508 enum "ChangeVfModuleActivateRequest";
\r
1509 enum "DisconnectVNFRequest";
\r
1510 enum "DisconnectVnfInstanceRequest";
\r
1511 enum "DisconnectVfModuleRequest";
\r
1512 enum "PreloadVNFRequest";
\r
1513 enum "DeletePreloadVNFRequest";
\r
1514 enum "PreloadVnfInstanceRequest";
\r
1515 enum "DeletePreloadVnfInstanceRequest";
\r
1516 enum "PreloadVfModuleRequest";
\r
1517 enum "DeletePreloadVfModuleRequest";
\r
1520 leaf last-svc-request-id {
\r
1523 leaf last-order-status {
\r
1524 type enumeration {
\r
1526 enum "PendingAssignment";
\r
1527 enum "PendingCreate";
\r
1528 enum "PendingUpdate";
\r
1529 enum "PendingDelete";
\r
1533 leaf create-timestamp {
\r
1536 leaf modify-timestamp {
\r
1539 leaf maintenance-indicator {
\r
1540 type enumeration {
\r
1547 container services {
\r
1548 uses service-model-infrastructure;
\r
1550 container contrail-route-allotted-resources {
\r
1551 list contrail-route-allotted-resource {
\r
1552 key "allotted-resource-id";
\r
1553 leaf allotted-resource-id {
\r
1557 container allotted-resource-data {
\r
1558 container allotted-resource-operation-information {
\r
1559 uses contrail-route-operation-information;
\r
1561 uses contrail-route-topology;
\r
1562 uses allotted-resource-oper-status;
\r
1564 uses allotted-resource-status;
\r
1567 container security-zone-allotted-resources {
\r
1568 list security-zone-allotted-resource {
\r
1569 key "allotted-resource-id";
\r
1570 leaf allotted-resource-id {
\r
1574 container allotted-resource-data {
\r
1575 container allotted-resource-operation-information {
\r
1576 uses security-zone-operation-information;
\r
1578 uses security-zone-topology;
\r
1579 container security-zone-parameters {
\r
1582 uses allotted-resource-oper-status;
\r
1584 uses allotted-resource-status;
\r
1587 rpc service-topology-operation {
\r
1589 uses service-operation-information;
\r
1592 uses topology-response-common;
\r
1593 uses service-response-information;
\r
1596 rpc network-topology-operation {
\r
1598 uses network-operation-information;
\r
1601 uses topology-response-common;
\r
1602 uses network-response-information;
\r
1603 uses service-response-information;
\r
1606 rpc vnf-topology-operation {
\r
1608 uses vnf-operation-information;
\r
1611 uses topology-response-common;
\r
1612 uses vnf-response-information;
\r
1613 uses service-response-information;
\r
1616 rpc vf-module-topology-operation {
\r
1618 uses vf-module-operation-information;
\r
1621 uses topology-response-common;
\r
1622 uses vf-module-response-information;
\r
1623 uses vnf-response-information;
\r
1624 uses service-response-information;
\r
1627 rpc contrail-route-topology-operation {
\r
1629 uses contrail-route-operation-information;
\r
1632 uses topology-response-common;
\r
1633 uses contrail-route-response-information;
\r
1634 uses service-response-information;
\r
1637 rpc security-zone-topology-operation {
\r
1639 uses security-zone-operation-information;
\r
1642 uses topology-response-common;
\r
1643 uses security-zone-response-information;
\r
1644 uses service-response-information;
\r
1647 container preload-vnfs {
\r
1648 uses preload-model-information;
\r
1650 rpc preload-vnf-topology-operation {
\r
1652 uses sdnc-request-header;
\r
1653 uses request-information;
\r
1654 uses vnf-topology-information;
\r
1657 uses vnf-topology-response-body;
\r
1660 rpc preload-network-topology-operation {
\r
1662 uses sdnc-request-header;
\r
1663 uses request-information;
\r
1664 uses network-topology-information;
\r
1667 uses vnf-topology-response-body;
\r
1670 } ////closes the module
\r