blob: 6878f7e0303e21649557beb4edc55da0ed3a293f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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;
}
}
|