Hello I want to open a new thread just to clarify for me and probably for more people how to deal with create/delete object in genieacs.
I know that because of the nature of provision we can’t relay on the instance number, so to create a new one I use this on a particular CPE model and work just fine.
let d = declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.[]", null, {path: 3});
for (let instance of d){
let vlan = declare(instance.path + ".X_TP_WANPonLinkConfig.VLANIDMark", {value: 1}).value[0];
if (vlan == '-1'){
let id = instance.path.slice(instance.path.lastIndexOf('.') + 1);
declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice." + id + ".WANIPConnection.*", null, {path: 1});
declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice." + id + ".WANIPConnection.1.Enable", {value: now}, {value: "true"});
...
But how to proceed when I want to delete that instance? I know that if I do this:
declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.[]", null, {path: 2});
the last instance on that branch is going to be remove, but there is nothing that really make that the removed one is the one that I want.
(Of course if nobody has been messing with the cpe it’s going to be the last provisioned but…)
I hope somebody can enlighten me about this situation.
And if there is a fastest trick to select by a parameter value something like:
let e = declare("InternetGatewayDevice.WANDevice.1.WANConnectionDevice.*.X_TP_WANPonLinkConfig.[VLANIDMark:52]", {value: Date.now()})
or if it’s always needed to iterate on the whole branch?
Thank you.
Regards. Jorge.