GR-API Yang change and add async support
[sdnc/northbound.git] / generic-resource-api / model / src / main / yang / GENERIC-RESOURCE-API.yang
index 7a0b52b..32338fe 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,18 @@ 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
             description "key-value provided to EIPAM when  creating shared subnet";\r
@@ -398,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
@@ -424,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
@@ -702,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
@@ -881,6 +999,28 @@ module GENERIC-RESOURCE-API {
             ordered-by user;\r
          }\r
       }\r
+      container sriov-parameters {\r
+         container heat-vlan-filters {\r
+            leaf-list heat-vlan-filter {\r
+               type string;\r
+               ordered-by user;\r
+            }\r
+         }\r
+         container application-tags {\r
+            container c-tags {\r
+               leaf-list c-tag {\r
+                  type string;\r
+                  ordered-by user;\r
+               }\r
+            }\r
+            container s-tags {\r
+               leaf-list s-tag {\r
+                  type string;\r
+                  ordered-by user;\r
+               }\r
+            }\r
+         }\r
+      }\r
       leaf is-trunked {\r
          type boolean;\r
       }\r
@@ -1269,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
@@ -1309,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
@@ -1472,7 +1630,7 @@ module GENERIC-RESOURCE-API {
             description "port-index when multiple CPs connect to same network. Default zero (0)";\r
             type string;\r
          }\r
