There are some problems with the ApplyModuleDynamicValuesPatch:
It marshals values to json for every patch
All patches stored as a pure interface and also marshaled every time as well
What this PR does / why we need it
For the first issue, we can compose a patch set before applying it so all the values struct will be marshaled only once for all patches. For the second problem, we can store an object we want to add / change as a raw json message, so the patch is marshaled only once when returned (or not marshalled at all for python / bash hooks).
Overview
There are some problems with the ApplyModuleDynamicValuesPatch:
What this PR does / why we need it
For the first issue, we can compose a patch set before applying it so all the values struct will be marshaled only once for all patches. For the second problem, we can store an object we want to add / change as a raw json message, so the patch is marshaled only once when returned (or not marshalled at all for python / bash hooks).
Special notes for your reviewer