code: def translate_output_properties(res: 'Resource', output: Any) -> Any:
      
      if isinstance(output, dict):
          return {res.translate_output_property(k): translate_output_properties(res, v) for k, v in output.items()}
  
      if isinstance(output, list):
          return [translate_output_properties(res, v) for v in output]
  
      return output
docs: Recursively rewrite keys of objects returned by the engine to conform with a naming
      convention specified by the resource's implementation of `translate_output_property`.
  
      If output is a `dict`, every key is translated using `translate_output_property` while every value is transformed
      by recursing.
  
      If output is a `list`, every value is recursively transformed.
  
      If output is a primitive (i.e. not a dict or list), the value is returned without modification.