{%- if cookiecutter.__include_volume != "no" %}
{% raw %}
{{- $builtinVolumes := include "{% endraw %}{{ cookiecutter.template_base_name }}{% raw %}.builtinVolumes" . | fromYaml }}
{{- $allVolumes := mustMergeOverwrite (dict) $builtinVolumes .Values.volumes }}

{{- range $name, $options := $allVolumes }}
{{- if and (not $options.projected) (not $options.mountOnly) }}
{%- endraw %}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  creationTimestamp: null
  labels:
    {{ "{{-" }} include "{{ cookiecutter.template_base_name }}.labels" $ | nindent 4 {{ "}}" }}
    io.kompose.service: {% raw %}{{ $name | quote }}{% endraw %}
    {%- raw %}
    {{- if $options.excludeFromBackup }}
    velero.io/exclude-from-backup: 'true'
    {{- end }}
    {%- endraw %}
  name: {% raw %}{{ $name | quote }}{% endraw %}
  {%- raw %}
  {{- if or (not (hasKey $options "keep")) (eq (coalesce $options.keep false) true) }}
  annotations:
    "helm.sh/resource-policy": keep
  {{- end }}
  {%- endraw %}
spec:
  {%- raw %}
  {{- if $options.accessModes }}
  accessModes: {{ toYaml $options.accessModes | nindent 4 }}
  {{- else }}
  accessModes:
    - ReadWriteMany
  {{- end }}
  {%- endraw %}
  resources:
    requests:
      storage: {% raw %}{{ $options.storage | default "1Gi" | quote }}{% endraw %}
  {%- raw %}
  {{- if $options.volumeName }}
  volumeName: {{ $options.volumeName | quote }}
  {{- end }}
  {{- if kindIs "invalid" $options.storageClassName -}}
  {{- /*
  We do allow empty storageClassNames here (i.e. ""). but if it is not defined, 
  we use "ocs-storagecluster-cephfs".
  */}}
  storageClassName: "ocs-storagecluster-cephfs"
  {{- else }}
  storageClassName: {{ $options.storageClassName | quote }}
  {{- end }}
  {%- endraw %}
...
{%- raw %}
{{- end }}
{{- end }}
{%- endraw %}
{%- endif %}