/*
*
- * Copyright 2016 RIFT.IO Inc
+ * Copyright 2016-2017 RIFT.IO Inc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
import rw-cloud {
- prefix "rwcloud";
+ prefix "rw-cloud";
}
import rwcal {
prefix "rwcal";
}
+ import rw-project {
+ prefix "rw-project";
+ }
+
+ import rw-project-mano {
+ prefix "rw-project-mano";
+ }
+
+ import mano-types {
+ prefix "mano-types";
+ }
+
+ revision 2017-02-08 {
+ description
+ "Update model to support projects.";
+ }
+
revision 2016-06-01 {
description
"Initial revision.";
leaf cloud-account {
description "The cloud account to upload the image to";
type leafref {
- path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
+ path "../../../../rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
}
}
uses upload-task-status;
}
- container upload-jobs {
- rwpb:msg-new UploadJobs;
- description "Image upload jobs";
- config false;
+ augment "/rw-project:project" {
+ container upload-jobs {
+ rwpb:msg-new UploadJobs;
+ description "Image upload jobs";
+ config false;
- list job {
- rwpb:msg-new UploadJob;
- key "id";
+ list job {
+ rwpb:msg-new UploadJob;
+ key "id";
- leaf id {
- description "Unique image upload job-id";
- type uint32;
- }
+ leaf id {
+ description "Unique image upload job-id";
+ type uint32;
+ }
- leaf status {
- description "Current job status";
- type job-status;
- }
+ leaf status {
+ description "Current job status";
+ type job-status;
+ }
- leaf start-time {
- description "The job start time (unix epoch)";
- type uint32;
- }
+ leaf start-time {
+ description "The job start time (unix epoch)";
+ type uint32;
+ }
- leaf stop-time {
- description "The job stop time (unix epoch)";
- type uint32;
- }
+ leaf stop-time {
+ description "The job stop time (unix epoch)";
+ type uint32;
+ }
- list upload-tasks {
- rwpb:msg-new UploadTask;
- description "The upload tasks that are part of this job";
- uses upload-task;
+ list upload-tasks {
+ rwpb:msg-new UploadTask;
+ description "The upload tasks that are part of this job";
+ uses upload-task;
+ }
}
}
}
input {
rwpb:msg-new CreateUploadJob;
+ uses mano-types:rpc-project-name;
+
choice image-selection {
case onboarded-image {
description "Use an image previously onboarded in the image catalog";
leaf-list cloud-account {
description "List of cloud accounts to upload the image to";
type leafref {
- path "/rwcloud:cloud/rwcloud:account/rwcloud:name";
+ path "/rw-project:project[rw-project:name=current()/.." +
+ "/project-name]/rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
}
}
}
rpc cancel-upload-job {
input {
rwpb:msg-new CancelUploadJob;
+
leaf job-id {
type uint32;
}
+
+ uses mano-types:rpc-project-name;
}
}
}