1 module access-control-models {
3 namespace "urn:opnfv:promise:acm";
5 import complex-types { prefix ct; }
6 import ietf-yang-types { prefix yang; }
7 import ietf-inet-types { prefix inet; }
15 grouping access-credentials {
25 description "The target endpoint for authentication";
38 /*********************************************
40 *********************************************/
42 ct:complex-type Identity {
44 description "Identity represents an administrative access model entity";
47 leaf id { type yang:uuid; mandatory true; }
48 leaf name { type string; mandatory true; }
49 leaf description { type string; }
50 leaf enabled { type boolean; default true; }
53 ct:complex-type User {
57 //type instance-identifier { ct:instance-type IdentityCredential; }
63 leaf fullName { type string; }
64 leaf email { type string; }
67 leaf-list groups { type instance-identifer { ct:instance-type Group; } }
68 leaf domain { type instance-identifier { ct:instance-type Domain; } }
71 ct:complex-type Group {
74 leaf-list users { type instance-identifier { ct:instance-type User; } }
75 leaf domain { type instance-identifier { ct:instance-type Domain; } }
78 ct:complex-type Domain {
81 "Domain represent a distinct administrative domain across
82 collection of users and groups.";
84 ct:instance-list users { ct:instance-type User; }
85 ct:instance-list groups { ct:instance-type Group; }