X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Fyang%2Frw-pkg-mgmt.yang;h=8f9fd71054003ee3d525b9661b2f6ddf69400068;hb=HEAD;hp=de56e554b714c1e7bb5a159158277b8ea4636a7e;hpb=57c99722a731df6c9541423ff7a1f05b0fe18c86;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang b/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang index de56e554..8f9fd710 100644 --- a/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang +++ b/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang @@ -1,6 +1,6 @@ /* * - * Copyright 2016 RIFT.IO Inc + * Copyright 2016-2017 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,10 +33,6 @@ module rw-pkg-mgmt prefix "yang"; } - import rw-pb-ext { - prefix "rwpb"; - } - import rw-cli-ext { prefix "rwcli"; } @@ -56,10 +52,32 @@ module rw-pkg-mgmt import rw-vnfd { prefix "rwvnfd"; } + import rw-nsd { prefix "rwnsd"; } + import rw-project-vnfd { + prefix "rw-project-vnfd"; + } + + import rw-project-nsd { + prefix "rw-project-nsd"; + } + + import rw-project { + prefix "rw-project"; + } + + import rw-project-mano { + prefix "rw-project-mano"; + } + + revision 2017-02-08 { + description + "Update model to support projects."; + } + revision 2016-06-01 { description "Initial revision."; @@ -76,6 +94,39 @@ module rw-pkg-mgmt } } + typedef package-file-type { + type enumeration { + enum ICONS; + enum CHARMS; + enum SCRIPTS; + enum IMAGES; + enum CLOUD_INIT; + enum README; + } + } + + typedef vnfd-file-type { + type enumeration { + enum ICONS; + enum CHARMS; + enum SCRIPTS; + enum IMAGES; + enum CLOUD_INIT; + enum README; + enum DOC; + enum TEST; + } + } + + typedef nsd-file-type { + type enumeration { + enum VNF_CONFIG; + enum NS_CONFIG; + enum ICONS; + enum SCRIPTS; + } + } + typedef export-schema { type enumeration { enum RIFT; @@ -182,35 +233,93 @@ module rw-pkg-mgmt } } - container download-jobs { - rwpb:msg-new DownloadJobs; - description "Download jobs"; - config false; + grouping copy-task-status { + leaf status { + description "The status of the copy task"; + type task-status; + default QUEUED; + } + } - list job { - rwpb:msg-new DownloadJob; - key "download-id"; + augment "/rw-project:project" { + container download-jobs { + description "Download jobs"; + config false; - leaf download-id { - description "Unique UUID"; - type string; + list job { + key "download-id"; + + leaf download-id { + description "Unique UUID"; + type string; + } + + leaf url { + description "URL of the download"; + type string; + } + + uses package-file-identifer; + uses download-task-status; } + } - leaf url { - description "URL of the download"; - type string; + container copy-jobs { + description "Copy jobs"; + config false; + + list job { + key "transaction-id"; + + leaf transaction-id { + description "Unique UUID"; + type string; + } + + uses copy-task-status; } + } - uses package-file-identifer; - uses download-task-status; + container create-jobs { + description "Create jobs"; + config false; + + list job { + key "transaction-id"; + + leaf transaction-id { + description "Unique UUID"; + type string; + } + + uses copy-task-status; + } + } + + container update-jobs { + description "Update jobs"; + config false; + + list job { + key "transaction-id"; + + leaf transaction-id { + description "Unique UUID"; + type string; + } + + uses copy-task-status; + } } } + rpc get-package-endpoint { description "Retrieves the endpoint for the descriptor"; input { uses package-identifer; + uses manotypes:rpc-project-name; } output { @@ -221,6 +330,30 @@ module rw-pkg-mgmt } } + rpc package-copy { + description "Copies the package specified in input and returns the copied package id"; + + input { + uses package-identifer; + + leaf package-name { + description "Name of destination package"; + type string; + } + + uses manotypes:rpc-project-name; + } + + output { + leaf transaction-id { + description "Valid ID to track the status of the task"; + type string; + } + + uses package-identifer; + } + } + rpc get-package-schema { description "Retrieves the schema for the package type"; @@ -229,6 +362,8 @@ module rw-pkg-mgmt description "Type of the package"; type manotypes:package-type; } + + uses manotypes:rpc-project-name; } output { @@ -245,6 +380,7 @@ module rw-pkg-mgmt input { uses package-identifer; uses external-url-data; + uses manotypes:rpc-project-name; } output { @@ -252,6 +388,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -261,6 +398,7 @@ module rw-pkg-mgmt input { uses package-identifer; uses external-url-data; + uses manotypes:rpc-project-name; } output { @@ -268,6 +406,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -276,6 +415,7 @@ module rw-pkg-mgmt input { uses package-identifer; + uses manotypes:rpc-project-name; leaf export-schema { description "Schema to export"; @@ -294,7 +434,6 @@ module rw-pkg-mgmt type export-format; default YAML; } - } output { @@ -307,6 +446,8 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + + uses manotypes:rpc-project-name; } } @@ -316,6 +457,23 @@ module rw-pkg-mgmt input { uses package-file-identifer; uses external-url-data; + uses manotypes:rpc-project-name; + + choice catalog-type { + mandatory true; + case VNFD { + leaf vnfd-file-type { + description "Type of vnfd file being added to the package"; + type vnfd-file-type; + } + } + case NSD { + leaf nsd-file-type { + description "Type of nsd file being added to the package"; + type nsd-file-type; + } + } + } } output { @@ -323,6 +481,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -331,6 +490,22 @@ module rw-pkg-mgmt input { uses package-file-identifer; + uses manotypes:rpc-project-name; + + choice catalog-type { + case VNFD { + leaf vnfd-file-type { + description "Type of file being removed from the vnfd package"; + type vnfd-file-type; + } + } + case NSD { + leaf nsd-file-type { + description "Type of file being removed from the nsd package"; + type nsd-file-type; + } + } + } } output { @@ -344,6 +519,7 @@ module rw-pkg-mgmt type string; } + uses manotypes:rpc-project-name; } }