4 * Copyright 2016 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 {
60 grouping resource-pool-info {
62 description "Name of the resource pool";
63 rwpb:field-inline "true";
64 rwpb:field-string-max 64;
70 description "Type of resource";
78 description "Type of pool";
87 description "Maximum size to which a dynamic resource pool can grow";
93 container resource-mgr-config {
94 description "Data model for configuration of resource-mgr";
95 rwpb:msg-new ResourceManagerConfig;
98 container management-domain {
100 description "The management domain name this launchpad is associated with.";
101 rwpb:field-inline "true";
102 rwpb:field-string-max 64;
108 container resource-pools {
109 description "Resource Pool configuration";
110 rwpb:msg-new ResourcePools;
115 "Resource pool for the configured cloud account";
117 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
124 grouping resource-state {
125 leaf resource-state {
133 leaf resource-errors {
134 description "Error message details in case of failed resource state";
139 container resource-mgmt {
140 description "Resource management ";
143 container vdu-event {
144 description "Events for VDU Management";
145 rwpb:msg-new VDUEvent;
147 list vdu-event-data {
148 rwpb:msg-new VDUEventData;
152 description "Identifier associated with the VDU transaction";
157 description "The cloud account to use for this resource request";
159 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
163 container request-info {
164 description "Information about required resource";
166 uses rwcal:vdu-create-params;
169 container resource-info {
170 description "Information about allocated resource";
175 uses rwcal:vdu-info-params;
180 container vlink-event {
181 description "Events for Virtual Link management";
182 rwpb:msg-new VirtualLinkEvent;
184 list vlink-event-data {
185 rwpb:msg-new VirtualLinkEventData;
190 description "Identifier associated with the Virtual Link transaction";
195 description "The cloud account to use for this resource request";
197 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
201 container request-info {
202 description "Information about required resource";
204 uses rwcal:virtual-link-create-params;
207 container resource-info {
212 uses rwcal:virtual-link-info-params;
219 container resource-pool-records {
220 description "Resource Pool Records";
221 rwpb:msg-new ResourcePoolRecords;
228 "The configured cloud account's pool records.";
230 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
235 rwpb:msg-new ResourceRecordInfo;
237 uses resource-pool-info;
247 leaf total-resources {
251 leaf free-resources {
255 leaf allocated-resources {
263 container resource-mgr-data{
264 description "Resource Manager operational data";
267 container pool-record {
268 description "Resource Pool record";
273 rwpb:msg-new "ResmgrCloudPoolRecords";
276 "The configured cloud account's pool records.";
278 path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
284 uses resource-pool-info;
288 uses rwcal:vdu-info-params;
291 list in-use-vdu-list {
293 uses rwcal:vdu-info-params;
296 list free-vlink-list {
298 uses rwcal:virtual-link-info-params;
301 list in-use-vlink-list {
303 uses rwcal:virtual-link-info-params;