class_docstr: {@code ConfigOptions} are used to build a :class:`~pyflink.common.ConfigOption`. The option is
  typically built in one of the following patterns:
  
  Example:
  ::
  
      # simple string-valued option with a default value
      >>> ConfigOptions.key("tmp.dir").string_type().default_value("/tmp")
      # simple integer-valued option with a default value
      >>> ConfigOptions.key("application.parallelism").int_type().default_value(100)
      # option with no default value
      >>> ConfigOptions.key("user.name").string_type().no_default_value()
docstr: Starts building a new ConfigOption.
  
  :param key: The key for the config option.
  :return: The builder for the config option with the given key.
code: def key(key: str):
      """
      Starts building a new ConfigOption.
  
      :param key: The key for the config option.
      :return: The builder for the config option with the given key.
      """
      gateway = get_gateway()
      j_option_builder = (
          gateway.jvm.org.apache.flink.configuration.ConfigOptions.key(
              key
          )
      )
      return ConfigOptions.OptionBuilder(j_option_builder)
  
file_path: flink/flink-python/pyflink/common/config_options.py
imports: from typing import TypeVar, Generic
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 2 for calling the ConfigOptions obj's underlying member method code with example usage: obj.key(key) and returns: ConfigOptions