Add payload leaf to GR-API
[sdnc/northbound.git] / generic-resource-api / model / src / main / yang / GENERIC-RESOURCE-API.yang
index e45447e..660b2f8 100644 (file)
@@ -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
@@ -429,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
@@ -2368,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
@@ -2428,6 +2529,23 @@ module GENERIC-RESOURCE-API {
                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
@@ -2534,6 +2652,9 @@ module GENERIC-RESOURCE-API {
                description "Resource assignment resolution Capability name";\r
                type string;\r
             }\r
+            leaf payload {\r
+               type string;\r
+            }\r
          }\r
       }\r
    }\r
@@ -2595,12 +2716,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
@@ -2660,6 +2784,23 @@ module GENERIC-RESOURCE-API {
             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
@@ -2705,6 +2846,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
@@ -3150,6 +3296,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