diff options
author | 2017-11-28 11:20:33 +0000 | |
---|---|---|
committer | 2017-11-28 11:20:33 +0000 | |
commit | a7a703420f552c0df396575e893a319cc0233ea8 (patch) | |
tree | 9b0cd1156180772ea4c90c1efabe8dbd08e9dc87 /deprecated/source/schema/openstack-identity.yang | |
parent | e081a200bc12b4c23d283b1d447dbaa4d73a1228 (diff) | |
parent | 3ce698ee20cca69104874d42e64300abe641a27c (diff) |
Merge "Proposal to move Promise shim-layer code to a new deprecated folder"
Diffstat (limited to 'deprecated/source/schema/openstack-identity.yang')
-rw-r--r-- | deprecated/source/schema/openstack-identity.yang | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/deprecated/source/schema/openstack-identity.yang b/deprecated/source/schema/openstack-identity.yang new file mode 100644 index 0000000..4b92957 --- /dev/null +++ b/deprecated/source/schema/openstack-identity.yang @@ -0,0 +1,84 @@ +module openstack-identity { + namespace "urn:opnfv:promise:openstack:identity"; + prefix os-id; + + import access-control-models { prefix acm; } + import nfv-infrastructure { prefix nfvi; } + import complex-types { prefix ct; } + import ietf-yang-types { prefix yang; } + + description + "OpenStack Identity Data Models with complex types and typed instance + identifiers represent the various Access Control Models available + within OpenStack."; + + revision 2015-09-03 { + description + "This YANG module is modeled using 'yangforge' which natively provides + complex types and typed instance identifiers. This module + provides various collections of resource management data models + for instance based management"; + } + + /********************************************* + * OpenStack Identity Models + *********************************************/ + + ct:complex-type Project { + ct:extends acm:Group; + description + "OpenStack Project represent a distinct resource consumption space across + collection of users and groups that can reserve and allocate + resources."; + + leaf-list groups { type instance-identifer { ct:instance-type acm:Group; } } + + container resource { + leaf-list images { + if-feature vm-images; + type instance-identifier { ct:instance-type nfvi:VirtualMachineImage; } + } + + leaf-list flavors { + if-feature compute-flavors; + type instance-identifier { ct:instance-type nfvi:VirtualMachineFlavor; } + } + } + } + + ct:complex-type User { + ct:extends acm:User; + + description + "OpenStack User can also belong to multiple projects."; + + leaf-list projects { type instance-identifier { ct:instance-type Project; } } + } + + ct:complex-type Group { + ct:extends acm:Group; + + description + "OpenStack Group can also belong to multiple projects."; + + leaf-list projects { type instance-identifier { ct:instance-type Project; } } + } + + ct:complex-type Domain { + ct:extends acm:Domain; + + description + "OpenStack Domain represent a distinct administrative domain including projects."; + + ct:instance-list projects { ct:instance-type Project; } + } + + ct:complex-type Token { + leaf key { type yang:uuid; } + leaf identity { type instance-identifier { ct:instance-type Identity; } } + } + + + rpc create-project; + rpc remove-project; +} |