Request-actions for SOTN NNI requirement
[sdnc/northbound.git] / generic-resource-api / model / src / main / yang / GENERIC-RESOURCE-API.yang
index 2d7fe24..26f48c8 100644 (file)
@@ -4,7 +4,7 @@ module GENERIC-RESOURCE-API {
 \r
    prefix generic-resource-api;\r
 \r
-   import ietf-inet-types { prefix "inet"; revision-date "2010-09-24"; }\r
+   import ietf-inet-types { prefix "inet"; revision-date "2013-07-15"; }\r
 \r
    import ietf-yang-types { prefix yang; }\r
 \r
@@ -51,6 +51,20 @@ module GENERIC-RESOURCE-API {
                }\r
             }\r
          }\r
+         container pnfs {\r
+            list pnf {\r
+               key "pnf-id";\r
+               leaf pnf-id {\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               container pnf-data {\r
+                  uses pnf-operation-information;\r
+                  uses pnf-topology;\r
+                  uses pnf-level-oper-status;\r
+               }\r
+            }\r
+         }\r
          container vnfs {\r
             list vnf {\r
                key "vnf-id";\r
@@ -385,6 +399,17 @@ module GENERIC-RESOURCE-API {
                type string;\r
             }\r
          }\r
+         container aggregate-route-policy {\r
+            leaf aggregate-route-policy-name {\r
+               type string;\r
+            }\r
+            leaf ipv4-aggregate-route-level {\r
+               type string;\r
+            }\r
+            leaf ipv6-aggregate-route-level {\r
+               type string;\r
+            }\r
+         }\r
          uses aggregate-routes;\r
          uses subnets;\r
          leaf subnet-key-value {\r
@@ -399,6 +424,10 @@ module GENERIC-RESOURCE-API {
                   type string;\r
                   mandatory true;\r
                }\r
+               leaf neutron-network-id {\r
+                  description "Neutron-network-id assigned by PO/RO";\r
+                  type string;\r
+               }\r
                uses vpn-bindings;\r
                leaf vlan-tag-id {\r
                   type uint32;\r
@@ -425,6 +454,79 @@ module GENERIC-RESOURCE-API {
          uses oper-status-data;\r
       }\r
    }\r
+   grouping pnf-operation-information {\r
+      uses sdnc-request-header;\r
+      uses request-information;\r
+      uses service-information;\r
+      uses pnf-details;\r
+      uses pnf-request-input;\r
+   }\r
+   grouping pnf-details {\r
+      container pnf-details {\r
+         leaf pnf-id {\r
+            description "pnfId*Identifier of this Pnf information element. CORRELATIONID = PNF-NAME (A&AI)";\r
+            type string;\r
+            mandatory true;\r
+         }\r
+         leaf pnf-type {\r
+            description "pnfType (template)*Type of Resource. NEW type: PNF (pre-defined in SDC)";\r
+            type string;\r
+         }\r
+         leaf pnf-name {\r
+            type string;\r
+         }\r
+         uses onap-model-information;\r
+      }\r
+   }\r
+   grouping pnf-request-input {\r
+      container pnf-request-input {\r
+         leaf request-version {\r
+            description "keep this? e.g. 1702";\r
+            type string;\r
+         }\r
+         leaf pnf-name {\r
+            type string;\r
+         }\r
+         uses region-identifier;\r
+         container pnf-input-parameters {\r
+            uses param;\r
+         }\r
+      }\r
+   }\r
+   grouping pnf-topology {\r
+      container pnf-topology {\r
+         uses pnf-topology-identifier-structure;\r
+         uses region-identifier;\r
+         uses onap-model-information;\r
+         container pnf-parameters-data {\r
+            uses param;\r
+         }\r
+         leaf sdnc-generated-cloud-resources {\r
+            description "Indicate if source is sdnc generated cloud param.When true, the parameters are literal HEAT template parameter names;When false, the parameters need to be converted to HEAT format";\r
+            type boolean;\r
+         }\r
+      }\r
+   }\r
+   grouping pnf-topology-identifier-structure {\r
+      container pnf-topology-identifier-structure {\r
+         leaf pnf-id {\r
+            type string;\r
+         }\r
+         leaf pnf-type {\r
+            description "In preload tree, this label is used for the vf-module-type";\r
+            type string;\r
+         }\r
+         leaf pnf-name {\r
+            description "optionally comes from pnf-request-input container or is assigned by sdn-c";\r
+            type string;\r
+         }\r
+      }\r
+   }\r
+   grouping pnf-level-oper-status {\r
+      container pnf-level-oper-status {\r
+         uses oper-status-data;\r
+      }\r
+   }\r
    grouping vnf-operation-information {\r
       uses sdnc-request-header;\r
       uses request-information;\r
@@ -703,6 +805,21 @@ module GENERIC-RESOURCE-API {
             }\r
          }\r
          uses vlan-vnfc-instance-groups;\r
+         container dhcp-subnet-assignments {\r
+            list dhcp-subnet-assignment {\r
+               key "neutron-subnet-id";\r
+               leaf neutron-subnet-id {\r
+                  description "Same as subnet-id in subnet-data structure";\r
+                  type string;\r
+               }\r
+               leaf network-role {\r
+                  type string;\r
+               }\r
+               leaf ip-version {\r
+                  type string;\r
+               }\r
+            }\r
+         }\r
       }\r
    }\r
    grouping vm-topology-data {\r
@@ -1292,6 +1409,20 @@ module GENERIC-RESOURCE-API {
             description "network-collection-customization-uuid stored in Network IsntanceGroup.customization-uuid in A&AI";\r
             type string;\r
          }\r
+         container networks {\r
+            list network {\r
+               key "network-id";\r
+               leaf network-id {\r
+                  description "Index into network-topology-identifier structure";\r
+                  type string;\r
+                  mandatory true;\r
+               }\r
+               leaf neutron-network-id {\r
+                  description "Neutron-network-id assigned by PO/RO";\r
+                  type string;\r
+               }\r
+            }\r
+         }\r
          container vnf-floating-ip {\r
             uses ip-addresses;\r
          }\r
@@ -1332,6 +1463,10 @@ module GENERIC-RESOURCE-API {
             type string;\r
             mandatory true;\r
          }\r
+         leaf neutron-network-id {\r
+            description "Neutron network id assigned by PO/RP";\r
+            type string;\r
+         }\r
          leaf network-name {\r
             description "Subinterface network name";\r
             type uint32;\r
@@ -2331,6 +2466,9 @@ module GENERIC-RESOURCE-API {
                enum "CreateVnfInstance";\r
                enum "ActivateVnfInstance";\r
                enum "DeleteVnfInstance";\r
+               enum "CreatePnfInstance";\r
+               enum "ActivatePnfInstance";\r
+               enum "DeletePnfInstance";\r
                enum "CreateVfModuleInstance";\r
                enum "ActivateVfModuleInstance";\r
                enum "DeleteVfModuleInstance";\r
@@ -2369,10 +2507,6 @@ module GENERIC-RESOURCE-API {
                enum "CreateForwardingPathInstance";\r
                enum "DeleteForwardingPathInstance";\r
                enum "UpdateForwardingPathInstance";\r
-               enum "CreateSDWANConnectivityInstance";\r
-               enum "ActivateSDWANConnectivityInstance";\r
-               enum "DeactivateSDWANConnectivityInstance";\r
-               enum "DeleteSDWANConnectivityInstance";\r
                enum "CreateSDWANDeviceInstance";\r
                enum "ActivateSDWANDeviceInstance";\r
                enum "DeactivateSDWANDeviceInstance";\r
@@ -2381,11 +2515,37 @@ module GENERIC-RESOURCE-API {
                enum "ActivateSDWANPortInstance";\r
                enum "DeactivateSDWANPortInstance";\r
                enum "DeleteSDWANPortInstance";\r
-               enum "CreateSDWANAttachmentInstance";\r
-               enum "ActivateSDWANAttachmentInstance";\r
-               enum "DeactivateSDWANAttachmentInstance";\r
-               enum "DeleteSDWANAttachmentInstance";\r
                enum "ReoptimizeSOTNInstance";\r
+               enum "CreateSDWANLanPortInstance";\r
+               enum "ActivateSDWANLanPortInstance";\r
+               enum "DeactivateSDWANLanPortInstance";\r
+               enum "DeleteSDWANLanPortInstance";\r
+               enum "CreateSDWANVpnInstance";\r
+               enum "ActivateSDWANVpnInstance";\r
+               enum "DeactivateSDWANVpnInstance";\r
+               enum "DeleteSDWANVpnInstance";\r
+               enum "CreateSDWANSiteInstance";\r
+               enum "ActivateSDWANSiteInstance";\r
+               enum "DeactivateSDWANSiteInstance";\r
+               enum "DeleteSDWANSiteInstance";\r
+               enum "SdwanBandwidthChange";\r
+               enum "CreateAccessConnectivityInstance";\r
+               enum "DeleteAccessConnectivityInstance";\r
+               enum "CreateInternetProfileInstance";\r
+               enum "ChangeInternetProfileInstance";\r
+               enum "DeleteInternetProfileInstance";\r
+               enum "CreateSOTNUnderlayInstance";\r
+               enum "ActivateSOTNUnderlayInstance";\r
+               enum "DeactivateSOTNUnderlayInstance";\r
+               enum "DeleteSOTNUnderlayInstance";\r
+               enum "CreateSOTNUniInstance";\r
+               enum "ActivateSOTNUniInstance";\r
+               enum "DeactivateSOTNUniInstance";\r
+               enum "DeleteSOTNUniInstance";\r
+               enum "CreateSOTNL2VpnInstance";\r
+               enum "ActivateSOTNL2VpnInstance";\r
+               enum "DeactivateSOTNL2VpnInstance";\r
+               enum "DeleteSOTNL2VpnInstance";\r
             }\r
          }\r
          leaf source {\r
@@ -2553,12 +2713,15 @@ module GENERIC-RESOURCE-API {
             enum "CreateNetworkInstance";\r
             enum "ActivateNetworkInstance";\r
             enum "DeActivateNetworkInstance";\r
+            enum "DeleteNetworkInstance";\r
             enum "CreateServiceInstance";\r
             enum "DeleteServiceInstance";\r
-            enum "DeleteNetworkInstance";\r
             enum "CreateVnfInstance";\r
             enum "ActivateVnfInstance";\r
             enum "DeleteVnfInstance";\r
+            enum "CreatePnfInstance";\r
+            enum "ActivatePnfInstance";\r
+            enum "DeletePnfInstance";\r
             enum "CreateVfModuleInstance";\r
             enum "ActivateVfModuleInstance";\r
             enum "DeleteVfModuleInstance";\r
@@ -2596,10 +2759,6 @@ module GENERIC-RESOURCE-API {
             enum "CreateForwardingPathInstance";\r
             enum "DeleteForwardingPathInstance";\r
             enum "UpdateForwardingPathInstance";\r
-            enum "CreateSDWANConnectivityInstance";\r
-            enum "ActivateSDWANConnectivityInstance";\r
-            enum "DeactivateSDWANConnectivityInstance";\r
-            enum "DeleteSDWANConnectivityInstance";\r
             enum "CreateSDWANDeviceInstance";\r
             enum "ActivateSDWANDeviceInstance";\r
             enum "DeactivateSDWANDeviceInstance";\r
@@ -2608,11 +2767,37 @@ module GENERIC-RESOURCE-API {
             enum "ActivateSDWANPortInstance";\r
             enum "DeactivateSDWANPortInstance";\r
             enum "DeleteSDWANPortInstance";\r
-            enum "CreateSDWANAttachmentInstance";\r
-            enum "ActivateSDWANAttachmentInstance";\r
-            enum "DeactivateSDWANAttachmentInstance";\r
-            enum "DeleteSDWANAttachmentInstance";\r
             enum "ReoptimizeSOTNInstance";\r
+            enum "CreateSDWANLanPortInstance";\r
+            enum "ActivateSDWANLanPortInstance";\r
+            enum "DeactivateSDWANLanPortInstance";\r
+            enum "DeleteSDWANLanPortInstance";\r
+            enum "CreateSDWANVpnInstance";\r
+            enum "ActivateSDWANVpnInstance";\r
+            enum "DeactivateSDWANVpnInstance";\r
+            enum "DeleteSDWANVpnInstance";\r
+            enum "CreateSDWANSiteInstance";\r
+            enum "ActivateSDWANSiteInstance";\r
+            enum "DeactivateSDWANSiteInstance";\r
+            enum "DeleteSDWANSiteInstance";\r
+            enum "SdwanBandwidthChange";\r
+            enum "CreateAccessConnectivityInstance";\r
+            enum "DeleteAccessConnectivityInstance";\r
+            enum "CreateInternetProfileInstance";\r
+            enum "ChangeInternetProfileInstance";\r
+            enum "DeleteInternetProfileInstance";\r
+            enum "CreateSOTNUnderlayInstance";\r
+            enum "ActivateSOTNUnderlayInstance";\r
+            enum "DeactivateSOTNUnderlayInstance";\r
+            enum "DeleteSOTNUnderlayInstance";\r
+            enum "CreateSOTNUniInstance";\r
+            enum "ActivateSOTNUniInstance";\r
+            enum "DeactivateSOTNUniInstance";\r
+            enum "DeleteSOTNUniInstance";\r
+            enum "CreateSOTNL2VpnInstance";\r
+            enum "ActivateSOTNL2VpnInstance";\r
+            enum "DeactivateSOTNL2VpnInstance";\r
+            enum "DeleteSOTNL2VpnInstance";\r
          }\r
       }\r
       leaf last-svc-request-id {\r
@@ -2658,6 +2843,11 @@ module GENERIC-RESOURCE-API {
          uses instance-reference;\r
       }\r
    }\r
+   grouping pnf-response-information {\r
+      container pnf-response-information {\r
+         uses instance-reference;\r
+      }\r
+   }\r
    grouping contrail-route-response-information {\r
       container contrail-route-response-information {\r
          uses instance-reference;\r
@@ -3103,6 +3293,16 @@ module GENERIC-RESOURCE-API {
          uses service-response-information;\r
       }\r
    }\r
+   rpc pnf-topology-operation {\r
+      input {\r
+         uses pnf-operation-information;\r
+      }\r
+      output {\r
+         uses topology-response-common;\r
+         uses pnf-response-information;\r
+         uses service-response-information;\r
+      }\r
+   }\r
    rpc contrail-route-topology-operation {\r
       input {\r
          uses contrail-route-operation-information;\r