code: def _version_exists(json_spec, name=None, version=None):
      
      requested_name = json_spec['name']
      requested_version = json_spec['version']
  
      if requested_name == name and requested_version == version:
          return True
      else:
          try:
              desc_output = dxpy.api.global_workflow_describe('globalworkflow-' + json_spec['name'],
                                                              alias=json_spec['version'],
                                                              input_params={"fields": {"name": True,
                                                                                       "version": True}})
              return desc_output['name'] == json_spec['name'] and desc_output['version'] == json_spec['version']
          except dxpy.exceptions.DXAPIError:
              return False
          except:
              raise
docs: Returns True if a global workflow with the given name and version
      already exists in the platform and the user has developer rights
      to the workflow. "name" and "version" can be passed if we already
      made a "describe" API call on the global workflow and so know the
      requested name and version already exists.