Merge "Add unittest to exercise python compatibility"
[osm/IM.git] / models / yang / rw-project.yang
1 /*
2  *   Copyright 2016 RIFT.IO Inc
3  *
4  *   Licensed under the Apache License, Version 2.0 (the "License");
5  *   you may not use this file except in compliance with the License.
6  *   You may obtain a copy of the License at
7  *
8  *       http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *   Unless required by applicable law or agreed to in writing, software
11  *   distributed under the License is distributed on an "AS IS" BASIS,
12  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *   See the License for the specific language governing permissions and
14  *   limitations under the License.
15  */
16
17 module rw-project
18 {
19   namespace "http://riftio.com/ns/riftware-1.0/rw-project";
20   prefix "rw-project";
21
22   description
23     "This yang module defines project-based tenancy for RIFT.ware.
24     Authorization for project access is defined in terms of RIFT.ware's
25     Role-Based Access Control (RBAC) model.";
26
27   revision 2015-09-10 {
28     description
29       "Initial revision.  This YANG file defines the model for
30       RIFT.ware project management for multi-tenancy";
31     reference
32       "RIFT.io MANO Tenancy Design Specification";
33   }
34
35   list project {
36     description
37       "Configuration and state for individual projects.  RIFT.ware
38       applications and projects are expected to augment this list in
39       order to add configuration for projects that is specific to the
40       product or application.  As such, this list contains minimal
41       data defined in this yang module.
42
43       When augmenting this element, other yang modules should prefer to
44       define containers with the same name as the augmenting module.
45       (Augmenting RIFT.ware modules should prefer to augment without
46       the rw prefix [for new features], or should prefer to augment the
47       augmented container of an existing augment, to ease future
48       adoption and/or standardization.)";
49
50     key "name";
51     leaf name {
52       description "Name of the project.";
53       type string {
54         length "1..255";
55       }
56     }
57
58     leaf description {
59       description "Information about project";
60       type string;
61     }
62   }
63 }