class_docstr: Descriptor for an enum defined in a .proto file.
  
  Attributes:
    name (str): Name of the enum type.
    full_name (str): Full name of the type, including package name
      and any enclosing type(s).
  
    values (list[EnumValueDescriptors]): List of the values
      in this enum.
    values_by_name (dict(str, EnumValueDescriptor)): Same as :attr:`values`,
      but indexed by the "name" field of each EnumValueDescriptor.
    values_by_number (dict(int, EnumValueDescriptor)): Same as :attr:`values`,
      but indexed by the "number" field of each EnumValueDescriptor.
    containing_type (Descriptor): Descriptor of the immediate containing
      type of this enum, or None if this is an enum defined at the
      top level in a .proto file.  Set by Descriptor's constructor
      if we're passed into one.
    file (FileDescriptor): Reference to file descriptor.
    options (descriptor_pb2.EnumOptions): Enum options message or
      None to use default enum options.
docstr: Arguments are as described in the attribute description above.
  
  Note that filename is an obsolete argument, that is not used anymore.
  Please use file.name to access this as an attribute.
docstr_tok: ["Arguments","are","as","described","in","the","attribute","description","above",".","Note","that","filename","is","an","obsolete","argument",",","that","is","not","used","anymore",".","Please","use","file.name","to","access","this","as","an","attribute","."]
code: def __init__(
      self,
      name,
      full_name,
      filename,
      values,
      containing_type=None,
      options=None,
      serialized_options=None,
      file=None,  # pylint: disable=redefined-builtin
      serialized_start=None,
      serialized_end=None,
      create_key=None,
  ):
      """Arguments are as described in the attribute description above.
  
      Note that filename is an obsolete argument, that is not used anymore.
      Please use file.name to access this as an attribute.
      """
      if create_key is not _internal_create_key:
          _Deprecated("EnumDescriptor")
  
      super(EnumDescriptor, self).__init__(
          options,
          "EnumOptions",
          name,
          full_name,
          file,
          containing_type,
          serialized_start=serialized_start,
          serialized_end=serialized_end,
          serialized_options=serialized_options,
      )
  
      self.values = values
      for value in self.values:
          value.type = self
      self.values_by_name = dict((v.name, v) for v in values)
      # Values are reversed to ensure that the first alias is retained.
      self.values_by_number = dict(
          (v.number, v) for v in reversed(values)
      )
  
imports: import threading
  import warnings
  from google.protobuf.internal import api_implementation
label_desc: Use image node_id 1 to create a new EnumDescriptor object from inherited base classes: _NestedDescriptorBase with example: obj = EnumDescriptor(name, full_name, filename, values, containing_type, options, serialized_options, file, serialized_start, serialized_end, create_key)