# v1alpha1ApplicationSetGenerator

Type: object

ApplicationSetGenerator represents a generator at the top level of an ApplicationSet.

Schema: [v1alpha1ApplicationSetGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1applicationsetgenerator/index.md)

- `clusterDecisionResource` (optional)
  Reference: [v1alpha1DuckTypeGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1ducktypegenerator/index.md); Type: object
  
  DuckType defines a generator to match against clusters registered with ArgoCD.

- `clusters` (optional)
  Reference: [v1alpha1ClusterGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1clustergenerator/index.md); Type: object
  
  ClusterGenerator defines a generator to match against clusters registered with ArgoCD.

- `git` (optional)
  Reference: [v1alpha1GitGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1gitgenerator/index.md); Type: object

- `list` (optional)
  Reference: [v1alpha1ListGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1listgenerator/index.md); Type: object

- `matrix` (optional)
  Reference: [v1alpha1MatrixGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1matrixgenerator/index.md); Type: object
  
  MatrixGenerator generates the cartesian product of two sets of parameters. The parameters are defined by two nested
  generators.

- `merge` (optional)
  Reference: [v1alpha1MergeGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1mergegenerator/index.md); Type: object
  
  MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal
  between two sets of generated parameters, the parameter sets will be merged with the parameters from the latter
  generator taking precedence. Parameter sets with merge keys not present in the base generator's params will be
  ignored.
  For example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced
  [{'a': 'override'}], the united parameters for merge keys = ['a'] would be
  [{a: 'override', b: '1'}, {c: '1', d: '1'}].
  
  MergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its
  template will be merged with the top-level generator before the parameters are applied.

- `oci` (optional)
  Reference: [v1alpha1OciGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1ocigenerator/index.md); Type: object

- `plugin` (optional)
  Reference: [v1alpha1PluginGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1plugingenerator/index.md); Type: object
  
  PluginGenerator defines connection info specific to Plugin.

- `pullRequest` (optional)
  Reference: [v1alpha1PullRequestGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1pullrequestgenerator/index.md); Type: object
  
  PullRequestGenerator defines a generator that scrapes a PullRequest API to find candidate pull requests.

- `scmProvider` (optional)
  Reference: [v1alpha1SCMProviderGenerator](https://sourcey-argocd.pages.dev/api/models/v1alpha1scmprovidergenerator/index.md); Type: object
  
  SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos.

- `selector` (optional)
  Reference: [v1LabelSelector](https://sourcey-argocd.pages.dev/api/models/v1labelselector/index.md); Type: object