我有一个工作流程模板,其中有一个新的
spec.arguments.parameters
条目,它是一个字符串 enum
,其中 'true'
和 'false'
作为可能的值。我想用它来有条件地添加一个条目到spec.templates.[some-index].container.args
。我该怎么做呢? (我不想向数组添加空字符串;这会导致问题。)
工作流程模板YAML的相关部分:
# yaml-language-server: $schema=https://raw.githubusercontent.com/argoproj/argo-workflows/v3.5.5/api/jsonschema/schema.json
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
spec:
arguments:
parameters:
- name: create_foo
value: 'true'
enum:
- 'false'
- 'true'
templates:
- name: …
container:
args:
# Somehow add `--foo` if workflow.parameters.create_foo == 'true'
- '--bar'
要根据
args
参数的值有条件地将项目添加到 Argo WorkflowTemplate 中的 create_foo
列表中,您可以将 when
条件与 {{workflow.parameters.create_foo}}
变量结合使用
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
spec:
arguments:
parameters:
- name: create_foo
value: 'true'
enum:
- 'false'
- 'true'
templates:
- name: conditional-step
steps:
- - name: conditionally-add-foo
when: "{{workflow.parameters.create_foo == 'true'}}"
template: add-foo
- name: add-foo
container:
args:
- "--foo"