3 * Copyright 2016-2017 RIFT.IO Inc
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
21 * @file rw-staging-mgmt.yang
22 * @author Varun Prasad
24 * @brief Pacakage Management Yang
27 module rw-staging-mgmt
29 namespace "http://riftio.com/ns/riftware-1.0/rw-staging-mgmt";
30 prefix "rw-staging-mgmt";
32 import ietf-yang-types {
60 import rw-project-mano {
61 prefix "rw-project-mano";
66 "Update model to support projects.";
74 typedef staging-area-status {
81 grouping staging-area-config {
84 type manotypes:package-type;
88 description "name of the binary";
93 description "lifetime of the staging area (in seconds)";
99 grouping staging-area-meta {
102 description "The status of the staging area";
103 type staging-area-status;
107 description "start time (unix epoch)";
112 description "stop time (unix epoch)";
117 description "size of the binary in bytes";
122 description "Path of the staging area";
128 augment "/rw-project:project" {
129 container staging-areas {
130 rwpb:msg-new StagingAreas;
131 description "Staging Areas";
135 rwpb:msg-new StagingArea;
139 description "Staging Area ID";
143 uses staging-area-config;
144 uses staging-area-meta;
149 rpc create-staging-area {
150 description "Creates a staging area for the upload.";
153 uses staging-area-config;
154 uses manotypes:rpc-project-name;
163 description "Endpoint that contains all the package-related data";