---
argument_specs:
  main:
    short_description: Install a list of Helm charts.
    options:
      releases:
        type: list
        elements: dict
        required: true
        description: |
          List of dictionaries passed as arguments to kubernetes.core.helm.
          Arguments passed here will override  those in `helm_settings`.  For
          structure of the dictionary, see the documentation for
          kubernetes.core.helm ansible module.
        options:
          chart_ref:
            type: path
            required: true
          chart_version:
            type: str
          name:
            type: str
            required: true
          namespace:
            type: str
            required: true
          values:
            type: dict
          # Possibly general options
          create_namespace:
            type: bool
          chart_repo_url:
            type: str
          disable_hook:
            type: bool
          history_max:
            type: int
          purge:
            type: bool
          replace:
            type: bool
          skip_crds:
            type: bool
          wait:
            type: bool
            default: true
          wait_timeout:
            type: str

      repositories:
        type: list
        elements: dict
        description: |
          List of dictionaries passed as arguments to
          kubernetes.core.helm_repository.
        default: []
        options:
          name:
            type: str
            required: true
          password:
            type: str
          username:
            type: str
          url:
            type: str
      release_common_opts:
        type: dict
        description: |
          Common arguments for every helm invocation.
        default: {}
        options:
          create_namespace:
            type: bool
            default: true
          chart_repo_url:
            type: str
          disable_hook:
            type: bool
          history_max:
            type: int
          purge:
            type: bool
          replace:
            type: bool
          skip_crds:
            type: bool
          wait:
            type: bool
            default: true
          wait_timeout:
            type: str
            default: "5m"