# Interface ConfigurationVariant

All Superinterfaces:
  `HasAttributes, HasConfigurableAttributes<ConfigurationVariant>, Named`

public interface ConfigurationVariant extends Named, HasConfigurableAttributes<ConfigurationVariant>
Represents some variant of an outgoing configuration.

Since:
  3.3

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `artifact(Object notation)`
  Adds an artifact to this variant.
  `void`
  `artifact(Object notation, Action<? super ConfigurablePublishArtifact> configureAction)`
  Adds an artifact to this variant, configuring it using the given action.
  `PublishArtifactSet`
  `getArtifacts()`
  Returns the artifacts associated with this variant.
  `Property<String>`
  `getDescription()`
  Returns an optional note describing this variant.

  ### Methods inherited from interface HasAttributes

  `getAttributes`

  ### Methods inherited from interface HasConfigurableAttributes

  `attributes`

  ### Methods inherited from interface Named

  `getName`

- ## Method Details

  - ### getDescription

    @Incubating Property<String> getDescription()
    Returns an optional note describing this variant.
    Since:
      9.0.0

  - ### getArtifacts

    PublishArtifactSet getArtifacts()
    Returns the artifacts associated with this variant.

  - ### artifact

    void artifact(Object notation)
    Adds an artifact to this variant.

    See `ArtifactHandler` for details of the supported notations.

  - ### artifact

    void artifact(Object notation, Action<? super ConfigurablePublishArtifact> configureAction)
    Adds an artifact to this variant, configuring it using the given action.

    See `ArtifactHandler` for details of the supported notations.