808bbdd1bc7cb7de68554815b733b66c1890c820
[cps.git] / cps-ncmp-service / src / main / resources / models / dmi-registry@2023-11-27.yang
1 module dmi-registry {
2
3   yang-version 1.1;
4
5   namespace "org:onap:cps:ncmp";
6
7   prefix dmi-reg;
8
9   contact "toine.siebelink@est.tech";
10
11   revision "2023-11-27" {
12     description
13     "Added alternate-id";
14   }
15
16   revision "2023-08-23" {
17     description
18     "Added module-set-tag";
19   }
20
21   revision "2022-05-10" {
22     description
23     "Added data-sync-enabled, sync-state with state, last-sync-time, data-store-sync-state with operational and running syncstate";
24   }
25
26   revision "2022-02-10" {
27     description
28     "Added state, lock-reason, lock-reason-details to aid with cmHandle sync and timestamp to aid with retry/timeout scenarios";
29   }
30
31   revision "2021-12-13" {
32     description
33     "Added new list of public-properties and additional-properties for a Cm-Handle which are exposed to clients of the NCMP interface";
34   }
35
36   revision "2021-10-20" {
37     description
38     "Added dmi-data-service-name & dmi-model-service-name to allow separate DMI instances for each responsibility";
39   }
40
41   revision "2021-05-20" {
42     description
43     "Initial Version";
44   }
45
46   grouping LockReason {
47     leaf reason {
48       type string;
49     }
50     leaf details {
51       type string;
52     }
53   }
54
55   grouping SyncState {
56    leaf sync-state {
57      type string;
58    }
59    leaf last-sync-time {
60      type string;
61    }
62   }
63
64   grouping Datastores {
65     container operational {
66       uses SyncState;
67     }
68     container running {
69       uses SyncState;
70     }
71   }
72
73   container dmi-registry {
74     list cm-handles {
75       key "id";
76       leaf id {
77         type string;
78       }
79       leaf dmi-service-name {
80         type string;
81       }
82       leaf dmi-data-service-name {
83         type string;
84       }
85       leaf dmi-model-service-name {
86         type string;
87       }
88       leaf module-set-tag {
89         type string;
90       }
91       leaf alternate-id {
92         type string;
93       }
94
95       list additional-properties {
96         key "name";
97         leaf name {
98           type string;
99         }
100         leaf value {
101           type string;
102         }
103       }
104
105       list public-properties {
106         key "name";
107         leaf name {
108           type string;
109         }
110         leaf value {
111           type string;
112         }
113       }
114
115       container state {
116         leaf cm-handle-state {
117           type string;
118         }
119
120         container lock-reason {
121           uses LockReason;
122         }
123
124         leaf last-update-time {
125           type string;
126         }
127
128         leaf data-sync-enabled {
129           type boolean;
130           default "false";
131         }
132
133         container datastores {
134           uses Datastores;
135         }
136       }
137     }
138   }
139 }
140