nodes: 0, module; 1, function_definition; 2, function_name:get_release_id; 3, parameters; 4, block; 5, default_parameter; 6, expression_statement; 7, comment:# pylint: disable=invalid-name; 8, expression_statement; 9, if_statement; 10, return_statement; 11, identifier:version; 12, None; 13, comment:"""Get a unique, time-based identifier for a deployment
      that optionally, also includes some sort of version number
      or release.
  
      If a version is supplied, the release ID will be of the form
      '$timestamp-$version'. For example:
  
      >>> get_release_id(version='1.4.1')
      '20140214231159-1.4.1'
  
      If the version is not supplied the release ID will be of the
      form '$timestamp'. For example:
  
      >>> get_release_id()
      '20140214231159'
  
      The timestamp component of this release ID will be generated
      using the current time in UTC.
  
      :param str version: Version to include in the release ID
      :return: Unique name for this particular deployment
      :rtype: str
      """; 14, assignment; 15, comparison_operator:version is None; 16, block; 17, call; 18, identifier:ts; 19, call; 20, identifier:version; 21, None; 22, return_statement; 23, attribute; 24, argument_list; 25, attribute; 26, argument_list; 27, identifier:ts; 28, string; 29, identifier:format; 30, identifier:ts; 31, identifier:version; 32, call; 33, identifier:strftime; 34, identifier:RELEASE_DATE_FMT; 35, string_content:{0}-{1}; 36, attribute; 37, argument_list; 38, identifier:datetime; 39, identifier:utcnow
code: def get_release_id(version=None):
      """Get a unique, time-based identifier for a deployment
      that optionally, also includes some sort of version number
      or release.
  
      If a version is supplied, the release ID will be of the form
      '$timestamp-$version'. For example:
  
      >>> get_release_id(version='1.4.1')
      '20140214231159-1.4.1'
  
      If the version is not supplied the release ID will be of the
      form '$timestamp'. For example:
  
      >>> get_release_id()
      '20140214231159'
  
      The timestamp component of this release ID will be generated
      using the current time in UTC.
  
      :param str version: Version to include in the release ID
      :return: Unique name for this particular deployment
      :rtype: str
      """
      # pylint: disable=invalid-name
      ts = datetime.utcnow().strftime(RELEASE_DATE_FMT)
  
      if version is None:
          return ts
      return '{0}-{1}'.format(ts, version)