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 {
56 import rw-project-mano {
57 prefix "rw-project-mano";
62 "Update model to support projects.";
70 typedef staging-area-status {
77 grouping staging-area-config {
80 type manotypes:package-type;
84 description "name of the binary";
89 description "lifetime of the staging area (in seconds)";
95 description "Project to which this belongs";
97 path "/rw-project:project/rw-project:name";
102 grouping staging-area-meta {
105 description "The status of the staging area";
106 type staging-area-status;
110 description "start time (unix epoch)";
115 description "stop time (unix epoch)";
120 description "size of the binary in bytes";
125 description "Path of the staging area";
131 augment "/rw-project:project" {
132 container staging-areas {
133 description "Staging Areas";
140 description "Staging Area ID";
144 uses staging-area-config;
145 uses staging-area-meta;
150 rpc create-staging-area {
151 description "Creates a staging area for the upload.";
154 uses staging-area-config;
163 description "Endpoint that contains all the package-related data";