-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlist-functions.yaml
87 lines (77 loc) · 1.58 KB
/
list-functions.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# define list
# -> [1 2 3 4 5]
{{ $myList := list 1 2 3 4 5 }}
# append item
# [1 2 3 4 5] -> [1 2 3 4 5 6]
{{- $myList = append $myList 6 }}
# prepend item
# [1 2 3 4 5 6] -> [0 1 2 3 4 5 6]
{{- $myList = prepend $myList 0 }}
# concat item
# [0 1 2 3 4 5 6], [7 8], [9] -> [0 1 2 3 4 5 6 7 8 9]
{{- $myList2 := list 7 8 }}
{{- $myList3 := list 9 }}
{{- $myList = concat $myList $myList2 $myList3 }}
{{- range $myList }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ printf "serviceAccount-%d" . }}
{{- end }}
{{- /*
##### output #####
# apiVersion: v1
# kind: ServiceAccount
# metadata:
# name: serviceAccount-1
# apiVersion: v1
# kind: ServiceAccount
# metadata:
# name: serviceAccount-2
# ...
# kind: ServiceAccount
# metadata:
# name: serviceAccount-9
*/ -}}
# has & index function
{{- if has 4 $myList }}
apiVersion: v1
kind: ServiceAccount
metadata:
# myList[4]
name: {{ printf "myList%d" ( index $myList 4 ) }}
{{- end }}
{{- /*
##### output #####
# apiVersion: v1
# kind: ServiceAccount
# metadata:
# # myList[4]
# name: myList4
*/ -}}
{{- $seqList := seq -2 2 10 }}
{{- $seqList = toString $seqList }}
{{- $seqList = regexSplit " " $seqList -1 }}
{{- range $seqList }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ printf "serviceAccount-%s" . }}
{{- end }}
{{- println $seqList }}
# [-2 0 2 4 6 8 10]
{{- /*
##### output #####
# apiVersion: v1
# kind: ServiceAccount
# metadata:
# name: serviceAccount--2
# apiVersion: v1
# kind: ServiceAccount
# metadata:
# name: serviceAccount-0
# ...
# kind: ServiceAccount
# metadata:
# name: serviceAccount-10
*/ -}}