Update DMI Registry yang to support DataStoreSyncState
[cps.git] / cps-ri / src / main / resources / changelog / db / changes / data / yang-models / dmi-registry@2022-05-10.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 "2022-05-10" {
12     description
13     "Added DataSyncEnabled, SyncState with State, LastSyncTime, DataStoreSyncState with Operational and Running syncstate";
14   }
15
16   revision "2022-02-10" {
17     description
18     "Added State, LockReason, LockReasonDetails to aid with cmHandle sync and timestamp to aid with retry/timeout scenarios";
19   }
20
21   revision "2021-12-13" {
22     description
23     "Added new list of public additional properties for a Cm-Handle which are exposed to clients of the NCMP interface";
24   }
25
26   revision "2021-10-20" {
27     description
28     "Added dmi-data-service-name & dmi-model-service-name to allow separate DMI instances for each responsibility";
29   }
30
31   revision "2021-05-20" {
32     description
33     "Initial Version";
34   }
35
36   grouping LockReason {
37     leaf reason {
38       type string;
39     }
40     leaf details {
41       type string;
42     }
43   }
44
45   grouping SyncState {
46    leaf sync-state {
47      type string;
48    }
49    leaf last-sync-time {
50      type string;
51    }
52   }
53
54   grouping Datastores {
55     container operational {
56       uses SyncState;
57     }
58     container running {
59       uses SyncState;
60     }
61   }
62
63   container dmi-registry {
64     list cm-handles {
65       key "id";
66       leaf id {
67         type string;
68       }
69       leaf dmi-service-name {
70         type string;
71       }
72       leaf dmi-data-service-name {
73         type string;
74       }
75       leaf dmi-model-service-name {
76         type string;
77       }
78
79       list additional-properties {
80         key "name";
81         leaf name {
82           type string;
83         }
84         leaf value {
85           type string;
86         }
87       }
88
89       list public-properties {
90         key "name";
91         leaf name {
92           type string;
93         }
94         leaf value {
95           type string;
96         }
97       }
98
99       container state {
100         leaf cm-handle-state {
101           type string;
102         }
103
104         container lock-reason {
105           uses LockReason;
106         }
107
108         leaf last-update-time {
109           type string;
110         }
111
112         leaf data-sync-enabled {
113           type boolean;
114           default "false";
115         }
116
117         container datastores {
118           uses Datastores;
119         }
120       }
121     }
122   }
123 }