summaryrefslogtreecommitdiffstats
path: root/source/schema/openstack-compute.yang
diff options
context:
space:
mode:
authorPeter Lee <peter@corenova.com>2016-01-29 15:21:56 -0800
committerGerald Kunzmann <kunzmann@docomolab-euro.com>2016-01-29 23:48:40 +0000
commit2ca7d533b6fe01a10fcc3474812183e4c4a8431e (patch)
tree644d9cb2fead71ddf00c2a83219040288e23d471 /source/schema/openstack-compute.yang
parentdd0fe997358220ee0999f984f0120a4aa99d3341 (diff)
added copy of github.com/opnfv/promise source into the source directory
Change-Id: Ib212302a4132aa492f7b701a7ca02f54a7d0a6af (cherry picked from commit a46af646972b6ff263fb207d28a59e7ce7417b5c)
Diffstat (limited to 'source/schema/openstack-compute.yang')
-rw-r--r--source/schema/openstack-compute.yang72
1 files changed, 72 insertions, 0 deletions
diff --git a/source/schema/openstack-compute.yang b/source/schema/openstack-compute.yang
new file mode 100644
index 0000000..c3e790c
--- /dev/null
+++ b/source/schema/openstack-compute.yang
@@ -0,0 +1,72 @@
+module openstack-compute {
+ prefix os-com;
+
+ import nfv-infrastructure { prefix nfvi; }
+ import complex-types { prefix ct; }
+
+ identity nova { base nvfi:compute; }
+
+ feature availability-zone {
+ description "Specifies whether availability zone functionality is available.";
+ }
+ feature extended-status {
+ description "Specifies whether extended status functionality is available.";
+ }
+ feature security-groups {
+ description "Specifies whether security groups functionality is available.";
+ }
+
+ ct:complex-type ServerInstance {
+ ct:extends nfvi:ServerInstance;
+
+ leaf zone {
+ if-feature availability-zone;
+ type string;
+ }
+
+ leaf project {
+ type instance-identifier { ct:instance-type nfvi:ResourceProject; }
+ mandatory true;
+ }
+
+ container extended-status {
+ if-feature extended-status;
+ leaf locked-by;
+ leaf power;
+ leaf task;
+ leaf vm;
+ }
+
+ leaf-list security-groups {
+ if-feature security-groups;
+ type instance-identifier { ct:instance-type SecurityGroup; }
+ }
+
+ }
+
+ choice version {
+ case v2.1 {
+ ct:instance-list servers { ct:instance-type ServerInstance; }
+ }
+ }
+
+ // OpenStack Nova specific RPC calls
+ rpc resize {
+ input {
+ leaf server { type instance-type { ct:instance-type ServerInstance; } }
+ // other params for resize
+ }
+ }
+ rpc backup;
+ rpc migrate;
+ rpc restore;
+ rpc evacuate;
+ rpc lock;
+ rpc unlock;
+ rpc suspend;
+ rpc resume;
+ rpc pause;
+ rpc unpause;
+ rpc inject-network;
+ rpc reset-network;
+}