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";
35 import rw-yang-types {
47 import ietf-yang-types {
61 "Update model to support projects.";
69 grouping resource-pool-info {
71 description "Name of the resource pool";
72 rwpb:field-inline "true";
73 rwpb:field-string-max 64;
79 description "Type of resource";
87 description "Type of pool";
96 description "Maximum size to which a dynamic resource pool can grow";
102 augment "/rw-project:project" {
103 container resource-mgr-config {
104 description "Data model for configuration of resource-mgr";
105 rwpb:msg-new ResourceManagerConfig;
108 container management-domain {
110 description "The management domain name this launchpad is associated with.";
111 rwpb:field-inline "true";
112 rwpb:field-string-max 64;
118 container resource-pools {
119 description "Resource Pool configuration";
120 rwpb:msg-new ResourcePools;
125 "Resource pool for the configured cloud account";
127 path "../../../../rwcloud:cloud/rwcloud:account/rwcloud:name";
135 grouping resource-state {
136 leaf resource-state {
144 leaf resource-errors {
145 description "Error message details in case of failed resource state";
150 augment "/rw-project:project" {
151 container resource-mgmt {
152 description "Resource management ";
155 container vdu-event {
156 description "Events for VDU Management";
157 rwpb:msg-new VDUEvent;
159 list vdu-event-data {
160 rwpb:msg-new VDUEventData;
164 description "Identifier associated with the VDU transaction";
169 description "The cloud account to use for this resource request";
171 path "../../../../rwcloud:cloud/rwcloud:account/rwcloud:name";
175 container request-info {
176 description "Information about required resource";
178 uses rwcal:vdu-create-params;
181 container resource-info {
182 description "Information about allocated resource";
187 uses rwcal:vdu-info-params;
192 container vlink-event {
193 description "Events for Virtual Link management";
194 rwpb:msg-new VirtualLinkEvent;
196 list vlink-event-data {
197 rwpb:msg-new VirtualLinkEventData;
202 description "Identifier associated with the Virtual Link transaction";
207 description "The cloud account to use for this resource request";
209 path "../../../../rwcloud:cloud/rwcloud:account/rwcloud:name";
213 container request-info {
214 description "Information about required resource";
216 uses rwcal:virtual-link-create-params;
219 container resource-info {
224 uses rwcal:virtual-link-info-params;
232 augment "/rw-project:project" {
233 container resource-pool-records {
234 description "Resource Pool Records";
235 rwpb:msg-new ResourcePoolRecords;
242 "The configured cloud account's pool records.";
244 path "../../../rwcloud:cloud/rwcloud:account/rwcloud:name";
249 rwpb:msg-new ResourceRecordInfo;
251 uses resource-pool-info;
261 leaf total-resources {
265 leaf free-resources {
269 leaf allocated-resources {
278 augment "/rw-project:project" {
279 container resource-mgr-data {
280 description "Resource Manager operational data";
283 container pool-record {
284 description "Resource Pool record";
289 rwpb:msg-new "ResmgrCloudPoolRecords";
292 "The configured cloud account's pool records.";
294 path "../../../../rwcloud:cloud/rwcloud:account/rwcloud:name";
300 uses resource-pool-info;
304 uses rwcal:vdu-info-params;
307 list in-use-vdu-list {
309 uses rwcal:vdu-info-params;
312 list free-vlink-list {
314 uses rwcal:virtual-link-info-params;
317 list in-use-vlink-list {
319 uses rwcal:virtual-link-info-params;