4 * Copyright 2016-2017 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
22 module rw-resource-mgr
24 namespace "http://riftio.com/ns/riftware-1.0/rw-resource-mgr";
25 prefix "rw-resource-mgr";
31 import rw-yang-types {
43 import ietf-yang-types {
55 import rw-project-mano {
56 prefix "rw-project-mano";
61 "Update model to support projects.";
69 grouping resource-pool-info {
71 description "Name of the resource pool";
77 description "Type of resource";
85 description "Type of pool";
94 description "Maximum size to which a dynamic resource pool can grow";
100 augment "/rw-project:project" {
101 container resource-mgr-config {
102 description "Data model for configuration of resource-mgr";
105 container management-domain {
107 description "The management domain name this launchpad is associated with.";
113 container resource-pools {
114 description "Resource Pool configuration";
119 "Resource pool for the configured cloud account";
121 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
129 grouping resource-state {
130 leaf resource-state {
138 leaf resource-errors {
139 description "Error message details in case of failed resource state";
144 augment "/rw-project:project" {
145 container resource-mgmt {
146 description "Resource management ";
149 container vdu-event {
150 description "Events for VDU Management";
152 list vdu-event-data {
156 description "Identifier associated with the VDU transaction";
161 description "The cloud account to use for this resource request";
163 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
167 container request-info {
168 description "Information about required resource";
170 uses rwcal:vdu-create-params;
173 container resource-info {
174 description "Information about allocated resource";
179 uses rwcal:vdu-info-params;
184 container vlink-event {
185 description "Events for Virtual Link management";
187 list vlink-event-data {
192 description "Identifier associated with the Virtual Link transaction";
197 description "The cloud account to use for this resource request";
199 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
203 container request-info {
204 description "Information about required resource";
206 uses rwcal:virtual-link-create-params;
209 container resource-info {
214 uses rwcal:virtual-link-info-params;
222 augment "/rw-project:project" {
223 container resource-pool-records {
224 description "Resource Pool Records";
231 "The configured cloud account's pool records.";
233 path "../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
239 uses resource-pool-info;
249 leaf total-resources {
253 leaf free-resources {
257 leaf allocated-resources {
266 augment "/rw-project:project" {
267 container resource-mgr-data {
268 description "Resource Manager operational data";
271 container pool-record {
272 description "Resource Pool record";
279 "The configured cloud account's pool records.";
281 path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
287 uses resource-pool-info;
291 uses rwcal:vdu-info-params;
294 list in-use-vdu-list {
296 uses rwcal:vdu-info-params;
299 list free-vlink-list {
301 uses rwcal:virtual-link-info-params;
304 list in-use-vlink-list {
306 uses rwcal:virtual-link-info-params;
314 augment "/rw-project:project/resource-mgmt/vdu-event/vdu-event-data/request-info/vm-flavor" {
315 uses manotypes:vm-flavor-name;