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 description "Project to which this belongs";
101 path "/rw-project:project/rw-project:name";
106 grouping staging-area-meta {
109 description "The status of the staging area";
110 type staging-area-status;
114 description "start time (unix epoch)";
119 description "stop time (unix epoch)";
124 description "size of the binary in bytes";
129 description "Path of the staging area";
135 augment "/rw-project:project" {
136 container staging-areas {
137 rwpb:msg-new StagingAreas;
138 description "Staging Areas";
142 rwpb:msg-new StagingArea;
146 description "Staging Area ID";
150 uses staging-area-config;
151 uses staging-area-meta;
156 rpc create-staging-area {
157 description "Creates a staging area for the upload.";
160 uses staging-area-config;
169 description "Endpoint that contains all the package-related data";