summaryrefslogtreecommitdiffstats
path: root/source/schema/openstack-compute.yang
diff options
context:
space:
mode:
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;
+}