PS: as I didn't answer all your questions 😊 .
So, our approach, was NOT TO HAVE BIG files, as that needs to be loaded in a SHORT time, therefore I think you can split them - you know better.
Changing the update/check time to 10sec, is NoK, I would prefer 60sec, as it takes couple of second to load those files and also update them over to the other GW's where they are used. So think about that.
I'm not sure about JSON inclusion, what we're doing is to generate the JSON on the fly .
In order to keep the same ID (UUID) on the objects, we've adapted the script, that uses JQ to look for the names and grabs the UID , so we're making sure we use the same ...
#grab and set the .id UUID=$(jq '.objects[] | select(.name == "'${NAME[$z]}'") | .id' $JSON_FILEBK)
|
As for the case we're hitting and UID that already exists in CheckPoint DB, I did not faced that yet, but we've set an SmartEvent alert if we're seeing some JSON related error messages in the 'blade:"CloudGuard IaaS"' .
Hope it helps..