diff options
Diffstat (limited to 'source/schema/openstack-compute.yang')
-rw-r--r-- | source/schema/openstack-compute.yang | 72 |
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; +} |