code: def __init__(
      self,
      name: str,
      roles: List[Role],
      stages: List[Stage],
      desc: str,
      optional: bool,
      multi: bool,
  ):
      if roles is None:
          roles = []
      if desc:
          desc = inspect.cleandoc(desc)
  
      self.name = name
      self.roles = roles
      self.stages = stages
      self.desc = desc
      self.optional = optional
      self.multi = multi
  
imports: import inspect
  import typing
  from typing import Generic, List, Optional, Type, TypeVar, Union
  from fate.arch import URI
  from fate.components.core.essential import Role, Stage
  from fate.components.core.spec.artifact import DataOutputMetadata, Metadata, MetricOutputMetadata, ModelOutputMetadata
  from fate.components.core.spec.component import ArtifactSpec
label_desc: Use image node_id 1 to create a new ArtifactDescribe object from inherited base classes: Generic with example: obj = ArtifactDescribe(name, roles, stages, desc, optional, multi)