cue: implement "front-style" list comprehensions
This now also allows any of the non-JSON keywords
to be used as references. Previously, these were already
supported as field names.
Issue #339
Issue #165
Change-Id: I721d054c8220ba3536f680fe2e3e502a62f99b6b
Reviewed-on: https://cue-review.googlesource.com/c/cue/+/5683
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
diff --git a/doc/tutorial/basics/6_expressions/40_listcomp.txt b/doc/tutorial/basics/6_expressions/40_listcomp.txt
index 88eb177..dbc5132 100644
--- a/doc/tutorial/basics/6_expressions/40_listcomp.txt
+++ b/doc/tutorial/basics/6_expressions/40_listcomp.txt
@@ -11,7 +11,7 @@
The example shows the use of `for` loops and `if` guards.
-- listcomp.cue --
-[ x*x for x in items if x rem 2 == 0]
+[ for x in items if x rem 2 == 0 { x*x } ]
items :: [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
diff --git a/doc/tutorial/kubernetes/README.md b/doc/tutorial/kubernetes/README.md
index 19c86df..4c998e1 100644
--- a/doc/tutorial/kubernetes/README.md
+++ b/doc/tutorial/kubernetes/README.md
@@ -498,13 +498,15 @@
service: "\(k)": {
spec: selector: v.spec.template.metadata.labels
- spec: ports: [ {
- Port = p.containerPort // Port is an alias
- port: *Port | int
- targetPort: *Port | int
- } for c in v.spec.template.spec.containers
+ spec: ports: [
+ for c in v.spec.template.spec.containers
for p in c.ports
- if p._export ]
+ if p._export {
+ Port = p.containerPort // Port is an alias
+ port: *Port | int
+ targetPort: *Port | int
+ }
+ ]
}
}
EOF
@@ -856,7 +858,7 @@
$ cat <<EOF > kube_tool.cue
package kube
-objects: [ x for v in objectSets for x in v ]
+objects: [ for v in objectSets for x in v { x } ]
objectSets: [
service,
@@ -891,8 +893,9 @@
command: ls: {
task: print: cli.Print & {
text: tabwriter.Write([
- "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
- for x in objects
+ for x in objects {
+ "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
+ }
])
}
@@ -1176,7 +1179,7 @@
Arguments can be specified as a map.
```
arg: [string]: string
- args: [ "-\(k)=\(v)" for k, v in arg ] | [...string]
+ args: [ for k, v in arg { "-\(k)=\(v)" } ] | [...string]
```
If order matters, users could explicitly specify the list as well.
@@ -1281,7 +1284,7 @@
metadata: labels: x.label
spec: selector: x.label
- spec: ports: [ p for p in x.port ]
+ spec: ports: [ for p in x.port { p } ]
}
}
}
diff --git a/doc/tutorial/kubernetes/manual/services/cloud.cue b/doc/tutorial/kubernetes/manual/services/cloud.cue
index bf86197..e16bbff 100644
--- a/doc/tutorial/kubernetes/manual/services/cloud.cue
+++ b/doc/tutorial/kubernetes/manual/services/cloud.cue
@@ -26,7 +26,7 @@
port: [string]: int
arg: [string]: string
- args: [ "-\(k)=\(v)" for k, v in arg ] | [...string]
+ args: [ for k, v in arg { "-\(k)=\(v)" } ] | [...string]
// Environment variables
env: [string]: string
diff --git a/doc/tutorial/kubernetes/manual/services/k8s.cue b/doc/tutorial/kubernetes/manual/services/k8s.cue
index cefab64..381e483 100644
--- a/doc/tutorial/kubernetes/manual/services/k8s.cue
+++ b/doc/tutorial/kubernetes/manual/services/k8s.cue
@@ -84,13 +84,13 @@
image: X.image
args: X.args
if len(X.envSpec) > 0 {
- env: [ {name: k} & v for k, v in X.envSpec ]
+ env: [ for k, v in X.envSpec {v, name: k} ]
}
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
}]
}
@@ -98,7 +98,11 @@
spec: template: spec: {
if len(X.volume) > 0 {
volumes: [
- v.kubernetes & {name: v.name} for v in X.volume
+ for v in X.volume {
+ v.kubernetes
+
+ name: v.name
+ }
]
}
@@ -106,16 +110,17 @@
// TODO: using conversions this would look like:
// volumeMounts: [ k8s.VolumeMount(v) for v in d.volume ]
if len(X.volume) > 0 {
- volumeMounts: [ {
- name: v.name
- mountPath: v.mountPath
- if v.subPath != null | true {
- subPath: v.subPath
+ volumeMounts: [
+ for v in X.volume {
+ name: v.name
+ mountPath: v.mountPath
+ if v.subPath != null | true {
+ subPath: v.subPath
+ }
+ if v.readOnly {
+ readOnly: v.readOnly
+ }
}
- if v.readOnly {
- readOnly: v.readOnly
- }
- } for v in X.volume
]
}
}]
diff --git a/doc/tutorial/kubernetes/manual/services/kube_tool.cue b/doc/tutorial/kubernetes/manual/services/kube_tool.cue
index b41cea0..0ca9d0f 100644
--- a/doc/tutorial/kubernetes/manual/services/kube_tool.cue
+++ b/doc/tutorial/kubernetes/manual/services/kube_tool.cue
@@ -1,6 +1,6 @@
package kube
-objects: [ x for v in objectSets for x in v ]
+objects: [ for v in objectSets for x in v { x } ]
objectSets: [
kubernetes.services,
diff --git a/doc/tutorial/kubernetes/manual/services/ls_tool.cue b/doc/tutorial/kubernetes/manual/services/ls_tool.cue
index d82e2af..d5739ba 100644
--- a/doc/tutorial/kubernetes/manual/services/ls_tool.cue
+++ b/doc/tutorial/kubernetes/manual/services/ls_tool.cue
@@ -6,8 +6,10 @@
task: print: {
kind: "print"
Lines = [
- "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
- for x in objects ]
+ for x in objects {
+ "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
+ }
+ ]
text: strings.Join(Lines, "\n")
}
}
diff --git a/doc/tutorial/kubernetes/quick/services/kube.cue b/doc/tutorial/kubernetes/quick/services/kube.cue
index bf6ae39..394b15e 100644
--- a/doc/tutorial/kubernetes/quick/services/kube.cue
+++ b/doc/tutorial/kubernetes/quick/services/kube.cue
@@ -95,12 +95,14 @@
service: "\(k)": {
spec: selector: v.spec.template.metadata.labels
- spec: ports: [ {
- Port = p.containerPort // Port is an alias
- port: *Port | int
- targetPort: *Port | int
- } for c in v.spec.template.spec.containers
+ spec: ports: [
+ for c in v.spec.template.spec.containers
for p in c.ports
- if p._export ]
+ if p._export {
+ Port = p.containerPort // Port is an alias
+ port: *Port | int
+ targetPort: *Port | int
+ },
+ ]
}
}
diff --git a/doc/tutorial/kubernetes/quick/services/kube_tool.cue b/doc/tutorial/kubernetes/quick/services/kube_tool.cue
index 929ad34..b9c92f3 100644
--- a/doc/tutorial/kubernetes/quick/services/kube_tool.cue
+++ b/doc/tutorial/kubernetes/quick/services/kube_tool.cue
@@ -1,6 +1,6 @@
package kube
-objects: [ x for v in objectSets for x in v ]
+objects: [ for v in objectSets for x in v { x } ]
objectSets: [
service,
diff --git a/doc/tutorial/kubernetes/quick/services/ls_tool.cue b/doc/tutorial/kubernetes/quick/services/ls_tool.cue
index 1c73beb..7fc5231 100644
--- a/doc/tutorial/kubernetes/quick/services/ls_tool.cue
+++ b/doc/tutorial/kubernetes/quick/services/ls_tool.cue
@@ -9,8 +9,9 @@
command: ls: {
task: print: cli.Print & {
text: tabwriter.Write([
- "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
- for x in objects
+ for x in objects {
+ "\(x.kind) \t\(x.metadata.labels.component) \t\(x.metadata.name)"
+ }
])
}
diff --git a/doc/tutorial/kubernetes/testdata/manual.out b/doc/tutorial/kubernetes/testdata/manual.out
index e13b62f..4f0b732 100644
--- a/doc/tutorial/kubernetes/testdata/manual.out
+++ b/doc/tutorial/kubernetes/testdata/manual.out
@@ -27,17 +27,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -46,13 +47,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -98,17 +100,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -117,13 +120,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -284,17 +288,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -303,13 +308,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -473,17 +479,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -492,13 +499,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -659,17 +667,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -678,13 +687,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -845,17 +855,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -864,13 +875,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -1034,17 +1046,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -1053,13 +1066,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -1220,17 +1234,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -1239,13 +1254,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -1409,17 +1425,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -1428,13 +1445,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -1480,17 +1498,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -1499,13 +1518,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -1651,17 +1671,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -1670,13 +1691,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2000,17 +2022,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2019,13 +2042,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2248,17 +2272,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2267,13 +2292,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2471,17 +2497,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2490,13 +2517,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2665,17 +2693,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2684,13 +2713,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2877,17 +2907,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2896,13 +2927,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -2948,17 +2980,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -2967,13 +3000,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -3255,17 +3289,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -3274,13 +3309,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -3559,17 +3595,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -3578,13 +3615,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -3842,17 +3880,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -3861,13 +3900,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -4124,17 +4164,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -4143,13 +4184,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -4410,17 +4452,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -4429,13 +4472,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -4696,17 +4740,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -4715,13 +4760,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -4929,17 +4975,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -4948,13 +4995,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -5029,17 +5077,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -5048,13 +5097,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -5316,17 +5366,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -5335,13 +5386,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -5569,17 +5621,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -5588,13 +5641,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -5836,17 +5890,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -5855,13 +5910,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -6555,17 +6611,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -6574,13 +6631,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -6626,17 +6684,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -6645,13 +6704,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -6942,17 +7002,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -6961,13 +7022,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -7152,17 +7214,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -7171,13 +7234,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {
@@ -7792,17 +7856,18 @@
name: X.name
image: X.image
args: X.args
- ports: [ {
+ ports: [ for k, p in X.expose.port & X.port {
name: k
containerPort: p
- } for k, p in X.expose.port & X.port ]
+ } ]
if len(X.envSpec) > 0 {
- env: [ {
+ env: [ for k, v in X.envSpec {
name: k
- } & v for k, v in X.envSpec ]
+ v
+ } ]
}
if len(X.volume) > 0 {
- volumeMounts: [ {
+ volumeMounts: [ for v in X.volume {
name: v.name
mountPath: v.mountPath
if v.subPath != null | true {
@@ -7811,13 +7876,14 @@
if v.readOnly {
readOnly: v.readOnly
}
- } for v in X.volume ]
+ } ]
}
}]
if len(X.volume) > 0 {
- volumes: [ v.kubernetes & {
+ volumes: [ for v in X.volume {
name: v.name
- } for v in X.volume ]
+ v.kubernetes
+ } ]
}
}
metadata: {