diff options
Diffstat (limited to 'deprecated/source/schema/openstack.yang')
-rw-r--r-- | deprecated/source/schema/openstack.yang | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/deprecated/source/schema/openstack.yang b/deprecated/source/schema/openstack.yang new file mode 100644 index 0000000..6878f7e --- /dev/null +++ b/deprecated/source/schema/openstack.yang @@ -0,0 +1,74 @@ +module openstack { + prefix os; + + import nfv-infrastructure { prefix nfvi; } + import access-control-models { prefix acm; } + import ietf-yang-types { prefix yang; } + import ietf-inet-types { prefix inet; } + import complex-types { prefix ct; } + + description + "OpenStack controller module"; + + revision 2016-01-19 { + description "Basic coverage of limited intents needed for Promise"; + } + + identity openstack { base nfvi:manager; } + identity release { base openstack; } + identity distro { base openstack; } + + feature os-system-admin { + description "OpenStack system administration capability"; + } + + grouping os-credentials { + uses acm:access-credentials { + refine strategy { + default keystone; + } + refine endpoint { + default "http://localhost:5000/v2.0"; + } + } + container tenant { + leaf id { type string; } + leaf name { type string; } + } + } + + // OpenStack infrastructure platform (PLACEHOLDER) + container platform { + uses nfvi:resource-stack; + + leaf release { type identityref { base release; } } + leaf distro { type identityref { base distro; } } + + //ct:instance-list services { ct:instance-type OpenStackService; } + //ct:instance-list endpoints { ct:instance-type ServiceEndpoint; } + } + + // OpenStack system administrator configuration tree + container admin { + if-feature os-system-admin; + container auth { + uses os-credentials; + leaf token { type yang:uuid; } + } + } + + rpc authenticate { + if-feature os-system-admin; + input { + uses os-credentials; + } + output { + leaf token { type yang:uuid; } + } + } + + rpc create-tenant { + if-feature os-system-admin; + + } +} |