docs: def update(context, id, etag, name, component_types,
             label, next_topic_id, active, product_id, data):
      """update(context, id, etag, name, label, next_topic_id, active,
                product_id, data)
  
      Update a Topic.
  
      >>> dcictl topic-update [OPTIONS]
  
      :param string id: ID of the Topic [required]
      :param string etag: Entity tag of the Topic resource [required]
      :param string name: Name of the Topic
      :param string component_types: list of component types separated by commas
      :param string label: Label of the Topic
      :param string data: JSON data to pass during remote CI update
      :param boolean active: Set the topic in the active state
      :param string product_id: The product the topic belongs to
      :param string next_topic_id: The ID of the next topic for upgrades
      """
  
      if component_types:
          component_types = component_types.split(',')
  
      result = topic.update(context, id=id, etag=etag, name=name,
                            component_types=component_types,
                            label=label, next_topic_id=next_topic_id,
                            state=utils.active_string(active),
                            product_id=product_id, data=data)
      utils.format_output(result, context.format)