code: def gen_go_struct(
      package: str,
      file: str,
      line: int,
      imports: List[str],
  ) -> Tuple[str, List[str]]:
      """Used by the //go:generate decorations on structs."""
      gotype = next_type_name(file, line)
      field_spec, union_spec = find_struct(file, gotype)
  
      schema = find_schema(package, gotype)
  
      lines = []
      lines.append("// Code generated by gen.py. DO NOT EDIT.")
      lines.append("")
  
      lines.append(f"package {package}")
      lines.append("")
  
      lines.append("import (")
  
      # Sort imports so `make fmt` doesn't cause obnoxious issues.
      imports = sorted(
          ['"github.com/santhosh-tekuri/jsonschema/v2"'] + imports
      )
      for imp in imports:
          lines.append("\t" + imp)
      lines.append("")
      lines.append(
          '\t"github.com/determined-ai/determined/master/pkg/schemas"'
      )
      lines.append(")")
  
      lines += go_getters_and_setters(gotype, schema, field_spec)
      lines += go_unions(gotype, package, file, schema, union_spec)
      lines += go_schema_interface(gotype, schema.url)
  
      filename = "zgen_" + camel_to_snake(gotype) + ".go"
  
      return filename, lines
  
imports: import argparse
  import json
  import os
  import re
  import sys
  from typing import List, Optional, Tuple
label_desc: Use image node_id 12 for calling a global function with example usage: gen_go_struct(package, file, line, imports) and returns: filename,  lines