30 lines
978 B
Smarty
30 lines
978 B
Smarty
{{/* volumeSnapshot Validation */}}
|
|
{{/* Call this template:
|
|
{{ include "tc.v1.common.lib.volumesnapshot.validation" (dict "objectData" $objectData) -}}
|
|
objectData:
|
|
rootCtx: The root context of the chart.
|
|
objectData: The volumesnapshot object.
|
|
*/}}
|
|
|
|
{{- define "tc.v1.common.lib.volumesnapshot.validation" -}}
|
|
{{- $rootCtx := .rootCtx -}}
|
|
{{- $objectData := .objectData -}}
|
|
|
|
{{- if not $objectData.source -}}
|
|
{{- fail "Volume Snapshot - Expected non empty [source]" -}}
|
|
{{- end -}}
|
|
|
|
{{- $sourceTypes := (list "volumeSnapshotContentName" "persistentVolumeClaimName") -}}
|
|
{{- $sourceCount := 0 -}}
|
|
{{- range $t := $sourceTypes -}}
|
|
{{- if (get $objectData.source $t) -}}
|
|
{{- $sourceCount = add1 $sourceCount -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- if ne $sourceCount 1 -}}
|
|
{{- fail (printf "Volume Snapshot - Expected exactly one of the valid source types [%s]. Found [%d]" (join ", " $sourceTypes) $sourceCount) -}}
|
|
{{- end -}}
|
|
|
|
{{- end -}}
|