3 * Copyright 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.
19 module rw-project-mano
21 namespace "http://riftio.com/ns/riftware-1.0/rw-project-mano";
22 prefix "rw-project-mano";
25 prefix "rw-rbac-base";
36 import rw-rbac-internal {
37 prefix "rw-rbac-internal";
42 "Initial revision. This YANG file defines the
43 MANO extentions for project based tenancy";
45 "Derived from earlier versions of base YANG files";
48 identity catalog-oper {
49 base rw-project:project-role;
51 "The catalog-oper Role has read permission to the VNFD and NSD
52 catalogs within a Project. The catalog-oper Role may also have
53 execute permission to specific non-mutating RPCs.";
56 identity catalog-admin {
57 base rw-project:project-role;
59 "The catalog-admin Role has full CRUDX permissions to the VNFD
60 and NSD catalogs within a Project. The catalog-admin Role does
61 not provide general CRUDX permissions to the Project as a whole,
62 nor to the RIFT.ware platform in general.";
65 augment /rw-project:project/rw-project:project-config/rw-project:user {
67 "Configuration for MANO application-specific Roles.";
71 "The list of MANO application-specific Roles the User has been
72 assigned, within the enclosing Project.";
75 uses rw-rbac-base:simple-role;
79 augment /rw-project:project/rw-project:project-state/rw-project:user {
81 "The state for MANO application-specific Roles.";
85 "The state of the MANO application-specific Role the User has
89 uses rw-rbac-base:simple-role;
93 "The assignment of a User to a Role may be an asynchronous
94 operation. This value indicates whether the Role
95 assignment is active. If the value is 'active', then the
96 assignment is complete and active. Any other value
97 indicates that Role assignment is in a transitional or
98 failed state, as described in the value.";
104 augment /rw-project:project/rw-project:project-state {
106 "State for MANO application-specific Roles.";
110 "The set of Roles that may be configured into
111 /rw-project:project/rw-project:project-config/rw-project:user/
112 rw-project-mano:mano-role/rw-project-mano:role.";
115 uses rw-rbac-base:simple-role;
119 "A description of the Role.";