X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Fplugins%2Fyang%2Frw-pkg-mgmt.yang;h=8f9fd71054003ee3d525b9661b2f6ddf69400068;hb=HEAD;hp=8370c1b96f47c87f4f760de5aa5a3278bb637988;hpb=176e6d8f11f444598b58c7fff06052892c170d1f;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang b/rwlaunchpad/plugins/yang/rw-pkg-mgmt.yang index 8370c1b9..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"; } @@ -53,6 +49,35 @@ module rw-pkg-mgmt prefix "manotypes"; } + 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."; @@ -69,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; @@ -175,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; + } + } + + augment "/rw-project:project" { + container download-jobs { + description "Download jobs"; + config false; - list job { - rwpb:msg-new DownloadJob; - key "download-id"; + list job { + key "download-id"; - leaf download-id { - description "Unique UUID"; - type string; + 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 { @@ -214,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"; @@ -222,6 +362,8 @@ module rw-pkg-mgmt description "Type of the package"; type manotypes:package-type; } + + uses manotypes:rpc-project-name; } output { @@ -238,6 +380,7 @@ module rw-pkg-mgmt input { uses package-identifer; uses external-url-data; + uses manotypes:rpc-project-name; } output { @@ -245,6 +388,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -254,6 +398,7 @@ module rw-pkg-mgmt input { uses package-identifer; uses external-url-data; + uses manotypes:rpc-project-name; } output { @@ -261,6 +406,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -269,6 +415,7 @@ module rw-pkg-mgmt input { uses package-identifer; + uses manotypes:rpc-project-name; leaf export-schema { description "Schema to export"; @@ -287,7 +434,6 @@ module rw-pkg-mgmt type export-format; default YAML; } - } output { @@ -300,6 +446,8 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + + uses manotypes:rpc-project-name; } } @@ -309,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 { @@ -316,6 +481,7 @@ module rw-pkg-mgmt description "Valid ID to track the status of the task"; type string; } + uses manotypes:rpc-project-name; } } @@ -324,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 { @@ -337,7 +519,8 @@ module rw-pkg-mgmt type string; } + uses manotypes:rpc-project-name; } } -} \ No newline at end of file +}