-         list vlan-tags {\r
+         list vlan-data {\r
             key "vlan-uuid";\r
             leaf vlan-uuid {\r
                description "Key to vlan-tag uuid object in A&AI Generated by vlan mS";\r
@@ -1491,6 +1649,25 @@ module GENERIC-RESOURCE-API {
          }\r
       }\r
    }\r
+   grouping aggregate-routes {\r
+      list aggregate-routes {\r
+         key "route-id";\r
+         leaf route-id {\r
+            description "Unique id";\r
+            type string;\r
+         }\r
+         leaf start-address {\r
+            type inet:ip-address;\r
+         }\r
+         leaf cidr-mask {\r
+            type string;\r
+         }\r
+         leaf ip-version {\r
+            description "Use values 4 or 6.";\r
+            type string;\r
+         }\r
+      }\r
+   }\r
    grouping pnf-information {\r
       container pnf-information {\r
          leaf pnf-name {\r
@@ -1840,9 +2017,23 @@ module GENERIC-RESOURCE-API {
          leaf vnf-id {\r
             type string;\r
          }\r
+         leaf vf-module-id {\r
+            description "This is mandatory in case of rebuild";\r
+            type string;\r
+         }\r
          container input-parameters {\r
             uses param;\r
          }\r
+         leaf rebuild {\r
+            description "Value will indicate what to rebuild";\r
+            type string;\r
+         }\r
+         list configuration-ids {\r
+            key "configuration-id";\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+         }\r
       }\r
    }\r
    grouping vnr-parameters {\r
@@ -1850,6 +2041,10 @@ module GENERIC-RESOURCE-API {
          leaf vnf-id {\r
             type string;\r
          }\r
+         leaf vf-module-id {\r
+            description "This is mandatory in case of rebuild";\r
+            type string;\r
+         }\r
          leaf vnf-service-instance-id {\r
             type string;\r
          }\r
@@ -1977,7 +2172,7 @@ module GENERIC-RESOURCE-API {
    }\r
 \r
    grouping connection-attachment-topology {\r
-      container brg-topology {\r
+      container connection-attachment-topology {\r
          uses allotted-resource-identifiers;\r
          uses onap-model-information;\r
          uses connection-attachment-assignments;\r
@@ -1992,6 +2187,43 @@ module GENERIC-RESOURCE-API {
       }\r
    }\r
 \r
+   grouping vnf-vnr-rebuild-data {\r
+      container vnf-vnr-rebuild-data {\r
+         leaf vnf-id {\r
+            type string;\r
+         }\r
+         leaf vnf-service-instance-id {\r
+            type string;\r
+         }\r
+         list vnrs-data {\r
+            key "configuration-id";\r
+            leaf configuration-id {\r
+               type string;\r
+            }\r
+            leaf network-instance-group-id {\r
+               type string;\r
+            }\r
+            leaf network-id {\r
+               type string;\r
+            }\r
+            leaf vnfc-instance-group-function {\r
+               type string;\r
+            }\r
+            leaf network-instance-group-function {\r
+               type string;\r
+            }\r
+            leaf parent-port-role {\r
+               type string;\r
+            }\r
+            leaf upper-tag-id {\r
+               type uint32;\r
+            }\r
+            leaf lower-tag-id {\r
+               type uint32;\r
+            }\r
+         }\r
+      }\r
+   }\r
    grouping allotted-resource-information {\r
       container allotted-resource-information {\r
          leaf allotted-resource-id {\r
@@ -2206,6 +2438,8 @@ module GENERIC-RESOURCE-API {
                enum "disable";\r
                enum "enable";\r
                enum "update";\r
+               enum "reoptimize";\r
+               enum "rebuild";\r
             }\r
          }\r
          leaf svc-notification-url {\r
@@ -2225,12 +2459,16 @@ module GENERIC-RESOURCE-API {
             type enumeration {\r
                enum "CreateNetworkInstance";\r
                enum "ActivateNetworkInstance";\r
+               enum "DeActivateNetworkInstance";\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
@@ -2260,6 +2498,7 @@ module GENERIC-RESOURCE-API {
                enum "DeletePortMirrorConfigurationInstance";\r
                enum "ChangePortMirrorConfigurationInstance";\r
                enum "CreateGenericConfigurationInstance";\r
+               enum "RebuildGenericConfigurationInstance";\r
                enum "DeleteGenericConfigurationInstance";\r
                enum "PreloadVfModuleRequest";\r
                enum "DeletePreloadVfModuleRequest";\r
@@ -2268,6 +2507,33 @@ module GENERIC-RESOURCE-API {
                enum "CreateForwardingPathInstance";\r
                enum "DeleteForwardingPathInstance";\r
                enum "UpdateForwardingPathInstance";\r
+               enum "CreateSDWANDeviceInstance";\r
+               enum "ActivateSDWANDeviceInstance";\r
+               enum "DeactivateSDWANDeviceInstance";\r
+               enum "DeleteSDWANDeviceInstance";\r
+               enum "CreateSDWANPortInstance";\r
+               enum "ActivateSDWANPortInstance";\r
+               enum "DeactivateSDWANPortInstance";\r
+               enum "DeleteSDWANPortInstance";\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
             }\r
          }\r
          leaf source {\r
@@ -2338,6 +2604,10 @@ module GENERIC-RESOURCE-API {
          description "The AIC cloud region which maps to contrail versions";\r
          type string;\r
       }\r
+      leaf cloud-owner {\r
+         description "The cloud owner provided by the caller";\r
+         type string;\r
+      }\r
       leaf aic-clli {\r
          description "Not expected to be used";\r
          type string;\r
@@ -2422,6 +2692,7 @@ module GENERIC-RESOURCE-API {
             enum "deactivate";\r
             enum "create";\r
             enum "changeassign";\r
+            enum "reoptimize";\r
          }\r
       }\r
       leaf last-action {\r
@@ -2429,12 +2700,16 @@ module GENERIC-RESOURCE-API {
          type enumeration {\r
             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
@@ -2472,6 +2747,33 @@ module GENERIC-RESOURCE-API {
             enum "CreateForwardingPathInstance";\r
             enum "DeleteForwardingPathInstance";\r
             enum "UpdateForwardingPathInstance";\r
+            enum "CreateSDWANDeviceInstance";\r
+            enum "ActivateSDWANDeviceInstance";\r
+            enum "DeactivateSDWANDeviceInstance";\r
+            enum "DeleteSDWANDeviceInstance";\r
+            enum "CreateSDWANPortInstance";\r
+            enum "ActivateSDWANPortInstance";\r
+            enum "DeactivateSDWANPortInstance";\r
+            enum "DeleteSDWANPortInstance";\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
          }\r
       }\r
       leaf last-svc-request-id {\r
@@ -2517,6 +2819,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
@@ -2786,6 +3093,7 @@ module GENERIC-RESOURCE-API {
             type string;\r
          }\r
          uses vnr-parameters;\r
+         uses vnf-vnr-rebuild-data;\r
       }\r
    }\r
    container services {\r
@@ -2961,6 +3269,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