docs: def StartFlowAndWait(client_id,
                       token=None,
                       timeout=DEFAULT_TIMEOUT,
                       **flow_args):
    """Runs a flow and waits for it to finish.
  
    Args:
      client_id: The client id of the client to run on.
      token: The datastore access token.
      timeout: How long to wait for a flow to complete, maximum.
      **flow_args: Pass through to flow.
  
    Returns:
      The urn of the flow that was run.
    """
    flow_urn = flow.StartAFF4Flow(
        client_id=client_id, token=token, sync=True, **flow_args)
  
    WaitForFlow(flow_urn, token=token, timeout=timeout)
  
    return flow_urn