class_docstr: A domain that takes on a fixed set of values.
  
  These values may be of any (single) domain type.
class_docstr_tok: ["A","domain","that","takes","on","a","fixed","set","of","values",".","These","values","may","be","of","any","(","single",")","domain","type","."]
code: def update_hparam_info(self, hparam_info):
      hparam_info.type = {
          int: api_pb2.DATA_TYPE_FLOAT64,  # TODO(#1998): Add int dtype.
          float: api_pb2.DATA_TYPE_FLOAT64,
          bool: api_pb2.DATA_TYPE_BOOL,
          str: api_pb2.DATA_TYPE_STRING,
      }[self._dtype]
      hparam_info.ClearField("domain_discrete")
      hparam_info.domain_discrete.extend(self._values)
  
imports: import abc
  import hashlib
  import json
  import random
  import time
  import numpy
  from tensorboard.compat import tf2
  from tensorboard.compat.proto import summary_pb2
  from tensorboard.plugins.hparams import api_pb2
  from tensorboard.plugins.hparams import metadata
  from tensorboard.plugins.hparams import plugin_data_pb2
label_desc: Use image node_id 7 for calling the Discrete obj's underlying member method code with example usage: obj.update_hparam_info(hparam_info) without return types